본문 바로가기

지식창고/Unity엔진

Unity5 Mecanim Animation Tutorial - Part5-1

반응형

Part5-1. Import 시킨 MMD모션을 Mecanim Animation을 이용하여 구현하기.

 

Mecanim Animation을 이용하여 Animation을 구현하는 법에 대해 알려드리기에 앞서

제가 사용한 Idle 모션은 저작권이 있는 모션으로 함부로 공유해드릴 수 없는 부분 양해 부탁드립니다.

 

Idle 모션 출처 : 블루홀의 여 하이엘프 캐릭터 모션

 

여러분께서는 구글 검색을 통하여 Idle모션을 구하여 적용하여 주시기 바랍니다.

[그림 19]

Idle 모션으로 사용할 애니메이션의 Animation Type를 캐릭터와 마찬가지로 Rig에서

Humanoid로 변경하여 줍니다.

 

변경하여 준 후 그림 20과 같이 Assets에서 우클릭을 하여 Create->Folder를 눌러 새로운 폴더를 생성하여 줍니다.

 

[그림 20]
[그림 21]

저는 폴더별로 나누어 애니메이션, 스크립트 등을 폴더화하여 두기 때문에 해당 방법으로 진행하도록 하겠습니다.

 

그림 21과 같이 새롭게 생성된 폴더의 이름을 01. Animation으로 변경하여 줍니다.

 

[그림 22]

그림 22와 같이 Idle로 사용할 애니메이션의 파일에 오른쪽 정중앙에 있는 화살표를 누르시면 해당 애니메이션 본이 가지고 있는 파일들이 나타나게 되는데 이때 Take 001(여러분이 다운 받으신 파일의 그림 22와 같이 이름은 다르더라도 애니메이션 파일이 포함되어 있을 것입니다)을 클릭한 상태에서 Ctrl + D를 눌러 애니메이션의 복사본을 생성하여 줍니다.

[그림 23]

복사한 애니메이션 파일의 이름을 Idle로 변경하여 줍니다.

 

변경하여 준 후 그림 24와 같이 Idle 애니메이션 파일을 01. Animation 폴더로 드래그 앤 드랍으로 이동시켜 줍니다.

 

[그림 24]

Idle 애니메이션 파일을 해당 폴더로 이동을 시킨 후 01. Animation 폴더를 선택합니다.

 

[그림 25]

마우스 우클릭을 하여 Create -> Animator Controller를 선택하여 새로운 Animator Controller를 생성하여 줍니다.


[그림 26]

새롭게 생성된 Animation Controller의 이름을 Player로 변경하여 줍니다.


[그림 27]

Player라는 이름을 가지게 된 Animator Controller파일을 Hierarchy 탭에서 MMD 캐릭터를 클릭하여 둔 상태에서 Inspector 탭에서 Animator 항목의 Controller 부분으로 드래그 앤 드랍으로 추가 시켜줍니다.


[그림 28]

그림 27까지 진행하게 되면 그림 28과 같이 Inspector 탭의 Animator 항목의 Controller 부분에는 Player라는 이름의 Animator Controller가 추가되어집니다.

 

이렇게 Animator Controller를 적용시켜주었다 하더라도 바로 애니메이션을 사용할 수 있는 것은 아닙니다.

 

지금부터 애니메이션이 구동될 수 있는 작업들을 진행해보도록 하겠습니다.

 

 

[그림 29 - 1 ]

먼저 유니티 메뉴 중 Window 메뉴를 클릭하여 그 중에 Animator를 클릭하여 줍니다.

 

[그림 29  -  2]

그럼 유니티에는 Animator라는 탭이 새롭게 활성화 되는 것을 보실 수 있을 것 입니다.

 

[그림 29  - 3 ]

자 이렇게 Animator 탭을 띄운 후 유니티에서 Play버튼을 누르면 캐릭터는 팔을 벌린 모습에서

아주 약간 차이가 있을 것입니다.

 

저 같은 경우 MMD캐릭터가 허리에 양손을 거치고 있는 모습으로 보여집니다.

 

하지만 제대로 애니메이션이 구동되지 않습니다.

 

그 이유는 Animator 탭은 애니메이션을 사용할 수 있도록 각 State(노드)들을 Transition으로 연결을 시켜주어 사용할 수 있도록 편집해주는 탭이라고 보시면 됩니다.

 

