공부/Unity

[unity]Spine 애니메이션 Animator로 컨트롤하기

개발의 피 2023. 11. 25. 23:51

사용하게 된 에셋이 스파인 애니메이션이 적용돼있어서, 스파인 애니메이션을 다루고 있는데 직접해보는 건 처음이라 많이 헤맸다

 

애니메이션을 변경하는 코드가 실행되는가 (o)

인스펙터 창에서 animation 상태가 변하는가 (o)

게임씬에서 애니메이션 변화가 있는가 (x) ......... ^_ㅠ......

그보다도 애니메이터를 이용하고 싶은데, 연결할 애니메이션이 아무리 찾아봐도 없었다. 

그치만 찾아보니 역시... 방법은 있었고, 기존에 알던 일반적인 애니메이터와는 방식이 달랐다!

 


해결하는데 도움이 된 영상

https://youtu.be/csKBwoSTS9s?si=NDyyPqZILWzt368I

 

<내가 했던 방법(실패)>

애니메이터말고 코드로 작동하는 방식도 가능한데, 왜 실패했는지는 이유를 찾는 중에 애니메이터 방법이 가능하단 걸 알고 변경했다! 

선언, Start에서 불러주기

메소드에서 SetAnimation으로 바꿔주고 싶은 state로 변경... 뭐가 잘못된 거지..?ㅠㅠ

 

<맞는 방법> 영상 캡처 

1. SkeletonData - Generate Mecanim Controller 

프로젝트 창에 새로운 컨트롤러와, 컨트롤러 아래에 애니메이션들이 생성됨!

 

2. 기존 애니메이터 창에서 하던 것 처럼

원하는 대로 애니메이션들을 연결해주고, 모션에 아까 생성된 애니메이션을 넣어줌

 

3. 스켈레톤 데이터를 선택해, 하이러라키 창으로 가져가 SkeletonMecanim 생성

요렇게 게임 오브젝트에 주황색 표시.. SkeletonData 를 의미하는 것 같은 주황색 표시가 생겨야 한다! 

오른쪽 이미지 : 기존 프리팹 - 잘못된 경우 ㅠ / Spine Mecanim GameObject - 옳은 방법