[Unity]09.휴머노이드 애니메이션


안녕하세요 유랑입니다.



오늘은 새롭게 유니티짱을 이용해 휴머노이드에 대해 배워보겠습니다.

레거시와는 다른 메카님 휴머노이드는 무엇일까 알아보겠습니다.




1. 휴머노이드 



메카님 애니메이션 타입인 휴머노이드는 이름 그대로 사람모양의 본을 이용해 동작을 구현합니다.

장점은 15개 이상의 본을 가지고 있으면 다양한 애니메이션으로 내 캐릭터를 동작시킬 수 있다는 점입니다.

메카님은 제너릭과 휴머노이드가 있는데, 제너릭은 비인간형 모델이라고 생각하시면 됩니다.




1-1) 휴머노이드 설정



유니티 공식 캐릭터 유니티짱을 받아보겠습니다. 단축키 Ctrl +9를 이용하거나 툴바 Window => General => Asset Store를 실행시켜 다운받아 주세요. 캐릭터는 무료이고 이름은 다음과 같이 검색하시면 되겠습니다.






받아온 파일을 정리 후 유니티짱을 하이어라키뷰에 옮겨 놓겠습니다.

그러면 씬뷰에서 확인가능합니다.





Rig => Animation Type을 보시면 Legacy라고 설정되어 있을텐데 Humanoid로 바꿔주겠습니다.

과연 제대로 움직일 수 있는 확인해 보겠습니다. Configure를 클릭해 주세요.





우측 화면을 보시면 완전한 동그라미는 필수 본들이고, 나머지는 없어도 되는 본들입니다.

초록색으로 보여지기에 제대로 들어왔다고 생각할 수 있습니다.

그래도 궁금하시다면 Muscles & Settings로 들어가 움직여 보겠습니다.





씬뷰에서는 연결된 본들이 보이고 Muscles & Settings에서 본들을 움직여 볼 수 있습니다.

수치값들을 변경해 보면서 구동되는지 확인해 보세요^^







1-2) 애니메이터



프로젝트뷰에서 마우스 우측 버튼 Create => Animator Controller를 만들고 

PlayerAnimator로 이름을 수정하겠습니다. 

좌측에는 애니메이터 내용이 보입니다. 

유니티짱 이름을 Player로 바꿔주고 Animator Controller안에 방금 만든 PlayerAnimator를 넣어줍시다. 

Base Layer안에 들어있는 Entry, Any State, Exit 빼고 전부 삭제해 줍니다.

여기는 캐릭터의 유한상태머신(정지, 이동, 공격)을 다룬다고 보시면 됩니다.





받아온 파일 안에는 유니티짱의 애니메이션들이 들어있습니다.

Idle을 드래그앤 드랍을 해서 Animator Base Layer에 옮겨 봅시다.

그러면 주황색을 바뀌게 되고 Entry가 연결됩니다.

게임을 시작시키면 Idle로 동작하라는 것입니다.





게임 시작을 하면 오잉 그런데 유니티짱이 바닥 밑으로 가라앉았네요.

이유는 캐릭터뿐만 아니라 애니메이션도 Humanoid로 변경시켜줘야 되기 때문입니다.





Humanoid로 바꾸고 Apply를 눌러줍니다.





이제 유니티짱이 기본자세를 잡는걸 볼 수 있습니다.






1-3) 이동 구현



Animaotr에서 Run State를 추가하여 이동을 구현시켜 보겠습니다.

우선 Run Animation을 추가해 주세요.

물론 Humanoid로 변경시켜야 됩니다.

그리고 마우스 우측버튼을 눌러 Set as Layer Default State로 설정해보겠습니다.






동작시키면 움직이기는 하지만 위로 올라가거나 앞으로 가지실 겁니다.

이유는 유니티에서 움직일 수 있는 기능은 Transform 조절과 Rigidbody를 통한 물리효과입니다.

애니메이션은 Transform을 통한 이동에 속해서 Apply Root Motior를 해제하여야 이동하지 않게됩니다.





이동 스크립트는 다음과 같습니다.

Translate를 이용해서 이동시키는 방법입니다.







상화좌우 키를 이용하면 이동하면서 뛰는 모션을 취할거에요.

하지만 정지하거나, 공격, 방어 등 다양한 애니메이션을 취하지는 못합니다.

그 부분에 대해서는 다음시간에 Animator를 설정 해 구현해 보겠습니다.






2. 마무리



오늘 강의는 여기까지입니다.

유니티짱을 만들고 Humanoid 메카님을 배워보았는데요.

다음 시간에는 간단한 유한상태머신을 구성해 다양한 동작을 구현해 보겠습니다.

오늘도 고생하셨습니다.

감사합니다.




수업자료: https://github.com/YouRang12/-Tistory-Unity---Basic


댓글

Designed by JB FACTORY