Make Unreal REAL.
article thumbnail
Unreal Engine 5 C++ Multiplayer Shooter

 

Mixamo에 로그인하고 적절한 캐릭터를 찾아 클릭한다.

 

 

그러면 프리뷰를 보고 애니메이션을 다운로드할 때 이 캐릭터를 사용할 것인지 묻는데 사용한다고 한다.

 

 

캐릭터를 다운로드한다.

  • 언리얼 엔진의 기본 포즈인 A-포즈가 아닌, 유니티의 기본 포즈인 T-포즈를 하고 있는 것을 확인할 수 있다.
  • 이것은 나중에 직접 수정해주어야 한다.

 

 

FBX 형식의 캐릭터를 프로젝트에 임포트한다.

  • Skeletal Mesh를 임포트하고, 자체 Skeleton을 갖고 있으므로 Skeleton은 지정하지 않는다.
  • 옵션을 그대로 두고 Import All 버튼을 클릭한다.

 

 

Skeleton Tree를 보면 언리얼 엔진의 Skeleton과 비슷하지만 구조와 이름이 조금씩 다른 것을 확인할 수 있다.

  • 따라서, 애니메이션 리타겟을 할 때 이것을 고려해야 한다.

 


돌기, 웅크리기, 점프 등 필요한 애니메이션을 다운 받는다.

  • 회전과 위치를 직접 제어할 것이라면, 애니메이션 자체에서 회전과 이동을 하는 애니메이션보다는 모션만 취하는 애니메이션을 다운 받는 것이 좋다.
  • 점프는 점프 시작, 점프 중, 착지를 따로 받는 게 좋다.

 

 

애니메이션을 다운로드할 때 아까 다운 받으며 선택했던 캐릭터의 Skin을 포함하도록 한다.

  • 캐릭터에 맞게 자동으로 리깅된다.

 

 

애니메이션을 프로젝트에 임포트한다.

  • 아까 임포트했던 캐릭터의 Skeleon을 지정한다.
  • 메쉬는 가져오지 않는다.

 

 

Take_001 접미사가 붙은 애니메이션들은 그냥 T-포즈를 하고 있는 애니메이션이므로 삭제해준다.

 

 

임포트한 애니메이션을 보면 지정했던 Mixamo 캐릭터를 사용하고 있는 것을 확인할 수 있다.

 

 

이 애니메이션들을 Mixamo 캐릭터의 Skeleton에서 애니메이션 스타터 팩에 있는 UE4_Mannequin_Skeleton에 맞게 리타겟 해보겠다.

 

 

언리얼 엔진 5 버전에서는 더 나은 방법으로 애니메이션 리타겟을 할 수 있으니 참고하면 된다.

 

UE4_Mannequin_Skeleton을 열어 Rig를 Humanoid로 변경해준다.

  • 캐릭터의 모든 Bone이 자동으로 Rig에 매핑된 것을 확인할 수 있다.
  • Rig는 Skeleton의 Bone들을 리스트로 저장하는 에셋이다.

 

Save 버튼을 눌러 저장하는 것을 잊지 말도록 한다.

 

 

Mixamo 캐릭터의 Skeleton은 Rig를 Humanoid로 변경해도, Bone들이 자동으로 Rig에 매핑되지 않는 것을 확인할 수 있다.

  • Skeleton Tree의 구조와 Bone의 이름들이 조금씩 다르기 때문이다.
  • 명명 규칙(Naming Convention)이 동일한 몇몇 Bone은 자동으로 매핑되어 있을 수도 있다.

 

 

번거롭지만 Rig를 직접 매핑해주어야 한다.

 

 

r/unrealengine on Reddit: Mixamo animations retargeting problem

Posted by u/TimelyKnee - 1 vote and 3 comments

www.reddit.com

다음 사진과 동일하게 Bone을 Rig에 매핑해준다.

 

기본 매핑이 끝난 후 Show Advanced 버튼을 누르면, 손가락 등 고급 Rig를 매핑할 수 있다.

 

다 매핑한 후에는 꼭 Save 버튼을 눌러 저장하도록 한다.

 

 

이제 두 Skeleton의 포즈를 동일하게 맞춰주어야 한다.

  • Mixamo Skeleton을 A-포즈로 만들어줘도 되고, UE4_Mannequin_Skeleton을 T-포즈로 만들어줘도 된다.

 

UE4_Mannequin_Skeleton을 T-포즈로 만들어주도록 한다.

  • 세밀한 조정을 위해 Rotation Grid Snap 값을 변경해준다.
  • 포즈 조정이 끝난 후에는 Retarget Manager에서 Modify Pose - Use CurrentPose를 클릭해준다.
  • Save 버튼을 눌러 저장한다.

 

 

Preview Mesh가 Skeleton을 사용 중인 캐릭터인지 확인한다.

  • 이것이 맞게 설정되어 있어야 Retarget이 성공적으로 수행된다.

 

 

Mixamo Skeleton을 열어 확인해본다.

 

Skeleton의 수정된 사항이 캐릭터(메쉬에)에 적용되지 않았으니, Apply To Asset 버튼을 눌러 적용해준다.

 

 

이제 두 Skeleton이 동일한 Rig 정보를 갖고 같은 포즈를 취하고 있으니 애니메이션 리타겟을 진행할 수 있다.

 

모든 애니메이션을 바로 하지 말고 하나만 일단 리타겟 해보도록 한다.

 

 

Mixamo Skeleton을 사용하는 애니메이션을 UE4_Mannequin_Skeleton에 맞게 리타겟할 것이다.

  • 리타겟된 애니메이션은 Content 폴더에 새로 생성된다.

 

 

이상 없이 리타겟에 성공했다.

 

 

만약 Bone이 잘못 배치되어 꼬여서 보이는 문제가 발생하면, Skeleton Tree에서 Show Retargeting Options를 클릭한 후 다음을 수행해준다.

 

Root Bone을 우클릭하고 Recursively Set Translation Retargeting Skeleton을 클릭한다.

 

 Translation Retargeting을 다음과 같이 설정한다.

  • Pelvis - Animation Scaled
  • Root - Animation

 

 

하나가 잘 된 것을 확인했으니, 그 애니메이션만 빼고 나머지도 리타켓해준다.

 

 

필요한 모든 Mixamo 애니메이션을 UE4_Mannequin_Skeleton에 맞게 리타겟했다.

 

'Unreal Engine > UE5 C++ Multiplayer Shooter' 카테고리의 다른 글

캐릭터 카메라와 이동  (0) 2023.03.30
애니메이션 리타겟  (0) 2023.03.30
에셋 추가  (0) 2023.03.29
프로젝트 생성  (0) 2023.03.29
멀티 플레이어 플러그인 제작: 버그 수정 및 완성  (0) 2023.03.28
profile

Make Unreal REAL.

@diesuki4

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그