Se ha denunciado esta presentación.
Se está descargando tu SlideShare. ×

영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014

Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio

Eche un vistazo a continuación

1 de 67 Anuncio

Más Contenido Relacionado

Presentaciones para usted (20)

A los espectadores también les gustó (20)

Anuncio

Similares a 영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014 (20)

Más reciente (20)

Anuncio

영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014

  1. 1. 영웅의 군단의 테크니컬 아트 Mobile MMORPG
  2. 2. 황재철 Ndoors TS팀 Tachnical Artist 9년차 개발자 2012 KGC 강연 직군 변화 Modeler -> Animator -> Technical Artist 개발 게임 군주 / 아틀란티카 / 삼국지를 품다 / 영웅의 군단 블로그 http://hwanggoon.tistory.com/
  3. 3. 오늘 할 이야기? “영웅의 군단”어떤 기준으로 만들어 졌는지 알아보자 게임 프로그래밍에 관한 내용은 아님
  4. 4. PC Mobile 시장의 변화
  5. 5. PC Mobile 시장의 변화
  6. 6. PC 와 Mobile에서 돌아가는 “삼국지를 품다”로 가능성을 보았다. Mobile에서 MMORPG를...
  7. 7. PC 와 Mobile에서 돌아가는 “삼국지를 품다”로 가능성을 보았다. Mobile에서 MMORPG를... 그분께서..
  8. 8. 최고의 그래픽을 보여줄 수 있는 Mobile MMORPG을 만들어야 겠어!! 게임의 목표
  9. 9. 이번에는 카메라도 자유롭게 넓은 필드도 있어야겠지 다양한 캐릭터도 보여줘야 해 게임의 목표
  10. 10. 이번에는 카메라도 자유롭게 넓은 필드도 있어야겠지 다양한 캐릭터도 보여줘야 해 게임의 목표
  11. 11. 이번에는 카메라도 자유롭게 넓은 필드도 있어야겠지 다양한 캐릭터도 보여줘야 해 게임의 목표
  12. 12. 삼국지를 품다 와는 분명 다르다 새로운 기준이 필요해
  13. 13. 삼국지를 품다 와는 분명 다르다 새로운 기준이 필요해 Mobile 기기를 선정하는 것이 최우선
  14. 14. Mobile 기기를 정하는 것이 최우선 지금은 최신형 모델이겠지만 개발이 완료될 시점에는 보편화된 모델이 될 거야
  15. 15. 지금은 최신형 모델이겠지만 개발이 완료될 시점에는 보편화된 모델이 될 거야 Galaxys3 너로 결정했다!!
  16. 16. Galaxys3 너로 결정했다!! 모델이 정해졌다면 프로토타입 제작
  17. 17. 프로토타입
  18. 18. 프로토타입을 바탕으로 가이드 라인을 만들자
  19. 19. 기준을 잡기 위한 삽질들…
  20. 20. Draw Calls 의 중요성 퍼포먼스에 Draw Calls이 미치는 영향
  21. 21. 퍼포먼스 어떻게 배분해야 할까?
  22. 22. 믿을 수 있는 건 경험에서 나오는 감뿐..
  23. 23. 배경 50% 캐릭터 20% 이펙트 15% UI 15% 0% 0% Drawcall 로직 40% 배경 24% 캐릭터 16% 이펙트 8% UI 12% 0% CPU 각 파트별 배분
  24. 24. 카메라 가장 먼저 해야 할 설정이 FOV를 잡는 것이다 FOV 45
  25. 25. 카메라 FOV 30 가장 먼저 해야 할 설정이 FOV를 잡는 것이다
  26. 26. 캐릭터 최대 30마리까지 출현 Texture : 512 X 512 1장 Face : 1000 ~ 1500 개 Bone 20 ~ 30 개
  27. 27. Bone Bone : 20 ~ 30 개 Animation : 9 ~ 20개 Bone 21개Biped 26개 제외 된 Bone Neck 1개 / Clavicle 2개 / Toe 2개 재구성
  28. 28. Animation 최적화 Sample Rate를 30으로 하자 - 60Frame은 이미 포기한지 오래다! - 용량최적화 Animation Clip 용량을 줄이자 Reduction - Rotation Error : 1 (기본값 0.5) - Position Error : 2 (기본값 0.5) - Scale Error : 2 (기본값 0.5) - 30% 정도의 줄임 Compression 미사용 - Prop Animation에 문제가 있어 사용하지 않음
  29. 29. 배경 Draw Calls Verts Static Batching Dynamic Batching Light Map 실시간 Light Light Probes 실시간 Light : 배경은 움직이는 Object가 없어, 실시간 Light를 사용하지 않음 Light Probes : 필드 형태의 지형이 많아 Light Probes 작업 효율에 비해 효과가 낮음 100 이하 75K ○ ○ ○ X X
  30. 30. Terrain Unity Terrain - 타일 텍스쳐, 풀 & 나무 배치, 지형 LOD 등
  31. 31. 그런데 Unity Terrain을 번들로 불러오면 Terrain 인식에 문제가 생겼다 (메모리도 좀..) Terrain Unity Terrain - 타일 텍스쳐, 풀 & 나무 배치, 지형 LOD 등
  32. 32. Mesh방식으로 가자 - 유니티 터레인의 이점을 활용 할 수 있는 방법을 모색하자 Terrain 그런데 Unity Terrain을 번들로 불러오면 Terrain 인식에 문제가 생겼다 (메모리도 좀..) Unity Terrain - 타일 텍스쳐, 풀 & 나무 배치, 지형 LOD 등
  33. 33. 유니티에서 터레인 제작 -> Mesh로 변환 -> Max에서 Verts 최적화 Unity Terrain 최적화 Mesh Terrain
  34. 34. 타일링 유지 – Terrain Resolution을 이용해 타일링 유지 4 Channel Mask Terrain
  35. 35. Terrain Mobile에 타일링 적용
  36. 36. 리소스 제작은 순조롭게 진행 되었다
  37. 37. 그때까지는..
  38. 38. 리소스가 어느 정도 나왔 으니 이제부터 본격적으로 프 로파일링을 시작해 볼까~
  39. 39. Profiling
  40. 40. FPS 6 가장 무거운 Scene Draw Call 413
  41. 41. 프로젝트가 진행되다 보면 초기 설정한 기준과 많은 부분 달라진다
  42. 42. 프로젝트가 진행되다 보면 초기 설정한 기준과 많은 부분 달라진다 이건 자연스러운 현상이니 받아드려라
  43. 43. 이건 자연스러운 현상이니 받아드려라 최적화 진행
  44. 44. 최적화 진행 (시간관계 상 자세한 내용은 생략한다) Quality를 유지 하면서 최적화 하기엔 한계가 있었다
  45. 45. Quality를 유지 하면서 최적화 하기엔 한계가 있었다 대안은 Mobile Quality Manager
  46. 46. Camera Culling Mask Draw Calls을 줄이기 위해 Object의 크기 별 Layer 설정 - SMALL_OBJECT - MEDIUM_OBJECT - LARGE_OBJECT Quality Setting Quality는 3단계 Post Effects - Bloom Shader LOD 사용 - Water, Characters
  47. 47. Quality HIGH Draw Calls : 124 Verts : 97.8k Used Textures : 34 – 5.2MB Draw Calls : 59 Verts : 53.7k Used Textures : 31 – 4.9MB
  48. 48. Quality MEDIUM Draw Calls : 109 Verts : 68.8k Used Textures : 30 – 3.9MB Draw Calls : 43 Verts : 26.5k Used Textures : 29 – 3.6MB
  49. 49. Quality LOW Draw Calls : 94 Verts : 48.3k Used Textures : 28 – 2.8MB Draw Calls : 41 Verts : 20.6k Used Textures : 28 – 1.9MB
  50. 50. Post Effects Mobile Bloom Quality HIGH
  51. 51. 여기서 한가지 더
  52. 52. 여기서 한가지 더 Mobile Game을 개발한다면 고려해야 하는 것이 한가지 더 있다
  53. 53. Mobile Game을 개발한다면 고려해야 하는 것이 한가지 더 있다 BATTERY
  54. 54. BATTERY Battery 소모 속도가 빠르다
  55. 55. Battery 소모 속도가 빠르다 Quality 를 LOW로 해도 Battery 소모 속도에 큰 변화는 없다..
  56. 56. Game 외적인 요소는 없을까? Quality 를 LOW로 해도 Battery 소모 속도에 큰 변화는 없다..
  57. 57. Game 외적인 요소는 없을까? 바로 너다 Display 밝기
  58. 58. 절전모드 절전 0단 - 절전기능 없음 절전 1단 - FPS 제한 최대 20 - Display 밝기 최대 60 (60보다 낮은 밝기로 플레이하는 유저는 무시) 절전 2단 - FPS 제한 최대 15 - Display 밝기 최대 30 (30보다 낮은 밝기로 플레이하는 유저는 무시) 30보다 내리면 너무 어두워 사용자가 수동으로 올리는 행동을 할 요지가 있음 안드로이드는 CPU Clock을 조절 할 수 있어 이를 내리면 Battery 소모 속도에서 이득을 볼 수 있지 않을까? 하지만 다른 여러 문제가 발생 할 요지가 커 사용하지 않았음
  59. 59. 자동화 작업 공정의 문제 인식 Animation 1개를 만드는 과정
  60. 60. 자동화 5 Animation 5개를 만든다면? 작업 공정의 문제 인식 Animation 5개를 만들기 위해 15개의 File을 관리해야 한다
  61. 61. 자동화 5 Animation 5개를 만든다면? 작업 공정의 문제 인식 Animation 5개를 만들기 위해 15개의 File을 관리해야 한다 관리 포인트의 증가
  62. 62. 자동화 5 Animation 5개를 만든다면? 동작 별 MAX File을 가질 때 불편한 점 - Node가 변경되면 대응하기 힘들다 - Animation Pose 복사 등을 손쉽게 할 수 없다 - Export를 여러 번 해야 한다 작업 공정의 문제 인식
  63. 63. 자동화 어디까지 줄일 수 있을까 줄일 수 없다줄일 수 있다
  64. 64. Export 자동화 MAX Max File 하나에 모든 동작을 잡는다 Max 안에서 동작 별 이 동과 설정을 할 수 있는 Max Script 제공 동작 정보를 FBX 안에 넣어서 Export 해준다 (Export Option 설정도 통일) Custom Attributes - Animation Name - Frame Range - Loop
  65. 65. Import 자동화 Unity FBX 안에 들어있는 정 보 - Animation Name - Frame Range - Loop Import 가 될 때 Unity에 FBX 안에 있는 Properties 값을 알아 낼 수 있다 (OnPostprocessGameObjectWith UserProperties) 이 동작 정보대로 Animation을 분할하면 된다
  66. 66. 자동화 Import 와 동시에 Animation 정보를 바로 설정할 수 없다 그래서 GUID 값을 이용해 데이터를 따로 저장해두자 다시 한번 Import 이벤트가 발생하면 GUID값을 기준으로 Animation 정보를 설정하면 된다 GUID : Unity가 어셋들을 관리하기 위해 부여하는 고유번호 Tip

×