-
Notifications
You must be signed in to change notification settings - Fork 2
Animation Optimization
JungSu Kim edited this page Jan 26, 2016
·
1 revision
- 많은 본을 사용하여 캐릭터를 만들어야 하는 경우가 있습니다.
- (예를 들면 커스텀 가능한 부착물(Attachments)들) 이 경우, 필요한 추가 본의 수에 따라 빌드 크기가 커져, 추가 본 수에 비례하여 처리 비용이 늘어날 것으로 생각해야 합니다.
- 예를 들어, Generic 모드에서 이미 30의 본이 있는 Rig에 15의 본을 추가하면 50%의 추가 시간이 소요됩니다.
- Generic 및 Humanoid모드에서 추가 본을 가질 수 있음을 유의하십시오.
- 추가 본을 사용하고 있어도 재생 할 애니메이션이 없는 경우, 처리 비용의 증가는 무시할 수 있는 정도입니다.
- 부착물(attachmets)이 존재하지 않거나 숨어있는 경우에는 추가 처리 비용은 낮아집니다.
- 가능한 한 스킨 메쉬는 결합(combine)하십시오.
- 캐릭터를 두개의 스킨 메쉬 렌더러(class-SkinnedMeshRenderer)로 나누는 것은 퍼포먼스 관점에서는 좋은 일이 아닙니다.
- 캐릭터에 하나의 메터리얼을 사용하는게 더 좋지만, 실제로는 여러 메테리얼이 필요한 경우가 존재합니다.
- 애니메이터/Animator는 [컨트롤러/Controller (class-AnimatorController)가 설정되어 있지 않으면 처리 시간이 증가하지 않습니다.
- 블렌딩이 없는 하나의 애니메이션 클립를 재생하면 메카님이 레거시 애니메이션 시스템보다 느려질 수 있습니다.
- 오래된 시스템은 직접적이며, 커브를 샘플링하여 Transform에 직접 기록을 실행하고 있습니다.
- 메카님은 블렌딩에 사용하는 임시 버퍼가 있으며, 샘플링된 커브 및 기타 데이터의 복제가 발생합니다.
- 메카님 레이아웃은 애니메이션 블렌딩과 보다 복잡한 설정에 최적화 되어 있습니다.
- Animating scale curves is more expensive than animating translation and rotation curves. To improve performance, avoid scale animations.
- 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.
- 메카님 처리 시간의 대부분은 애니메이션의 평가에 사용되고 있기 때문에, AnimationLayers 및 AnimationStateMachines의 오버 헤드는 최소한으로 유지 됩니다.
- 추가 레이어를 애니메이터에 추가하는 비용은 동기화되어 있는지 여부에 상관없이 어떤 애니메이션 및 블렌드 트리가 레이어에 의해 재생되고 있는지에 의존하고 있습니다.
- 레이어 웨이트가 제로면 레이어의 업데이트는 생략됩니다.
- 휴모노이드 에니메이션을 임포트할 때, 바디 마스크를 사용하여 IK Goals 또는 불필요한 손가락의 에니메이션을 제외 함
- Generic을 사용하는 경우 root motion을 사용하면 처리 부하가 증가. root motion을 사용하지 않는 에니메이션의 경우 root bone이 선택되어 있지 않은지 확인
- Animator의 파라미터를 쿼리할 때는 문자열 대신에 해시(Hash)를 사용함
- Animator를 제어하는 AI 레이어를 축소 구현함. OnStateChange, OnTransitionBegin 등등을 위해 간단한 콜백이 제공됨
- State 태그를 사용하여 AI 상태 머신이 메카님 상태 머신에 일치하도록 함
- 이벤트를 시뮬레이션하기 위해 추가적인 커브를 사용함
- 추가적인 커브를 사용하여 에니메이션을 마크업(Mark Up)함. Target Matching과 함께 사용
- 에니메이터 Culling Mode를 Based on Renderers로 설정하여 스킨 메쉬 렌더러의 Update When Offscreen 프로퍼티를 해제함으로써 에니메이션을 항상 최적화 할 수 있음
- 결과적으로 캐릭터가 표시되지 않을 때는 Update되지 않음
- UNITE Conference
- Unity5 Features
- Unity 2D
- Unity AI
- Unity Animation
- Unity AR(Augmented Reality)
- Unity Assets
- Unity Build
- Unity Cache Server
- Unity Crypto
- Unity Debug
- Unity Easing
- Unity Editor
- Unity Effects
- Unity External Device
- Unity Game Decompile
- Unity Game Logic
- Unity Graphics
- Unity Hardware
- Unity HoloLens
- Unity Library
- Unity Lighting
- Unity Live2D
- Unity Networking
- Unity Optimization
- Unity Particle System
- Unity Physics
- Unity Precedural
- Unity Profiler
- Unity Rendering
- Unity Service
- Unity Shader
- Unity Testing
- Unity Variation
- Unity Windows
- Unity Things