[Unity]15.블렌드 트리와 모션캡쳐 애니메이션

안녕하세요 유랑입니다.



이번 시간에는 블렌드 트리와 모션캡쳐 애니메이션에 대해 배워보겠습니다.

블렌드 트리는 속도값에 따라 자연스러운 애니메이션 처리를 하는게 가능하며,

모션캡쳐 애니메이션은 실제 사람의 동작으로 만든 애니메이션이다.




1. 모션캡쳐 애니메이션



모션캡쳐장비를 이용해 실제 사람의 움직임을 애니메이션으로 만들 수 있다.

그 애니메이션을 이용해 이동을 구현해 보겠다.







1-1) 프로젝트 생성 후 설정



프로젝트 이름과 생성 위치를 설정 후 만들어 준다.






캐릭터로 사용할 Dokebimusa와 모션캡쳐 애니메이션인 Raw Mocap Data for Mecanim을 

각각 다운받고 임포트하자.







dokebimusa 오브젝트를 하이라키뷰에 드래그하여 가져다 놓고,

Animator 컴포넌트를 생성 후 Advator를 다음과 같이 적용하자.

기본적인 도깨비 무사 뼈대이다.





마우스 우클릭을 이용해 애니메이터를 만들어 준다음 MusaAnim이라고 이름을 변경한 뒤 

무사 프리팹에 적용하자.






1-2) 모션캡쳐 애니메이션 설정



모션캡쳐 애니메이션을 수정할 차례이다.

모션애니메이션은 실제 사람의 움직임을 토대로 만들어졌기에 위치의 변화 값까지도 기록돼 있다.

유니티에서는 루트 모션을 통해서 모션캡쳐 애니메이션의 변위 값과 회전 값을 적용할 것인지에 대한

옵션이 존재한다.

애니메이션의 길이를 조정해 주고 다음과 같이 설정하자.

Bake Into Pose를 체크하면 녹화된 변화 값을 적용하지 않고 모델의 Transform 좌표축에 고정돼

더는 좌표값이 변경되지 않는다.

- Root Transform Rotation => Y축으로의 회전을 어디를 기준으로 할 것인지를 결정

- Root Transform Position(Y) => 애니메이션의 Y축의 기준점을 조정






오른쪽 회전도 마찬가지로 다음과 같이 설정하자.

여기서 최대한 초록불 표시가 나와야 자연스러운 애니메이션이라는 표시이다.





모션캡쳐 애니메이션에 오른쪽은 존재하지만 왼쪽 애니메이션은 존재하지 않는다.

그 이유는 Mirror 기능을 통해서 반대의 애니메이션 구성이 가능하기 때문이다.

TurnLeft를 만들어 준다음 Mirror를 체크하자.





마지막으로 Idle 애니메이션까지 설정하면 끝이다.

잊지 말고 설정이 끝나면 Apply를 통해서 애니메이션 설정을 적용해 주자.






2. Blend Tree



블렌드 트리는 두 가지 이상의 모션 간에 블렌드를 하는 것이다.

캐릭터의 속도에 따른 걷기 및 달리기 애니메이션 처리를 블렌딩으로 많이 한다.



2-1) 블렌드 트리 설정



만들어 놓은 Idle 애니메이션을 애니메이터 창에 드래그하여 놓는다.

그리고 마우스 우측 버튼을 이용해서 Blend Tree를 만들자.








파라미터는 Float 값으로 Speed와 Side를 생성하자.





Blend Tree를 더블 클릭하고 Parameter를 Side로 바꾼 뒤 

Add Motion field를 이용해서 TurnLeft, WalkFoward, TurnRight를 적용하자.





해당 부분을 더블 클릭하여 -1로 바꾸자.

이러면 Side값에 따라서 애니메이션이 바뀌게 된다.





Idle => WalkBT로 부터 트랜지션을 설정하고 다음과 같이 설정하자.

Greater의 의미는 해당 값보다 크면 애니메이션 변환이 가능하다라는 의미이다.





Less의 의미는 해당 값보다 작으면 애니메이션 변환이 가능하다라는 의미이다.






2-2) 스크립트 작성



이제 무사 캐릭터를 움직일 스크립트를 작성할 시간이다.

스크립트는 생각보다 단순하다.

키보드 값을 v, h로 받고 Speed와 Side 파라미터 값에 적용해 주는 것이다.

이러면 해당 값에 따라 블렌드 트리에서 애니메이션을 적용해 줄 것이다.






마지막으로 스크립트 적용 후 Apply Root Motion을 체크하자.

그래야 애니메이션 움직임에 따른 모션캡쳐 값 적용에 의해 이동이 가능하다.






3. 마무리



이번 시간에는 블렌드 트리와 모션캡쳐 애니메이션을 이용해 간단한 애니메이션 동작을 만들어 보았습니다.

다음 시간에는 UI - Button을 이용해 씬전환을 해보겠습니다.

오늘도 고생하셨습니다.

감사합니다.



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


댓글

Designed by JB FACTORY