본문 바로가기
Design/Tool Tips

[Maya_UE4] Maya에서 언리얼 엔진으로 애니메이션 FBX파일 넘기기 (Maya to UE4 Animation FBX)

by Obby 2021. 8. 27.
반응형
BIG

 

 

 

Maya와 언리얼 엔진을 같이 사용하다 보니, 자연스레 언리얼 엔진과 친해지는 기회가 많다.

(하지만 아직까지는 어사(?))

 

특히 Maya에서 모델링이나 애니메이션을 만들어서 언리얼으로 넘기는 일이 많다.

 

일반 모델링은 FBX파일로 뽑아 넘길 경우 바로 잘 넘어가는데,

애니메이션을 함께 넘길 때는 조금 더 까다로운 거 같아, 이 참에 정리해두려고 한다.

 

 

 

 

 

Maya에서 언리얼로 리깅을 넘길 때 주의사항

 

Maya에서 애니메이션을 잡은 리깅을 언리얼로 넘겨올 때, 몇 가지 주의사항이 있다.

 

  • 애니메이션을 잡기 전, 내가 작업할 캐릭터 리깅이 언리얼로 잘 넘어가는 지 확인하는 것이 좋다.

안타깝게도(?), 이미 나와있는 Maya 무료 캐릭터 리깅 중 대부분의 리깅은 언리얼에 정상적으로 넘어오지 않는다!

직접 joint를 심어 리깅을 한 캐릭터로 애니메이션을 잡아 넘기는 것이 안전하다.

또는 Mixamo 리깅 및 애니메이션은 넘기는 것이 가능하므로, 이를 이용해도 좋을 듯하다.

널리 알려진 10개가 넘는 무료 리깅들으로 실험해본 결과, 단 1개의 리깅(azri Rig)만이 정상적으로 넘어왔다.

그 외 리깅들은 본 구조가 다르다며 언리얼에서 Skeleton 자체가 Import되지 않았다.

 

  • 캐릭터 리깅을 넘길 때, Curve(Controller)는 함께 넘어오지 않는다!

리깅과 애니메이션을 위한 최소 오브젝트(joint(스켈레톤)와 mesh(모델링))만 import가능하다!

그러므로 언리얼로 가져온 뒤에는 수정이 불가능하기때문에, 모든 애니메이션을 완성한 뒤 가져오는 것이 좋다.

만약, 언리얼 상에서 애니메이션을 추가로 잡을 경우,

시퀀스를 사용하거나 혹은 Control Rig 플러그인을 사용해서 언리얼에서 직접 리깅 및 애니메이션 주는 것도 나쁘지 않다.

(Control Rig와 관련된 포스트는 다음에 올릴 예정)

 

아무튼 이번 포스트는 Mixamo 리깅으로 테스트해보려고 한다.

 

믹사모 홈페이지

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

 

Mixamo

 

www.mixamo.com

 

믹사모 캐릭터 및 리깅 다운로드 방법은 아래 포스트를 참고하시길!

https://daum-cuberry.tistory.com/33?category=950244 

 

[Mixamo_Maya] 믹사모 사용법_01 믹사모 캐릭터 및 리깅 다운로드/Maya에서 Import하기

Mixamo라는 사이트, CG작업러라면 한 번쯤은 들어봤을 것이다. 로그인이 필요하다. https://www.mixamo.com/#/ 만약 위 링크로 들어가도 바로 연결이 안 될 경우, Mixamo 로고를 한 번 더 클릭해주면 된다. Mix

daum-cuberry.tistory.com

 

 

 

 

 

 

 

 

Step 1. 캐릭터 리깅의 모든 Joint 선택해주기

 

일반적으로 Maya에서 애니메이션 작업을 할 경우, Curve(Controller)에 키를 주기 때문에,

캐릭터의 스켈레톤, 즉 각각의 joint에는 키가 들어가 있지 않다.

 

그래서 먼저 Maya에서 캐릭터를 Export 하기 전, 모든 joint에 키를 주는 작업을 진행해야 한다.

 

나는 간단한 걷기 애니메이션을 Maya에서 가져와서 언리얼에서 열어보려고 한다.

(해당 애니메이션은 급하게(?) Mixamo에서 가져온 거지만, 내가 직접 잡은 애니메이션이라고 치자.)

 

 

 

먼저 캐릭터의 Root Joint를 선택해준다.

꼭 모든 Joint구조 상 가장 상위가 되는(뿌리가 되는) Joint를 선택해줘야 한다.

Joint를 선택했을 때 위 이미지 처럼 모든 Joint에 불이 들어오면 그게 Root joint가 될 것이다.

 

만약 그래도 어떤 게 Root Joint인지 모르겠다면 Outliner상에서 가장 상단 Joint를 선택해주면 된다.

 

만약 Joint가 아예 보이지 않는다면

뷰포트의 Show - Joints를 체크해주면 된다.

 

 

 

Root Joint를 선택해준 상태로 빈 곳에 마우스 오른쪽 버튼을 누른 뒤,

그대로 아래로 드래그를 해서 Select Hierarchy를 선택해준다.

 

그러면 이렇게 모든 Joint 컬러가 흰색으로 바뀌는 것을 확인할 수 있다.

