Version: 5.3
휴머노이드 애니메이션 리타게팅
애니메이션 레퍼런스

퍼포먼스 및 최적화(Performance and Optimization)

이 페이지에서는 메카님에서 최고의 퍼포먼스를 확보위한 팁을 제공하고 캐릭터 설정, 애니메이션 시스템, 런타임 최적화에 대해 설명합니다.

캐릭터 설정

골격(Bones)의 수

많은 골격을 사용하여 캐릭터를 만들어야 하는 경우가 있는데, 예를 들면 커스터마이즈할 수 있는 부착물이 많이 필요한 경우입니다. 추가 골격의 수에 따라 빌드 크기가 커져, 추가 골격 수에 비례하여 프로세스 비용이 늘어날 것으로 생각해야 합니다. 예를 들어, Generic 모드에서 이미 30개의 골격이 있는 리그에 15개의 골격을 추가하면 50%의 추가 시간이 소요됩니다. 제너릭휴머노이드 모드에서 추가 골격을 가질 수 있음을 참고하십시오. 추가 골격을 사용하고 있어도 재생하는 애니메이션이 없는 경우, 프로세스 비용의 증가는 무시할 수 있는 정도입니다. 부착물이 존재하지 않거나 숨겨져 있는 경우에는 추가 프로세싱 비용은 더욱 낮아집니다.

멀티플 스킨드 메시

가능하다면 스킨드 메시는 결합하십시오. 캐릭터를 두개의 스킨드 메시 렌더러로 나누는 것은 퍼포먼스 관점에서 좋은 일이 아닙니다. 캐릭터에 하나의 머티리얼을 사용하는 게 더 좋지만, 실제로는 여러 머티리얼이 필요한 경우가 있습니다.

애니메이션 시스템

컨트롤러(Controllers)

애니메이터컨트롤러가 설정되어 있지 않으면 처리 시간이 증가하지 않습니다.

간단한 애니메이션(Animation)

블렌딩이 없는 하나의 애니메이션 클립을 재생하면 메카님이 레거시 애니메이션 시스템보다 느려질 수 있습니다. 오래된 시스템은 직접적이며, 커브를 샘플링하여 트랜스폼에 직접 기록합니다. 메카님은 블렌딩에 사용하는 임시 버퍼가 있으며, 샘플링된 커브 및 기타 데이터의 복제가 발생합니다. 메카님 레이아웃은 애니메이션 블렌딩과 복잡한 설정에 최적화 되어 있습니다.

스케일 커브(Scale Curves)

스케일 커브 애니메이션화에는 이동 애니메이션화와 회전 커브보다 많은 비용이 들어갑니다. 성능을 개선하기 위해서 스케일 애니메이션은 피해야 합니다.

Note: This does not apply to constant curves (curves that have the same value for the length of the Animation Clip ). Constant curves are optimized, and are less expensive that normal curves.

레이어(Layers)

메카님 처리 시간의 대부분은 애니메이션의 평가에 사용되기 때문에, 애니메이션 레이어애니메이션 상태 머신의 오버헤드는 최소한으로 유지됩니다. 또 다른 레이어를 애니메이터에 추가하는 비용은 동기화 여부에 상관없이 어떤 애니메이션 및 블렌드 트리가 레이어에 의해 재생되고 있는지에 따라 다릅니다. 레이어의 가중치가 0이면 레이어 업데이트는 생략됩니다.

휴머노이드(Humanoid) vs 제네릭(Generic) 모드

다음 팁은 모드를 결정하는 데 도움이 됩니다.

  • 휴머노이드 애니메이션을 임포트할 때 BodyMask를 사용하여 IK 골(Goals) 또는 불필요한 손가락의 애니메이션을 제외합니다.
  • 제네릭을 사용할 때 루트 모션 사용은 사용하지 않는 것 보다 훨씬 비용이 많이 듭니다. 애니메이션이 루트 모션을 사용하지 않는다면 선택된 루트 골격이 없게 해야 합니다.

메카님 씬(Mecanim Scene)

최적화할 수 있는 요소는 많으며, 몇 가지 유용한 팁은 다음과 같습니다.

  • 애니메이터를 쿼리할 때 문자열 대신 해시를 사용합니다.
  • 애니메이터를 조작하기 위해 작은 AI 레이어를 구현합니다. OnStateChange, OnTransitionBegin 등 단순하게 콜백할 수 있는 요소를 제공할 수 있습니다.
  • 상태 태그를 사용해서 쉽게 AI 상태 컴퓨터와 메카님 상태 컴퓨터를 매치시킵니다.
  • 이벤트를 시뮬레이션할 추가 커브를 사용합니다.
  • 추가적인 커브를 사용하여 애니메이션을 마크업합니다. 예를 들면 타겟 매칭과 함께 사용합니다.

런타임 최적화(Runtime Optimizations)

가시성과 업데이트

애니메이터의 컬링 모드를 렌더러 기반으로 설정하고 스킨드 메시 렌더러의 오프스크린 업데이트를 비활성화하는 것으로 항상 애니메이션을 최적화할 수 있습니다. 이런 경우 캐릭터가 보이지 않으면 애니메이션이 업데이트되지 않습니다. 자세한 내용은 스킨드 메시 렌더러를 참조하십시오.

휴머노이드 애니메이션 리타게팅
애니메이션 레퍼런스