기본 이동 리타기팅
어셈블된 두 메타휴먼 캐릭터 간에는 기본적인 이동 리타기팅을 사용할 수 있습니다.
레벨에 첫 번째 캐릭터를 추가하고 액터 블루프린트를 실행합니다.
바디(Body) 컴포넌트를 선택하고 애니메이션 모드(Animation Mode)를 애니메이션 에셋 사용(Use Animation Asset)으로 설정하고 적절한 바디 애니메이션 에셋을 선택합니다. 페이스(Face) 컴포넌트에 대해서도 이 과정을 반복합니다.
컴파일(Compile)하고 저장(Save)합니다.
이제 PIE에 들어가면 레벨에서 캐릭터가 움직이는 것을 볼 수 있습니다.
두 번째 캐릭터의 블루프린트를 실행합니다.
바디 컴포넌트를 선택하고 애니메이션 모드를 애니메이션 에셋 사용으로 설정한 다음 첫 번째 캐릭터와 동일한 바디 애니메이션 에셋을 선택합니다. 페이스(Face) 컴포넌트에 대해서도 이 과정을 반복합니다.
컴파일(Compile)하고 저장(Save)합니다.
레벨에 두 번째 캐릭터를 추가합니다.
이제 PIE에 들어가면 레벨에서 두 캐릭터가 움직이는 것을 볼 수 있습니다.
부모 스켈레탈 메시 리타기팅
메시 노드의 리타깃 포즈를 사용하여 어셈블된 메타휴먼 캐릭터에서 다른 메타휴먼 캐릭터로 애니메이션을 리타기팅합니다.
애니메이션 블루프린트 생성
콘텐츠 브라우저에서 타깃 캐릭터의 스켈레탈 메시를 찾습니다.
우클릭하고 생성(Create) > 애님 블루프린트(Anim Blueprint)를 선택합니다.
새 에셋에 이름을 지정하고 더블 클릭하여 에셋 에디터를 엽니다.
애님 그래프를 우클릭하고 Retarget Pose From Mesh 노드를 생성한 다음 출력 포즈(Output Pose)에 연결합니다. 부모 스켈레탈 메시 컴포넌트에 설정된 리타깃 포즈(Retarget Pose) 파라미터를 유지합니다.
IK 리타기터 에셋(IK Retargeter Asset) 파라미터에서 RTG_MH_IKRig 에셋을 선택합니다.
컴파일(Compile)하고 저장(Save)합니다.
부모 스켈레탈 메시
타깃 캐릭터의 액터 블루프린트를 실행합니다.
루트(Root) 아래의 모든 컴포넌트를 선택합니다. Ctrl+C를 사용하여 복사합니다.
소스 캐릭터의 액터 블루프린트를 실행합니다.
Ctrl+V를 사용하여 타깃 캐릭터 컴포넌트를 붙여 넣습니다. 타깃 캐릭터의 바디 컴포넌트를 소스 캐릭터의 바디 컴포넌트 아래로 부모를 지정합니다.
애니메이션의 차이를 더 쉽게 확인할 수 있도록 캐릭터를 오프셋하는 것이 좋습니다.
타깃 캐릭터의 바디 컴포넌트(Body1)를 선택하고 애니메이션 모드를 애니메이션 블루프린트 사용(Use Animation Blueprint)으로 설정한 다음 이전 섹션에서 생성한 것과 동일한 애니메이션 블루프린트 에셋을 선택합니다.
소스 캐릭터의 바디 컴포넌트를 선택하고 애니메이션 모드를 애니메이션 에셋 사용으로 설정한 다음 적절한 애니메이션 에셋을 선택합니다.
리타깃 컴포넌트 워크플로
부모 스켈레탈 메시 리타기팅 시에는 액터 블루프린트를 조정해야 합니다. 자주 다시 어셈블하거나 수정되지 않은 액터 블루프린트로 작업하려는 경우에는 불편할 수 있습니다. 다른 접근법은 리타깃 컴포넌트를 사용하는 것입니다.
이 구성에는 애니메이션을 재생할 액터(소스)와 어셈블된 메타휴먼 캐릭터(타깃)가 필요합니다.
소스 액터는 단순 스켈레탈 메시 컴포넌트여도 됩니다. 소스 액터는 재생될 애니메이션이 녹화되었을 때와 동일한 비율을 사용해야 항상 적용되는 이동 리타기팅으로 인해 비율이 조정되지 않아 리타기팅을 두 번 수행하지 않아도 됩니다. 이것은 어셈블된 메타휴먼 캐릭터의 Common/Body/IdentityTemplate/SKM_Body에서 찾을 수 있는 SKM_Body여야 합니다.
소스 액터에 애니메이션 시퀀스 또는 애님 블루프린트를 적용합니다.
어셈블된 메타휴먼 캐릭터 액터 블루프린트를 엽니다.
여기에 리타깃 컴포넌트를 추가합니다.
액터 블루프린트 에디터를 컴파일하고 저장한 다음 닫습니다.
어셈블된 메타휴먼 캐릭터를 레벨에서 선택하고 리타깃 컴포넌트를 선택합니다.
소스 액터에서 스켈레탈 메시를 소스 스켈레탈 메시 컴포넌트(Source Skeletal Mesh Component)로 선택합니다.
그리고 어셈블된 메타휴먼 캐릭터의 바디는 제어된 스켈레탈 메시 컴포넌트(Controlled Skeletal Mesh Component)로 선택합니다.
게임 애니메이션 샘플 프로젝트의 런타임 부모 스켈레탈 메시 리타기팅
게임 애니메이션 샘플 프로젝트에서 메시 노드의 리타깃 포즈를 사용하여 어셈블된 메타휴먼 캐릭터인 매니(Manny)에서 다른 메타휴먼 캐릭터로 애니메이션을 리타기팅합니다.
이 워크플로를 사용하려면 언리얼 엔진에서 게임 애니메이션 샘플 프로젝트가 열려 있어야 합니다.
애니메이션 블루프린트 생성
콘텐츠 브라우저에서 어셈블된 메타휴먼 캐릭터의 스켈레탈 메시를 찾습니다.
우클릭하고 생성(Create) > 애님 블루프린트(Anim Blueprint)를 선택합니다.
새 에셋에 이름을 지정하고 더블 클릭하여 에셋 에디터를 엽니다.
애님 그래프를 우클릭하고 Retarget Pose From Mesh 노드를 생성한 다음 출력 포즈(Output Pose)에 연결합니다. 부모 스켈레탈 메시 컴포넌트에 설정된 리타깃 포즈(Retarget Pose) 파라미터를 유지합니다.
IK 리타기터 에셋 파라미터에서 RTG_UEFN_to_MetaHuman_nrw 에셋을 선택합니다.
컴파일(Compile)하고 저장(Save)합니다.
부모 스켈레탈 메시
어셈블된 메타휴먼 캐릭터의 액터 블루프린트를 실행합니다.
루트(Root) 아래의 모든 컴포넌트를 선택합니다. Ctrl+C를 사용하여 복사합니다.
매니의 액터 블루프린트를 복제하고 실행합니다.
Ctrl+V를 사용하여 타깃 캐릭터 컴포넌트를 붙여 넣습니다. 타깃 캐릭터의 바디 컴포넌트를 매니의 메시(CharacterMesh0) 컴포넌트 아래로 부모를 변경합니다.
바디 컴포넌트의 트랜스폼(Transform)을 0으로 설정하여 오프셋을 제거합니다.
모든 메타휴먼 캐릭터에 적용되는 디폴트 +2cm 오프셋이 제거되었으므로 매니와 올바르게 정렬하려면 '위치 트랜스폼(Location Transform)'에 -2 오프셋을 적용해야 합니다.
타깃 캐릭터의 바디 컴포넌트를 선택하고 애니메이션 모드를 애니메이션 블루프린트 사용으로 설정한 다음 이전 섹션에서 생성한 것과 동일한 애니메이션 블루프린트 에셋을 선택합니다.
또한 어셈블된 메타휴먼 캐릭터의 스켈레탈 메시 클로딩 컴포넌트가 동일한 애니메이션 블루프린트를 사용하도록 설정해야 할 수도 있습니다.
메시(CharacterMesh0)(Mesh (CharacterMesh0)) 컴포넌트를 선택하고 '표시(Visible)'를 끄고 매니를 숨깁니다.
컴파일(Compile)하고 저장(Save)합니다.
에디터 위젯 업데이트
게임 애니메이션 위젯 에디터를 엽니다.
매니 위젯을 복제합니다. 오브젝트(Object)를 복제된 매니 블루프린트로 설정합니다.
컴파일(Compile)하고 저장(Save)합니다.
레벨 실행
레벨을 실행합니다.
캐릭터를 게임 애니메이션 위젯으로 이동합니다.
이전 섹션에서 생성한 캐릭터를 선택합니다.
다음 단계
라이브 링크를 사용한 리얼타임 애니메이션
라이브 링크에서 메타휴먼 소스를 사용하여 어셈블된 메타휴먼 캐릭터를 실시간으로 애니메이팅하는 방법을 살펴봅니다.