Version: 2022.1
언어: 한국어
익스포트할 모델 파일 준비
애니메이션용 모델 만들기

최적의 성능을 위한 모델 생성

최적의 성능을 위한 모델을 생성하는 데 대한 팁이 여기 몇 가지 있습니다. 다음의 팁 중 일부는 모든 모델에 적용되며 일부는 애니메이션화된 모델에만 적용됩니다.

이러한 기술을 사용하면 모델에 대한 애니메이션과 렌더링 속도를 높이는 데 도움이 될 수 있지만 또한 달성하려는 시각적 정확도와 사실적인 효과를 줄일 수도 있다는 점을 유의해야 합니다. 단 한 가지 정답으로 모든 상황에 대해 보다 나은 성능과 시각적 현실감 사이의 완벽한 조화를 이룰 수는 없습니다. 캐릭터와 씬의 복잡도와 필요한 전체 형상과 현실감에 따라 완벽한 조화를 찾아야 합니다.

폴리곤 수 최소화

사용해야 할 폴리곤 수는 필요한 화질과 타게팅하는 플랫폼에 따라 다릅니다. 다음의 두 가지 대비되는 사실은 모두 참입니다.

  • 메시에 폴리곤을 더 적게 사용할수록 애플리케이션이 더 빠르게 실행됩니다. 이는 모든 버텍스, 가장자리 또는 면에 컴퓨팅 리소스가 필요하기 때문입니다.
  • 메시에 사용하는 폴리곤 수가 늘어날수록 게임 오브젝트의 세밀도와 자연스러움이 향상됩니다. 이는 폴리곤 수가 작으면 모양을 더욱 세밀하게 제어할 수 있기 때문입니다.

또한 리소스를 렌더링하기 위해 경쟁하는 다른 사항을 고려해야 합니다. 게임 오브젝트 또는 터레인 오브젝트가 스크린에 동시에 나오는 경우 메시당 폴리곤 수를 감소하는 것이 좋습니다.

그래픽스 하드웨어가 처리해야 할 실제 버텍스의 숫자는 모델링 애플리케이션에서 알려주는 숫자와 보통 일치하지 않습니다. 모델링 애플리케이션은 일반적으로 지오메트리 버텍스 수, 즉 모델을 구성하는 각 모서리 지점의 수를 나타냅니다. 하지만 그래픽 카드에서 일부 지오메트리 버텍스는 렌더링 목적으로 둘 또는 그 이상의 논리 버텍스로 나눌 필요가 있습니다. 예를 들어 버텍스는 다수의 노멀, UV 좌표나 버텍스 컬러가 있다면 분리되어야 합니다. 결국 Unity에서 버텍스 숫자는 보통 3D 애플리케이션에서 계수하는 것보다 클 수 밖에 없습니다.

최소한의 머티리얼 사용

각 모델의 머티리얼 수를 최대한 적게 유지합니다. 다른 부분마다 서로 다른 셰이더를 사용해야 할 때만 한 캐릭터에 머티리얼을 둘 이상 사용합니다. 예를 들어 캐릭터 모델의 눈에는 특수 셰이더를 사용할 수 있습니다.

단일 스킨드 메시 사용

스킨드 메시 렌더러를 사용하는 애니메이션화된 캐릭터 모델의 경우 각 캐릭터에 이러한 컴포넌트를 사용해야 합니다. Unity의 애니메이션 시스템은 가시성 컬링과 바운딩 볼륨 업데이트를 사용하여 애니메이션을 최적화합니다. 모델에 하나의 애니메이션 컴포넌트와 하나의 스킨드 메시 렌더러를 사용하는 경우에만 이러한 최적화를 활성화합니다.

단일 스킨드 메시를 대신해서 두 개의 스킨드 메시를 사용하면 모델을 렌더링하는 시간이 대략 두 배가 될 수 있으며 다수의 메시를 사용하는 데 대한 실질적인 이점이 거의 없습니다.

최소한의 뼈대 사용

일반적으로는 뼈대를 더 적게 사용할수록 성능이 더 좋습니다. 하지만 커스터마이즈할 수 있는 부착물이 많이 필요한 경우처럼 많은 수의 뼈대를 사용하여 캐릭터 모델을 만들어야 할 때도 있습니다. 이렇게 뼈대 수가 많아지면 빌드 크기가 커지고 뼈대가 추가될 때마다 처리하는 데 리소스가 상대적으로 더 많이 사용될 수 있습니다. 예를 들어 이미 30개의 뼈대가 있는 릭에 뼈대를 15개 더 추가하면 Unity가 제너릭 모드에서 50% 더 많은 동작을 처리해야 하므로 처리 시간에 영향을 줄 수 있습니다.

제너릭휴머노이드 타입의 경우에만 뼈대를 추가할 수 있습니다. 추가 뼈대를 사용하여 플레이되는 애니메이션이 없으면 프로세싱 부하는 무시할 만한 수준입니다. 부착물이 존재하지 않거나 숨겨져 있다면 부하가 훨씬 더 줄어듭니다.

For performance reasons, use linear blend skinning with a maximum of four influences per vertex. However, some 3D modeling applications allow more than four bones to influence vertices, so you have to weigh the performance cost against greater control.

순운동학과 역운동학 분리

Unity가 애니메이션을 임포트할 때 모델의 역운동학적(IK) 노드를 순운동학(FK)으로 베이크하며 따라서 Unity는 IK 노드가 전혀 필요하지 않습니다. 그러나 모델에 남을 경우 애니메이션에는 영향을 미치지 않더라도 여전히 Unity에서는 계산에 포함됩니다. Unity 또는 3D 모델링 애플리케이션에 있는 불필요한 IK 노드를 삭제할 수 있습니다. IK 노드 제거를 더 쉽게할 수 있도록 모델링 동안 IK와 FK 계층 구조를 분리해 둡니다.

익스포트할 모델 파일 준비
애니메이션용 모델 만들기