목차
최적화된 캐릭터 모델링
Skinned Mesh Renderer 사용하기
사용자 캐릭터는 하나의 skinned mesh renderer를 사용하여야 합니다. 보통 하나의 캐릭터를 위해 여러개의 메쉬를 사용할 필요는 없습니다. 유니티에서도 하나의animation component와 하나의skinned mesh renderer가 같이 사용될 때 어떤 것을 보여주는지 선택하고 경계를 정하는 지에 관련된 최적화 기능을 가지고 있습니다. 성능을 고려한다면 캐릭터당 다수의 스킨이 있는 메쉬는 좋은 선택이 _아닙니다_. 한 캐릭터에 두개의skinned mesh renderers를 사용한다면 캐릭터를 렌더링하기 위해 두배의 시간이 들 것입니다!
여러 재료(Material)를 사용하지 마세요
메쉬에서 가능한 적은 수의 materials를 사용하여야 할 것입니다. 한 캐릭터에서 한가지 이상의 재료를 사용하기 위한 이유는 다른 그림자(예를 들어 눈을 위한 특별한 그림자 사용을 원할 때)를 사용하기 위한 이유 한가지 뿐입니다. 그러나 대부분의 경우 캐릭터당 2-3 개의 재료가 충분할 것입니다. 만약 캐릭터가 총을 가지고 있다면 그 총이 분리 될수도 있으므로 총은 다른 객체로 정의하는 것이 유용할 것입니다.
뼈대의 양을 줄이세요
보통의 데스크탑 게임은 15-60정도의 뼈대를 가진 구조를 사용합니다. 적은 수의 뼈대를 사용할 수록 더 빨라집니다. 30개의 뼈대로 데스크탑 플랫폼
과 모바일 플랫폼
에서 상당히 괜찮은 결과를 보여줄 수 있습니다. 정말 필요한 경우가 아니면 모바일 플랫폼
에선 30개보다 적은 데스크탑 플랫폼
에서는 30개 정도의 빼대를 사용하기를 권장합니다.
다각형의 개수
다각형을 몇 개를 사용하여야 하는 것은 사용될 플랫폼과 필요로하는 퀄리티에 때라 달라집니다. 모바일 플랫폼
에서 300-1500개의 삼각형 데스크탑 플랫폼
에서는 500-6000개의 삼각형이 적당합니다. 화면에 많은 수의 캐릭터를 원하거나 오래된 시스템어서 돌리길 원하면 각 캐릭터별 다각형의 개수를 줄여야 할 것입니다. 예를 들어, Half Life2의 캐릭터들은 2500-5000개의 삼각형을 사용하였습니다. PS3나 Xbox360에서의 차세대 AAA게임들은 5000-7000의 삼각형으로 만든 캐릭터를 가지고 있습니다.
IK 의 FK 구분
Inverse kinematics (IK) 와 forward kinematics (FK)를 구분하세요. 애니메이션을 불러올 때 IK 노드들은 FK로 구워집니다. 그러므로 유니티는 IK노드 자체를 필요로하지 않습니다. 유니티에서 GameObjects
를 제거하거나 모델링 툴의 노드를 제거할 수 있습니다. 그것을 제거함으로써 IK노드들이 더이상 매 프래임당 다시 애니메이션화 할 필요가 없어집니다. 이런 이유로 IK와 FK를 같이 섞여 있는 계층을 가지는 것은 정말 좋지 않은 생각 입니다. 대신 하나의 IK만을 위한 계층과 하나의 FK만을 위한 계층을 만들어야 합니다. 이런 방법으로해야 모든 IK계층을 쉽게 제거할 수 있습니다.
재사용 가능한 Rig 사용하기
재사용 가능한 rig을 만드십시오. 이것은 사용자가 다른 캐릭터간 애니메이션을 공유하게 하는 것을 가능하게 합니다.
뼈대의 이름을 정확히 만듭니다
뼈대의 이름을 정확히 만듭니다 (왼쪽 힙, 왼쪽 발목, 왼쪽 발, 등등). 특히 캐릭터에서 뼈대의 이름을 정확히 하는 것은 정말 중요합니다. 예를 들어 만약 사용자가 하나의 캐릭터를 Ragdoll로 바꾼다면 각 몸체를 위해 맞는 뼈대를 찾아야 할 것입니다. 이름이 정확하지 않다면 모든 몸체를 찾는데 많은 시간이 걸릴 것입니다.
- 출처: 유니티코리아위키 (CC BY-NC-SA 2.0)