Animation, Animator에 대해 잘 모르는 것 같다..
게임에서 캐릭터의 애니메이션은 중요한데, 이제야 몇 가지 알아가고 있다.
얼마전에 알게 된 것들은
- 런타임에 애니메이터에 설정된 AnimatorController를 바꾸려면
RuntimeAnimatorController를 설정하면 된다.
- 하나의 state안에 SubState들을 만들 수 있는데, 그럼 하나의 state 안에서도 더 여러 단계로 세밀하게? Animation을 설정할 수 있다.
-> 메인 state machine에는 Idle, Jump, Run 이런 큼직한 것만 써두고,
Jump 안에 JumpIdle, JumpMove등의 sub state를 포함시키면,
main state machine 에 다 몰아두는 것보다 각 state들을 구분하기에도 편할 것이라고 한다.
서론이 길었는데,,
AnimationCullingType 이라는 걸 처음 알게되서 짧지만 기억해두려고 남겨본다.
AnimationCullingType
- AlwaysAnimate : 애니메이션 컬링이 disabled로 설정되면 화면 밖에서도 오브젝트의 애니메이션은 재생됨
- BasedOnRenderers : 렌더러(renderers)가 보이지 않는 경우 애니메이션은 disabled로 설정됨
여기에서 특히 두 번째 설정은 카메라 영역 안에 mesh가 있을 때 애니메이션이 플레이되니까 최적화에 더 좋아보인다.
근데 검색해보니 이펙트 애니메이션에 적용할 경우 비활성화 동안 애니메이션이 플레이되지 않기 때문에
정상 출력되지 않을 수도 있다 하니 이펙트에는 주의해서 사용해야할 것 같다.
참고
https://docs.unity3d.com/kr/530/ScriptReference/AnimationCullingType.html