Unreal

[Unreal] Mixamo 애니메이션 리타겟팅

JiHxxn 2024. 5. 12. 15:28

🤔 애니메이션 리타겟팅 이란?

리타겟팅 된 애니메이션을 여러 스켈레탈 메시에 사용하여, 애니메이션을 공유하는 법.

이라고 언리얼 공식 문서에 적혀 있음.

쉽게 말해 비율이 다른 캐릭터 간에 애니메이션을 재사용할 수 있게 해주는 기능이다.

 


 

⚙️ 환경 셋팅

  • 언리얼 버전 : v5.4.1
  • 언어 : English
  • 프로젝트 세팅 : Games - Third Person(삼인칭)

1. 프로젝트 셋팅 및 환경 설정

  • Games - Third Person(삼인칭) - ProjectName 설정 (AnimationRetargeting)

 

  • Content Browser 고정하기
    • 좌하단 Content Drawer 탭 클릭 → Dock in Layout 클릭

  • 새롭게 추가해 관리할 폴더를 생성
    • CustomCharacter 생성 후 하단에 또 MixamoToAnimation 폴더 생성
    • 폴더 색 변경은 원하는 폴더 클릭 후 마우스 우클릭 후 ‘Set Color’를 선택해 적용해 주면 됨.

2. Resources 다운 및 Import

  • mixamo에서 캐릭터 FBX 파일 다운로드
    • ybot 선택 후 오른쪽 다운로드 버튼 클릭 후 ‘t-pose’ 로 선택 후 다운

  • 애니메이션 카테고리 클릭 후 원하는 애니메이션을 다운받아 주면 된다.
      • mixamo에서 캐릭터 FBX 파일 다운로드
        • ybot 선택 후 오른쪽 다운로드 버튼 클릭 후 ‘t-pose’ 로 선택 후 다운오른쪽 다운로드 버튼 클릭 후 Skin에 Wihtout Skin를 선택하여 다운

  • 다운 받은 Y봇을 만들어준 ‘MixamoToAnimation’에 Import All 시켜줌.
    • 후에 에러 메시지 창이 나올 수 있는데, 무시해 줘도 된다.

  • Ybot을 먼저 Inport 해준 후 다운 받아 놓은 애니메이션도 추가시켜준다.
    • Skeleton에 먼저 넣어준 Ybot이 들어가 있는지 확인

3. Set IK Retarget

  • IK Rig 생성 후 이름 변경(IKRig_Mixamo)
    • 마우스 우클릭 - Animation - Retargeting - IK Rig

  • 만들어준 IKRig에 들어가 우측 ‘Preview Skeleton’을 YBot으로 설정
    • 마우스 우클릭 - Animation - Retargeting - IK Rig

  • 가장 위의 있는 본을 선택하여 Set Retarget Root를 설정해 준다.

  • 부위별 각각 Chain을 추가해 준다.

  • 각각 부위를 이미지에 있는 Element와 ChainName와 똑같이 맞춰준다.

  • IK ReTargeter 생성 후 이름 변경(IKReTargeter_Mixamo)
    • 마우스 우클릭 - Animation - Retargeting - IK Retargeter

  1. 우측에 Sourct에 ‘Ybot’, Target에 ‘Mannequin’을 설정 후 ‘Mannequin’의 x축을 200으로 설정해 겹치지 않도록 설정
  2. 좌상단에 ‘Running Retarget’ or ‘Editing Reaterget Pose’ 토글 중 ‘Editing Reaterget Pose’ 선택

  • Mannequin’의 포즈를 T-Pose로 수정해 준다.
    • upperarm_l , upperarm_r 60도 회전
  • TopView로 변경 후 lowerarm_l, lowerarm_r 40도 회전
  • Hand_l, Hand_r 안쪽으로 10도 회전

  • Chain이 잘 연결되어 있는지 확인 후 우측에 Auto-Map Chains 클릭 후 Map All(Exaxt)

  • AseetBower 탭을 클릭하고 Mixamo에서 다운 받아준 Animation을 더블클릭하여 실행해 준다.
    • 작동이 잘 된다면 Chain이 잘 연결된 것.
    • AseetBower 탭이 없다면 상단에 Windo → AseetBower를 선택해 추가해준다.

  • 다운 받아준 애니메이션 마우스 우 클릭 → Reatergeting Animations
  • 5.4 버전부터는 우측 하단에 Auto Generate Retargeter 체크박스 해제 후 만들어준 IKRetargeter을 넣을 수 있다.
  • 하단에 원하는 애니메이션 클릭 후 Export Animations
  • ThirdPerson → Blueprints 폴더에 저장.
    • 만들어준 애니메이션을 더블 클릭해 확인해서 제대로 작동하면 잘 적용된 것

4. 작동해 보기

  • 애니메이션을 작동하기 위해 AnimationMontage를 만들어준다.

  • BP_Third Person을 더블 클릭

  • Event Graph에서 이벤트를 추가해 준다
    • 빈 곳에 마우스 우클릭 후 KeyF를 검색해 F키를 눌렀을 시 이벤트를 작동할 노트를 추가
      • Play Animation 노드를 추가해 ‘New Anim to Play’에 만들어준 AnimationMontage를 추가
  • 모든 작업이 완료되었으면 Compile 후 저장 해준다.

5. Play Animation


📒참고자료

애니메이션 리타기팅

믹사모 애니메이션 언리얼로 리타게팅 하는법 #mixamo #unrealengine