애니메이션을 메타휴먼에 리타기팅하기

기존 애니메이션을 메타휴먼에 리타기팅하는 데 필요한 요구 사항, 설정, 프로세스를 안내하는 가이드입니다.

Windows
MacOS
Linux

애니메이션 리타기팅(Animation retargeting)스켈레톤 에셋은 같지만 신체 비율이 다르거나 본이 추가된 캐릭터에 애니메이션을 재활용하는 언리얼 엔진 기능입니다. 리타기팅을 사용하면 외관이 다른 캐릭터의 애니메이션을 가져와서 사용해도 애니메이션을 적용한 스켈레톤의 비율이 잘못되거나 불필요하게 변형되는 일이 없어집니다. 또한, 리타기팅은 캐릭터들이 서로 다른 스켈레톤 에셋을 사용하더라도 이들이 유사한 본 계층구조 를 공유하고 다른 스켈레톤으로 애니메이션을 전달하기 위해 릭(Rig) 이라는 공유 에셋을 사용하는 한, 애니메이션을 서로 공유할 수 있습니다.

메타휴먼 캐릭터의 경우, 언리얼 엔진의 마네킹 스켈레톤과 비슷하지만 더욱 확장된 본 계층구조를 가지고 있습니다. 이 가이드에서는 UE4 마네킹을 메타휴먼에 리타기팅하는 데 필요한 단계를 안내해드립니다.

애니메이션 리타기팅에 대한 보다 자세한 정보는 아래에서 확인할 수 있습니다:

이 가이드를 따르기 위한 전제조건

이 가이드를 시작하기 전에 먼저 언리얼 엔진 마켓플레이스에서 애니메이션 스타터 팩을 다운로드하여 메타휴먼 샘플 프로젝트에 추가하세요. 해당 팩에는 UE4 마네킹과 메타휴먼 캐릭터에 사용할 수 있는 다양한 애니메이션이 들어 있습니다.

1 - 리타깃 포즈 설정하기

UE4 마네킹(또는 다른 마네킹) 애니메이션을 다른 스켈레탈 메시에 리타기팅하려면 두 스켈레톤 에셋 모두 비슷한 본 계층구조를 가지고 있고 똑같은 타깃 포즈를 공유해야 합니다. 그러면 오류가 거의 없거나 아예 없는 상태로 리타기팅할 수 있습니다.

메타휴먼 샘플 프로젝트에는 남성 캐릭터와 여성 캐릭터의 포즈 에셋 이 포함되며, 이 포즈 에셋은 UE4 마네킹의 A 포즈와 일치합니다. 즉, 마네킹 스켈레톤을 메타휴먼 스켈레톤에 리타기팅해도 문제가 없습니다.

