게임개발/유니티_문제해결

[유니티_문제해결] 애니메이션이 두 번 재생 되는 경우

메카인 2023. 5. 18. 06:23

과거에도 있던 현상이었는데, 어찌어찌하여 고쳐 저서 신경 안 썼는데 다시 발생해서 해결과정을 글로 써본다.

 

미리 보는 결론 : Any State에서 시작하는 애니메이션은 조건을 Bool 말고 Trigger로 하자

Dash와 Hurt가 두번 실행된다.

 

Idle에서 Run 상태로 가는 Transition이 Bool로 돼있어서 Heart(...)와 Slide를 아무 생각 없이 해줬더니 저렇게 됐다.

그런데 Attack은 제대로 한 번만 실행되었기 때문에 차이점을 찾다가 Transition의 조건이 Trigger인 것을 확인하고,

Heart와 Slide의 Transition의 조건을 Trigger로 바꾸니까 문제없이 실행되었다!

Bool값은 상태 값으로 판단을 해서, 애니메이터에서 AnyState에서 Transition이 Bool형식일 경우 코드에서 한 번 더 실행시키는 것 같다.

따라서 AnyState에서 Transition 변수는 Trigger로 구현해야곘다.

재대로 한번만 실행되는 모습

조금이나마 도움이 되었다면 좋겠다.