캐릭터 애니메이션의 내용은 이렇습니다.

- 대기, 이동, 공격, 쓰러지는 연출

- 대기 중, 이동 중, 공격 중이라도 생명이 0이라면 쓰러집니다.

- 공격 중엔 검을 휘두르고 있을 때만 적과 무기 타격 판정이 유효합니다.


Unity엔 인간형 모델을 Humanoid라고 합니다.

캐릭터는 인간형이기에 앞서 설명한 것처럼 이 모델에 애니메이션 대상 변경 기능을 사용할 수 있습니다.


Project란에 미리 임포트를 시켜 놓은 모델 데이터를 선택합니다.

하지만 저는 제가 독학을 하고 있는 책자에서 샘플을 제공하여 주었습니다.

그러고 나면 Inspector에 'Player Import Settings'라는 것이 표시 됩니다.

그때 Rig라는 것을 누른 후에 인간형이라면 Animation Type을 Humanoid로 설정합니다.

Apply를 눌러 설정을 저장을 한다면 아래와 같이 체크 표시가 생길 겁니다.

그러면 이제 Animation Type에 Humanoid말고 다른 것은 무엇이 존재 하는지 그것을 알아보겠습니다.

- None : 애니메이션을 사용하지 않는 모델

- Generic : Humanoid가 적용되지 않는 모델

ex) 케르베로스, 드래곤

- Legacy : Unity 3.x 이전 버전의 애니메이션 시스템과 호환을 위한 설정

- Humanoid : 인간형 모델

ex) 오우거, 엘프, 인간

---------------------------------------------------------------

애니메이션 데이터를 설정할 차례입니다.

이번 게시글은 꽤 길게 진행할 생각입니다!!!


그럼 다시 본론으로 돌아와서

아까도 말을 하였듯이 제가 유니티 3D를 배울 때 사용하는 책자에서는 저에게 모션을 제공해 주었습니다.

대기 모션 / 이동 모션 / 공격 모션 / 쓰러지는 모션을 제공 받았습니다 (원래는 책사면 줍니다.....)

그럼 다시 설명을 하겠습니다.

일단 Project에 미리 임포트한 애니메이션 데이터를 선택합니다.

그러면 Inspector에 Player Import Settings가 다시 표시가 됩니다.

그리고 이번에도 Rig를 눌러서 Rig화면으로 변경 해줍니다.

그리고 Animation Type을 Humanoid로 설정합니다.

다시 Apply버튼을 눌러줍니다.


그리고 이 작업을 모든 인간형 모델의 애니메이션 데이터에 설정합니다.

---------------------------------------------------------------

이제는 앞서서 임포트한 애니메이션 데이터를 유니티에서 이용하기 위해 애니메이션 클립 파일로 만들어야 한답니다.

(먼데 이리 귀찮은데??)혼자 만들면 해야할게 너무 많잖아

Animation Clip(애니메이션 클립)은 임포트한 애니메이션 데이터에서 실제로 이용할 데이터만 뽑아서 유니티에서 사용하기 쉽게 조정한 데이터를 말합니다.


그럼 이제 본방입니다.

Project 브라우저에서 애니메이션 데이터를 하나 선택하고 나서 Inspector의 Animations 탭을 클릭합니다.

그럼 애니메이션 클립 설정화면이 나타납니다.

Clips에선 애니메이션 데이터를 추출하는 시간을 조절합니다.

그리고 FBX 애니메이션 데이터 하나에 애니메이션 여러 개를 모았다가 유니티에서 나누는 것도 됩니다. (이거는 솔직히 독학이라.... 책에는 쓰여 있는데 중요해 보이고 설명은 어렵고...???)

나머지는 뭐.... 애니메이션 클립의 재생 설정부분 입니다.


위 사진을 가지고 설명을 이어가겠습니다.

Loop Time : 이 속성에 체크하면 애니메이션이 반복 재생 됩니다.

- Loop Pose : 체크시 애니메이션 시작과 끝이 매끄럽습니다.


Root Transform Rotation

- Bake Into Pose : 체크하면 루트 오브젝트의 Transform -> Rotation에 애니메이션 값을 대입하지 않습니다. 회전 제어시 사용합니다.

- Based Upon : 회전의 루트 위치를 설정합니다.

- Original : 애니메이션 데이터를 따릅니다.

- Body Orientation : 상반신 전방을 루트의 Transform에서 Rotation으로 맞춥니다.

- Offset : 회전의 보정값을 설정할 수 있습니다.


Root Transform Position (Y)

- Bake Into Pose : 체크시 루트 오브젝트의 Transform -> Position -> Y에 애니메이션 값을 대입하지 않습니다. 캐릭터의 점프등을 관리할 때 사용합니다.

- Based Upon (at Start) : 수직 방향의 기준이 되는 것을 설정합니다.

- Original : 애니메이션 데이터를 따릅니다.

- Center of Mass : 오브젝트 중심을 루트의 Position -> Y에 맞춥니다.

- Feet : 발 위치에 맞춥니다.

- Offset : Position -> Y의 보정값을 설정할 수 있습니다.


Root Transform Position (XZ)

- Bake Into Pose : 체크시에 루트 오브젝트의 Transform -> Position -> XZ에 애니메이션 값을 대입하지 않습니다. 스크립트 쪽에서 오브젝트의 수평 위치를 제어할 때 이용합니다.

- Based Upon (at Start) : 수평 방향의 기준이 되는 것을 설정합니다.

- Original : 애니메이션 데이터를 따릅니다.

- Center of Mass : 오브젝트 중심을 루트의 Position -> XZ에 맞춥니다.


loop match 아이콘 : 속성 별 loop match 아이콘이 있습니다. 이 아이콘은 애니메이션의 시작과 끝을 연결했을 때 깔끔하게 재생되는지 나타냅니다. 아이콘이 초록이라면 문제가 없습니다. ( 색상 초록 -> 노랑 -> 빨강 이것은 시작과 끝의 포즈가 다른 정도)


Mirror : 애니메이션을 좌우 반전시킬 수 있습니다. 현재 설정값에 따라 어떻게 재생되는진 Inspector 맨 아래에 있는 [Preview]에서 확인할 수 있습니다. [재생] 버튼을 누르거나 타임라인을 조작해 Inspector만으로도 애니메이션을 확인할 수 있습니다. [Preview]오른쪽 위에 있는 슬라이더로 애니메이션 재생 속도를 조절합니다.

그러면 오늘 저는 이만 들어가보도록 하겠습니다.

블로그 이미지

이사가는 사람

안녕하세요 블로그를 옮기려고 생각하고 있습니다. 해당 블로그는 폐기하고 다음 다른 블로그에서 뵙도록 하겠습니다. 감사합니다!

,