자체 제작한 스켈레톤을 리타기팅하고 싶은 경우 UE4 에디터에서 해당 스켈레톤의 포즈를 수동으로 지정할 수는 있지만, 스켈레톤이 제대로 작동하려면 정확한 포즈를 공유해야 하므로 이를 권장하지는 않습니다. 대신, Maya 같은 DCC 애플리케이션을 사용하여 소스와 타깃 스켈레톤의 포즈를 수동으로 조정하는 것이 좋습니다.

  1. 'AnimStarterPack/UE4_Mannequin/Mesh' 폴더에 있는 SK_Mannequin_Skeleton 에셋을 엽니다.

    1_1_MannequinSkeletonEditor.png

  2. 'SampleMetaHumans/Common/Female/Medium/NormalWeight/Body' 폴더에 있는 metahuman_base_skel 에셋을 엽니다. 메타휴먼 스켈레톤은 남녀 캐릭터가 함께 공유하며, UE4 마네킹 애니메이션 리타기팅을 간소화하는 데 도움이 됩니다.

    1_2_MetaHumanMaleSkeletonEditor.png

  3. 메타휴먼 스켈레톤 에디터에서 프리뷰 씬 세팅(Preview Scene Settings) 패널로 이동합니다. 애니메이션 리타깃에 사용할 캐릭터에 따라 Preview Mesh (스켈레톤) 를 남성이나 여성 캐릭터로 설정해야 합니다. 기본값은 여성 캐릭터입니다(f_med_nrw_body_skmesh). 이 가이드에서는 남성 캐릭터를 사용하겠습니다. 드롭다운 메뉴에서 m_med_nrw_body_skmesh 를 선택합니다. 이 단계는 중요합니다. 그 이유는 여러 명의 캐릭터가 이 스켈레톤 에셋을 공유하기 때문입니다.

    1_3_SkelEdt_AssignPreviewMesh.png

  4. 각 스켈레톤의 스켈레톤 에디터의 메인 메뉴에서 창(Window) 메뉴 아래 있는 리타깃 매니저(Retarget Manager) 를 엽니다. 그러면 해당 창이 에디터 왼쪽에서 열립니다.

    1_4_RetargetManager.png

  5. 리타기팅 프로세스 때 각 스켈레톤(소스 및 타깃)이 같은 포즈를 공유하는 것이 중요합니다. 메타휴먼 스켈레톤의 포즈는 UE4 마네킹 스켈레톤의 포즈와 정확하게 일치해야 합니다. 이를 위해 이 샘플에 포함된 남성과 여성 스켈레톤용으로 특별히 제작된 포즈 에셋(Pose Asset) 을 사용하겠습니다. 리타깃 매니저 패널 하단에서 포즈 변경(Modify Pose) 을 클릭하고 드롭다운 메뉴를 사용하여 RetargetPoseMedAvgMale_PoseAsset 을 선택합니다.

    1_5_ModifyPose_SelectPoseAssetFile.png

  6. 임포트(Import) 를 클릭하여 UE4 마네킹 스켈레톤과 일치하는 포즈 에셋을 사용합니다. 포즈 숨김/포즈 보기(Hide/View Pose) 버튼을 사용하여 차이점을 비교할 수 있습니다.

이제 메타휴먼 스켈레톤의 본 각도와 위치가 UE4 마네킹과 정확하게 일치하므로, 나중에 성공적으로 리타기팅할 수 있습니다. 이 포즈를 사용하면 메타휴먼 스켈레톤의 비율이 바뀌지 않습니다.

기본 메타휴먼 포즈

변경된 메타휴먼 포즈

2 - 각 스켈레톤의 리타깃 릭 정의하기

이 단계에서는 리타기팅 절차 동안 스켈레톤이 사용할 릭 유형을 설정합니다. 둘 다 직립 보행 인간형 캐릭터이므로, 언리얼 엔진에 포함된 인간형 릭(Humanoid Rig) 을 사용합니다. 이 릭은 스켈레톤의 본 계층구조 정보를 사용하여 UE4 마네킹의 애니메이션을 메타휴먼 애니메이션에 리타기팅합니다.

두 스켈레톤 모두 같은 본 구조를 공유하지만, 메타휴먼의 경우 손과 목 같은 부위에 추가 본이 있다는 점이 조금 다릅니다. 이 단계를 통해 메타휴먼의 목에 있는 본을 리매핑하여 적절하게 리타기팅할 수 있도록 만들겠습니다.

  1. 리타깃 매니저 패널의 릭 셋업(Set up Rig) 아래에서 릭 선택(Select Rig) 드롭다운 메뉴를 사용하여 인간형 릭 을 선택합니다. 해당 열이 소스와 타깃 본으로 채워질 것입니다. 타깃 열에는 계층구조에서 선택한 본을 리맵하는 드롭다운 메뉴가 포함됩니다.

    2_1_SelectRig.png

  2. UE4 마네킹 스켈레톤과 메타휴먼 스켈레톤 각각에 1단계를 반복 합니다.

  3. 메타휴먼 스켈레톤 은 여러 개의 본을 특정하게 리맵해야 합니다. 타깃(Target) 열을 사용하여 아래 나열된 본을 선택하고 드롭다운 메뉴를 사용하여 지정된 본에 선택한 본을 리맵합니다.

    2_3_SetTargetSpineBones.png

    1. spine_01 -> spine_02

    2. spine_02 -> spine_03

    3. spine_03 -> spine_04

  4. 저장(Save) 을 클릭하고, 각 스켈레탈 메시 에디터에 똑같은 작업을 수행합니다.

