애니메이터의 state의 motion(clip) 코드로 변경해주기
private Animator animator;
private AnimatorOverrideController animatorController;
private void Awake(){
animator = transform.GetChild(0).GetComponent<Animator>();
//animator를 복제하여 animatorController 만들기
animatorController = new AnimatorOverrideController(animator.runtimeAnimatorController);
//animator에 복제된 animatorController 연결 -> 원본이 아닌 복제본 사용하게 됨
animator.runtimeAnimatorController = animatorController;
}
public void SetGhost(){
foreach (var clip in animatorController.animationClips)
{
if (clip.name == DataManager.Instance.blockDict[id].failSequence)
{
animatorController[DataManager.Instance.blockDict[id].failSequence] = SuccessSequence;
}
}
}
기존의 AnimatorController를 복제해 그 곳에 연결된 AnimationClip만 다른 것으로 바꾸는 클래스