언리얼

[언리얼 엔진 / Unreal Engine] Mixamo 애니메이션 Metahuman에 리타겟팅하기

1derer 2024. 1. 12. 15:57

필자가 해당 작업을 하는 이유는 애니메이션을 만들 때, 모션캡쳐, Mixamo 데이터로 바디 애니메이션을 적용하고 얼굴은 Live link를 활용하여 작업하기 위함이다.

 

 

 

메타휴먼 캐릭터를 내보내기 위해 메타휴먼의 스켈레탈 메시를 우클릭하여 에셋 액션 - 익스포트를 통해 FBX 파일로 내보내준다.

이때 레벨 오브 디테일에 체크를 해제한 뒤 익스포트 해준다.

 

해당 FBX를 모두 블렌더에 가져온다. (사진은 Rig를 끈 상태이다.)

 

메쉬만 임포트하기 위해 메쉬만을 새로운 컬렉션으로 빼와서 합치는 작업을 진행하였다. (메쉬만을 선택 후 뷰포트에 마우스 대고 Ctrl + j)

 

그리고 해당 메쉬를 내보냈다. 이제 Mixamo로 들어간다.

https://www.mixamo.com/#/

 

Mixamo

 

www.mixamo.com

 

UPLOAD CHARACTER 버튼을 눌러 방금 내보낸 메타휴먼 캐릭터를 임포트 해준다.

 

옆에 있는 그림과 같이 마커를 놓아주면 된다.

 

그 후, Mixamo에서 해당 캐릭터(애니메이션 없는 기본 버전)와 원하는 애니메이션을 다운받는다.

기본 버전을 다운받는 방법은 아래와 같다.

이렇게 Find Animation이라고 되어있어야 한다. 애니메이션이 되어있다면 X를 눌러 제거해주자.

T-Pose로 다운로드 해주자.

 

 

이후 해당 T-Pose를 언리얼로 불러온다. 따로 설정해줄 것 없이 그냥 임포트 해주면 된다.

 

이후 애니메이션을 불러온다. 이땐, 스켈레톤을 방금 불러온 T-pose의 스켈레톤으로 설정해준다.

 

이제 Retargeting을 해주면 된다.

https://www.youtube.com/watch?v=bNj6fzOVCCo

해당 영상의 13분부터 참고하여 IK릭을 생성 및 리타게터를 생성해준다. 

해당 영상에서 리타게터를 생성할 때, T-Pose로 맞추는 부분이 있는데 우리는 애초에 메타휴먼을 Mixamo에 데려왔으므로 T-Pose로 맞출 필요가 없다.

 

다 되었다면 애니메이션을 선택하고 익스포트 해준다.

 

 

이제 이 애니메이션을 원하는 메타휴먼에 적용하는 방법을 알려주겠다.

먼저 레벨에 내가 애니메이션을 입히고자 하는 메타휴먼의 블루프린트를 올려준다.

우선 콘텐츠 빈 공간에 우클릭 - 시네마틱 - 레벨 시퀀스를 추가해준다.

 

시퀀서 탭에서 +트랙을 누르고 액터를 시퀀서로 -> BP_메타휴먼을 선택해준다.

 

그런 다음 Body의 +을 누른 뒤 애니메이션, 아까 리타게팅 후 임포트한 애니메이션을 선택해준다.

그런 다음 시퀀서에서 MetaHuman_ControlRig을 삭제해준다.

 

그러면 이제 애니메이션이 잘 작동할 것이다.