그림 29 - 2에서 보시면 가장 기본적으로 셋팅되어 있는 노드들 이외의 정작 사용하고자 하는 애니메이션 노드가 없기 때문인데요.

 

지금부터 Idle 애니메이션을 캐릭터의 가장 기본적인 애니메이션으로 적용하여 구동시켜보도록 하겠습니다.

 

[그림 29 - 4]

먼저 Animator 탭에서 우클릭을 하여 Create State -> Empty를 눌러주어 새로운 State(이후 노드)를 생성하여 줍니다.

 

[그림 29 - 5]

새롭게 생성되어진 노드를 클릭하게 되면 Inspector 탭에는 해당 노드의 설정을 변경하여 줄 수 있는 항목들이 나타나게 되는데 그 중에 Motion이라는 항목이 보일 것입니다.

 

Motion에는 None으로 아무런 애니메이션도 적용되어 있지 않은 상태이기 때문에 정작 구동시키고 싶은 애니메이션이 구동되지 않았던 부분인 것입니다.

 

[그림 29 - 6]

그럼 가장 기본동작으로 사용할 애니메이션의 복사본이였던 Idle 애니메이션 파일을

Motion부분에 드래그 앤 드랍으로 적용시켜 줍니다.

 

[그림 29 - 7]

해당 노드가 어떠한 애니메이션을 구동시켜주는 노드인지를 알기 쉽게 하도록 위하여 New State라는 이름에서 애니메이션 파일과 동일한 이름인 Idle로 변경해주도록 하겠습니다.

 

이렇게 노드의 이름을 변경하면 Animator 탭에서도 노드의 이름이 New State에서 Idle로

변경되는 것을 확인하실 수 있을 것입니다.

 

[그림 29 - 8]

이렇게 이름까지 변경을 해주신 다음에 유니티에서 다시 한번 Play버튼을 눌러보도록 하겠습니다.

 

그럼 이번에는 Motion이 None으로 되어있을 때와는 다르게 MMD 캐릭터에 애니메이션이 적용되어 구동 되는 것을 확인하실 수 있을 것입니다.

 

하지만, 해당 애니메이션이 딱 한번만 구동되고 MMD 캐릭터가 멈춰버리는 것을 눈치채실 텐데요.

 

이것은 해당 애니메이션을 반복적으로 구동시켜주지 않고 있기 때문입니다.

 

가장 기본 동작으로 사용할 Idle 애니메이션을 한번만 구동하는 것이 아닌 캐릭터가 대기상태일 때 반복적으로 구동시킬 수 있도록 설정을 바꿔주도록 하겠습니다.

 

[그림 29 - 9]

Idle애니메이션 파일을 클릭하면 Inspector 탭에 해당 애니메이션의 설정 항목들이 나타나게 됩니다.

 

[그림 29 - 10]

Inspector 탭을 자세히 보시면 Loop Time이 보일 것입니다.

 

Loop Time을 체크하시게 되면, 체크되있지 않을 때 비활성화 되어 있던 Loop Pose 또한 체크할 수 있도록 활성화가 되는데 두 개 모두 체크를 해주시면 됩니다.

 

무슨 차이인지 정확히 봐보고 싶은 분들은 그림 29 - 10과 같이 해당 애니메이션 파일이 어떠한 식으로 구동되는 것인지 미리볼 수 있는 미리보기 창이 있습니다.

 

Loop Time과 Loop Pose가 체크되지 않은 상태에서 Play버튼을 눌러보시고

Loop Time과 Loop Pose가 체크된 상태에서 Play버튼을 눌러보시면 차이를 아실 수 있을 거라 생각됩니다.

 

[그림 29 - 11]

이렇게 설정을 간단하게 변경을 하여준 후 다시 유니티에서 Play버튼을 눌러보시면

Scene뷰와 Game뷰에서 MMD캐릭터가 해당 애니메이션을 반복적으로 구동하는 것을 확인하실 수 있을 것입니다.

 

이렇게 금일 튜토리얼인 Part5-1. Import 시킨 MMD모션을 Mecanim Animation을 이용하여 구현하기.가 끝났습니다.

 

반응형