💾 코드
protected override void Awake()
{
base.Awake();
_controller = GetComponent<InstallationController>();
_animatorController = new AnimatorOverrideController(animator.runtimeAnimatorController);
animator.runtimeAnimatorController = _animatorController;
}
public void AddAnimation(AnimationClip anim, InstallationAnimType type)
{
_animatorController[type.ToString()] = anim;
// _animatorController.layers[0].stateMachine.states[(int)type + 1].state.motion = anim;
}
📖 참고
참고할 코드 내용
시도: 애니메이션의 스테이트의 애니메이션 클립을 직접수정
해결: 애니메이터 컨트롤러를 관여하여 수정해서 모든 설치물들이 같은 애니메이터를 수정하여 문제발생
알게된것: 애니메이터의 스테이트의 클립을 수정할 시 애니메이터 컨트롤러에 직접 영향을 준다
시도: 런타임오버라이트컨트롤러를 새로만들어서 애니메이션 컨트롤러에 씌우기
해결: 기존 컨트롤러에 영향이 없는걸 확인
알게된것: 애니메이션이 같은 상황에 다른동작을 해야할 때 사용하자
💾 코드
코드내용