이 단계가 중요한 이유는 원래의 UE4 마네킹에는 없는 추가적인 척추 데이터가 메타휴먼 스켈레톤에는 있기 때문입니다. 애니메이션을 제대로 매핑하려면, 데이터를 어떻게 가져오는지 알아야 합니다. 예를 들어, 이 척추 본은 UE4 마네킹에서 메타휴먼에 매핑해야 합니다. 하지만 손바닥 본의 경우 UE4 마네킹에는 리매핑이 필요한 데이터가 없습니다.

3 - 선택한 애니메이션을 메타휴먼에 리타기팅하기

마지막 단계에서는 UE4 마네킹의 애니메이션을 가져와 메타휴먼 캐릭터에 리타기팅하겠습니다.

  1. 콘텐츠 브라우저에서 'AnimStarterPack' 폴더를 엽니다. Walk_Fwd_Rifle_Ironsights 애니메이션을 찾아 우클릭하고 컨텍스트 메뉴를 엽니다. 애님 에셋 리타깃(Retarget Anim Assets) > 애님 에셋 복제후 리타깃(Duplicate Anim Assets and Retarget) 을 선택합니다.

    4_1_RetargetAnimAssets.png

  2. 리타깃 매니저 창이 열리고 소스 (UE4 마네킹)와 타깃 프리뷰가 나타납니다. (타깃 창에는 아직 리타기팅할 메타휴먼 스켈레톤이 표시되지 않습니다.) 스켈레톤 선택(Select Skeleton) 목록 아래에서 메타휴먼 스켈레톤(metahuman_base_skel )을 선택합니다.

    4_2_RetargetMgr_SelectMHSkeleton.png

  3. 리타기팅 프로세스는 기존 애니메이션을 대체하는 게 아니라 복제하는 작업이므로, 변경(Change) 버튼을 클릭하여 프로젝트에 저장할 위치를 설정합니다. 위치를 설정하지 않으면 루트 폴더에 저장됩니다.

    4_3_RetargetSaveFolder.png

  4. 리타깃(Retarget) 을 클릭합니다. 리타기팅된 애니메이션을 저장하기 위해 선택한 폴더가 콘텐츠 브라우저에서 자동으로 열립니다.

리타기팅된 애니메이션을 열어 리타기팅 프로세스가 의도대로 작동하는지 확인합니다. UE4 마네킹의 원본 애니메이션과 메타휴먼 남성 캐릭터의 리타기팅된 애니메이션을 비교할 수 있습니다.

4 - 최종 결과

언리얼 엔진에서 UE4 마네킹을 사용하여 다른 스켈레톤 에셋을 위해 제작했던 기존 애니메이션을 메타휴먼 캐릭터에 리타기팅하는 프로세스를 살펴봤습니다. 이 가이드에서는 메타휴먼 남성 캐릭터를 사용하는 데 초점을 맞추었지만, 메타휴먼 여성 캐릭터를 사용하는 경우에도 리타기팅용 포즈 에셋을 지정하는 부분과 사용되는 프리뷰 스켈레탈 메시를 제외하면 과정은 비슷합니다.

다음은 애니메이션 스타터 팩의 몇가지 애니메이션을 리타기팅한 메타휴먼 남성 캐릭터의 예시입니다.

Select Skin
Light
Dark
언리얼 엔진 문서의 미래를 함께 만들어주세요! 더 나은 서비스를 제공할 수 있도록 문서 사용에 대한 피드백을 주세요.
설문조사에 참여해 주세요
건너뛰기

새로운 언리얼 엔진 4 문서 사이트에 오신 것을 환영합니다!

문서 사이트에 대한 의견을 모을 수 있는 피드백 시스템을 포함해서 여러가지 새로운 기능을 준비하고 있습니다. 아래 Documentation Feedback 포럼(영문) 또는 언리얼 엔진 네이버 공식 카페(한글) 중 편하신 곳에 의견이나 문제점을 알려 주세요.

새 시스템이 준비되면 알려 드리겠습니다.

네이버 카페
공식 포럼