Deeper Learning

[UE5] Animation Retargeting, IK Rig (Sketchfab, Mixamo) - 2 본문

Game Development/Unreal Engine

[UE5] Animation Retargeting, IK Rig (Sketchfab, Mixamo) - 2

Dlaiml 2024. 7. 12. 20:40

 

 

[UE5] Animation Retargeting, IK Rig (Sketchfab, Mixamo) - 1

프로젝트에 사용할 캐릭터 애셋, 애니메이션을 찾다가 무료 애셋이 많은 사이트인 Sketchfab, Mixamo을 알게 되었다. Sketchfab에서 캐릭터를 가져오고, Mixamo에서 애니메이션을 가져와 원하는 애니메이

dlaiml.tistory.com

 

저번 포스팅에서 아래에서 초록색으로 쓰인 항목들을 소개하였다. 

  • Mixamo 애니메이션 가져오기 
  • UE 5.4 Retarget Animations
  • Sketchfab 모델 가져오기
  • IK Rig
  • IK Retargeter

 

IK Rig

 

이전 포스팅에서 가져온 Mixamo의 애니메이션 에디터의 기본 캐릭터인 Manny의 Skeletal에 UE 5.4의 Anim Retargeting을 사용하여 적용시켜 보았다.

 

 

이번에는 Export Animations 대신 Export Retarget Assets을 선택해 보자.

두 Skeleton의 IK Rig와 IK Retargeter가 생성된 것을 확인할 수 있다.

 

Mixamo 캐릭터의 IK Rig를 열어보면 Solver(IK), IK Goal(위치를 일치시키려는 Bone)이 모두 설정되어 있고 Retarget Chain, Retarget Root도 설정되어 있다. 

 

 

이번엔 직접 IK Rig를 만들고 Skeleton으로 Mixamo의 Skeleton을 선택하였다. 

 

상단을 보면 Auto Create Retarget Chains, Auto Create IK 기능이 있는데 현재 Skeleton의 Rig에 가장 적합한 템플릿을 선택하여 그에 맞춰 Retarget Chain, IK를 만들어주는 기능이다.

 

 

 

Auto Create Retarget Chain을 클릭하면 아래와 같은 메시지가 나오면서 Retarget Chain들이 생성된다. Mixamo의 Skeletal을 가져왔기 때문에 100% 일치하는 것을 볼 수 있다.

Using Mixamo template. Skeletal structure matches with 100% accuracy

 

Auto Create Retarget Chain, Auto Create Rig 이 두 기능이 Skeleton을 분석하여 알맞은 템플릿을 선택하고, 그에 따라 Retarget Chain, Solver, IK Goal을 생성해 주기 때문에 템플릿과 Skeleton 구조가 비슷하다면 높은 정확도로 Retargeting이 가능하다.  

 

IK Retargeter

이번에는 생성된 IK Retargeter를 살펴보겠다.

 

각각 Skeleton을 엔진이 잘 분석하여 같은 이름으로 Retarget Chain을 IK Rig에서 지정해 둔 것을 확인할 수 있다.

 

UE 5.4에서 클릭 한 번으로 Animation Retargeting이 가능하다는 것과 어떻게 진행되는지 까지 간단하게 알아보았다.

 

이어서 앞서 import 한 Sketchfab의 캐릭터에 Mixamo에서 import한 Animation Sequence를 Retargeting이 바로 가능한지 시도해 보았다.

 

 

Sketchfab에서 받은 캐릭터가 산산조각 났다. Skeleton을 확인해 보자.

Mesh는 정상적으로 서있지만 Spine을 클릭해 보면 좌측 바닥에 있는 것을 볼 수 있다. 

 

에디터 또는 코드로 Mesh를 매번 회전시키면서 이를 해결하기보다 Blender에서 다시 맞추는 것이 더 정확한 해결방법이다. (블로그 포스팅 랩탑에는 Blender가 설치되어있지 않아 사진은 생략)

https://www.youtube.com/watch?v=L4OcpF7-YB0

 

이번에는 Auto Retargeting에서 마찬가지로 Mixamo 템플릿을 사용하였으나 Skeletel 구조가 88%만 일치하였다.

Using Mixamo template. Skeletal structure matches with 88% accuracy

 

이번 예시 캐릭터는 Anim Retargeting이 간단하게 되었다. 하지만 Sketchfab에서 여러 캐릭터를 다운로드하여 Anim Retargeting을 시도하였을 때, Skeletal 구조가 아예 다른 몇몇 캐릭터의 경우 하나하나 Retarget Chain을 맞춰줘야 하는 경우가 많았다.

 

Mixamo의 경우 특정 캐릭터 하나로 여러 애니메이션을 볼 수 있기 때문에 Mixamo의 캐릭터를 자신이 실제 게임에 사용할 캐릭터와 Skeletal에서 Retarget Chain, IK Solver, IK Goal을 잘 설정해 둔다면 Mixamo의 많은 애니메이션을 바로 Retargeting 할 수 있다.

 

프로젝트 개발기에서 Animation을 세팅할 때, IK Solver, IK Goal, Transformation 등 애니메이션, 리타겟팅, 리깅에 대해 더 자세하게 포스팅할 예정이다.

 

Reference

[0] https://dev.epicgames.com/community/learning/talks-and-demos/vwG7/unreal-engine-ik-retargeting-5-4-features-at-a-glance

[1] https://forums.unrealengine.com/t/unexpected-behaviour-relative-rotation-beyond-90-degrees/637987/3

Comments