애니메이터

[Unity3d 4.x] 메카님 본문

Game Engine/Unity3D

[Unity3d 4.x] 메카님

욤마핫 2013. 10. 30. 16:51

1. 유니티 4.X 버젼대에서 애니메이션 부분이 많이 추가가 되었다. 그 이름은 Mechanim 메카님에 대해서 알아 보자.

 

2. Mechanim의 역할

메카님은 Unity3d 안에서 쓰이는 Skeleton 구조가 자체 존재

이 Skeleton 구조에 일반 3D 프로그램의 Skeleton을 매핑 함으로써

모든 인간형 애니메이션을 공유할 수 있음.

 

IK, 모션간 transition, 모션 Blending, 상하체 분리 등을 지원

 

3. Mechanim의 구성

1. Avatar

2. Animator Controller

3. Animation list(버젼 4.3 부터)

 


 

1.Avatar

아바타? 영화 아바타를 보면 내 몸을 다른 행성에서 움직일 수 있는 아바타에 정신을 대입시키는데

Unity3d 에서는 3d 프로그램에서 만든 Skeleton 데이터로 Unity3dSkeleton에 대입시켜서 Unity3d 에서 움직일 수 있게 만드는 작업이다.

그렇다고 3.X 버젼대에서 쓰는 Legacy Animation 이 안되는 것은 아니다.

Legacy Animation을 쓰게 되면 캐릭터 마다 동작을 따로 잡아 줘야 한다.

아바타를 쓰면 모든 동작이 공유가 가능하다

 

 

 

Unity3d 에 FBX를 넣으면

인스펙터 창에서 FBX 세팅을 해주는데

Model 에서 할일은 Scale Factor를 맞춰주면 된다.

 

Avatar는 Rig 에서 잡아주는데

Humanoid로 들어가서 configure을 눌러 아바타 매핑을 해준다.

 

 

 

 

 

 

 

 

 


 

 

 

아바타 매핑 영역이다.

scene 창에서 녹색으로 하이라이트된 Bone을 끌어다가 왼쪽 화면의 Bone 위치에 맞춰 넣으면 된다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


2. Animator Controller

Animatior Controller는 Asset 이란것을 우선 알고 있는 것이 좋다.

Animator Controller는 State Machine과 Blendtree로 이루어져 있다.

State Machine 에서는 모션간의 변화가 Transition에 의해서 이루어지고 Blendtree 에서는 모션과 모션을 블렌딩하여 처리한다.

Blendtree는 State Machine의 하부 메뉴이다.

 

 

도식화를 하면 위 그림과 같다.

 

 

 

Any State는 모션의 시작을 알리는 출입문 같은 것이다. 무조건 여기서 시작한다.

풀색 점선이 Paratmeter 값을 지정해 주는 곳이고 이 값의 변화에 따라 State 사이에 transition을 통해서 변화한다.

말하자면 3dsmax 에서 Motion Flow와 90% 이상 같은 개념이다.

빨간점선을 State를 더블클릭하면 Run State 의 하부 단인 Blendtree로 들어가게 된다.

 

Blendtree 에서도 모션간의 변화는 Parameter 값을 이용하고 여기서는 float 값만 인식이 가능하다.

이런식으로 모션 설계를 끝내면 Animation 설정은 끝.