이는 Joint 하나 하나가 모두 개별적으로 선택됐음을 말한다.

이렇게 꼭 모든 Joint를 빠짐없이 선택해줘야 한다.

 

혹은 Outliner에서 하위 Joint들을 모두 열어준 뒤, Shift를 눌러 모두 선택해줘도 좋다.

단, 하위 Joint를 빠짐없이 모두 열어 준 뒤, 선택해줘야 한다.

 

참고로 Outliner에서 가장 상위 오브젝트 왼쪽의 작은 플러스 마크를

Shift를 누르고 클릭하면 그 밑에 모든 하위 Joint들이 주르륵하고 한 번에 열린다.

(닫을 때도 마찬가지)

(아웃라이너 정리할 때 아주 요긴(?)하게 쓰이는데 나는 생각보다 늦게 알았다 ㅋㅋㅋ)

 

 

 

BIG

 

 

 

 

 

Step 2. 선택한 모든 Joint에 Bake Animation 해주기

 

아무튼 이렇게 모든 Joint를 선택했다면, 선택한 상태에서 그대로 모든 Joint에 키를 주면 된다.

단, 키를 줄 때 모든 프레임에 키를 줘야하기에, 노가다를 해야하나 생각할 수 있지만

다행히도(?) 자동으로 애니메이션을 잡아주는 메뉴가 있다.

 

Edit - Keys - Bake Simulation을 눌러주면 된다.

 

그러면 Maya에서 자동으로 애니메이션의 모든 프레임에 키를 준다.

* 주의: 꼭 위 처럼 모든 Joint를 Select Hierarchy로 선택한 상태로 해당 메뉴를 실행해줘야 한다.

 

 

 

그래프 에디터를 확인해보면 이렇게 모든 프레임에 키가 들어가 있는 것을 확인할 수 있다.

 

여기까지 확인이 됐다면, 이제 Export를 해서 언리얼로 가져가는 것만 남았다!

 

 

 

 

 

Step 3. Skeleton(Joint)과 Mesh(Modeling)선택해서 Export하기

 

아웃라이너에서 Joint와 mesh를 같이 선택해 준 뒤,

 

 

 

선택한 상태로 File - Export Selection...을 눌러준다.

 

 

그러면 이렇게 설정창이 뜨는데,

가장 하단에 Files of type을 FBX로 바꿔준다.

 

 

 

Export하기 전, 설정 창의 우측에 옵션들 중에

File Type Specific Options - Include - Animation - Animation에 체크를 해준다.

 

나머지는 기본 세팅대로 Export를 해주면 된다.

 

경로와 이름을 정하고 Export Selection...을 해주면 된다.

 

 

 

 

 

 

Step 4. 언리얼에서 FBX파일 Import하기

 

이제 드디어 언리얼로 넘어갈 차례다!

 

애니메이션을 Import할 언리얼 파일을 실행시켜 보자.

언리얼에 Import하는 방법은 생각보다 간단하다.

방금 Export한 FBX파일을 언리얼의 콘텐츠 브라우저 패널 우측으로 드래그앤드랍 해주면 된다.

나는 폴더를 정리차 따로 폴더를 하나 만들어줬다.

 

 

 

 Import 시, 메시 부분의 Skeletal Mesh에 체크를 하고

애니메이션 부분의 Import Animations를 체크해줘야 한다.

 

설정이 끝나면 모두 임포트 또는 임포트를 눌러 Import를 완료해 주자.

 

 

 

그러면 이렇게 캐릭터의 texture와 material, mesh, 그리고 skeleton과 애니메이션이 잘 들어왔음을 확인할 수 있다.

 

* 참고: 빨간색 - texture/ 연두색 - material/ 핑크색 - mesh/ 초록색 - animation/ 하늘색 - skeleton

 

* 참고2: 파일 정리 시, mesh 폴더에는 texture와 material을, animation 폴더는에 애니메이션 파일만 따로 넣어두는 것이 좋다.

 

 

 

이제 뷰포트에 애니메이션 파일을 끌어다 올리기(드래그앤드랍)만 하면 된다!

 

 

 

올린 뒤 플레이나 시뮬레이트를 눌러서 애니메이션이 정상적으로 움직이는 지 확인해보자.

혹은 콘텐츠 브라우저상에서 해당 애니메이션 파일을 더블클릭해서 확인해 볼 수도 있다.

 

 

 

잘 움직이는 것을 확인할 수 있다.

 

이것으로 Maya에서 언리얼로 리깅 및 애니메이션을 옮기는 모든 과정이 끝났다!

 

 

 

걷는 애니메이션과 뛰는 애니메이션을 블렌딩해보았다.

 

언리얼 애니메이션의 최대 장점은 아무래도 블렌딩이 매우 쉽고,

두 가지 동작을 자연스럽게 잘 연결해준다는 점인 것 같다.

 

블렌딩하는 방법과 시퀀스를 다루는 방법에 대해서는 다음에 다른 포스트에서 다뤄보도록하겠다.

 

이처럼 직접 만든, 혹은 다운받은 애니메이션을 FBX로 Export해서,

더 다양하고 재밌는 컨텐츠에 활용할 수 있을 것이다.

 

 

 

반응형
LIST

댓글