이 튜토리얼에서는 애니메이션 블루프린트를 사용하여 언리얼 엔진 5 마네킹인 퀸(Quinn)에서 메타휴먼으로 애니메이션을 리타기팅하고 메타휴먼을 레벨 내에서 플레이 가능한 캐릭터로 사용하는 방법을 알아봅니다.
이 메서드는 IK 릭 다리 배치 기능을 사용하지 않습니다. 애니메이팅된 메타휴먼의 다리는 지형에 동적으로 맞춰지지 않습니다. IK 릭 기능을 사용하려면 런타임 애니메이션 리타기팅 페이지를 참조하세요.
필수 지식 및 구성
이 페이지의 내용을 따라하려면 언리얼 엔진의 애니메이션 블루프린트에 대한 기초 지식이 필요합니다.
이 페이지에서 설명되어 있는 단계를 따르기 전에 다음을 수행해야 합니다.
-
삼인칭(Third Person) 템플릿을 사용하여 새 언리얼 엔진 프로젝트를 생성합니다. 이 단계를 완료하는 데 도움이 필요하면 다음 언리얼 엔진 5 문서를 참조하세요.
-
메타휴먼을 다운로드하여 프로젝트에 임포트합니다. 이 단계를 완료하는 데 도움이 필요하면 다음 문서를 참조하세요.
워크플로
이 워크플로는 다음과 같은 단계로 구성됩니다.
-
퀸 애니메이션 블루프린트를 메타휴먼의 스켈레탈 메시에 리타기팅합니다.
-
제어 가능한 메타휴먼 블루프린트를 생성합니다.
-
메타휴먼을 게임 모드 블루프린트의 디폴트 폰 클래스로 설정합니다.
-
다리 애니메이션을 수정합니다.
퀸 애니메이션 블루프린트 리타기팅
첫 단계는 퀸 애니메이션을 제어하는 퀸 애니메이션 블루프린트를 메타휴먼의 스켈레탈 메시에 리타기팅하는 것입니다.
다음 단계를 따릅니다.
-
콘텐츠 브라우저(Content Browser) 에서
ABP_Quinn
애니메이션 블루프린트를 찾습니다. 이렇게 하려면 검색 바를 사용하거나Content/Characters/Mannequins/Animations
폴더로 이동합니다. -
ABP_Quinn
애니메이션 블루프린트를 우클릭하고 컨텍스트 메뉴에서 애니메이션 에셋 리타깃(Retarget Animation Assets) > 애님 블루프린트 복제 및 리타깃(Duplicate Anim Blueprints and Retarget) 을 선택합니다. -
IK 리타깃 툴(IK Retargeter) 섹션에서 드롭다운을 클릭하고 RTG_Mannequin 에셋을 선택합니다.
이렇게 하면 소스 스켈레탈 메시(Source Skeletal Mesh) 및 타깃 스켈레탈 메시(Target Skeletal Mesh) 프리뷰가 모두 매니(Manny) 스켈레탈 메시로 채워집니다.
-
프리뷰 아래의 타깃 스켈레탈 메시 드롭다운을 클릭하고 메타휴먼에 해당하는 바디 메시를 선택합니다.
모든 스켈레탈 메시는 성별 표현_키_체중_메시 용도, 즉
gender-presentation_height_weight_mesh-purpose
라는 동일한 명명 규칙을 따릅니다. 이 튜토리얼에서는 어트리뷰트가 다음과 같은 Bryan 프리셋을 사용합니다.- gender-presentation: m
- height: med
- weight: nrw
바디 메시에는
_body
접미사가 있습니다.이 튜토리얼에서 사용하는 메시는
m_medium_nrw_body
로 명명되어 있습니다. 드롭다운에서 이것을 검색하고 선택합니다. -
(선택사항) 리타기팅된 에셋에 대한 추가 옵션을 환경설정합니다.
- 새 에셋의 파일 이름에 추가할 접두사 또는 접미사 를 입력합니다.
- 폴더(Folder) 옵션 옆의 변경(Change) 을 클릭하고 리타기팅된 에셋을 생성할 경로를 탐색합니다.
-
리타깃(Retarget) 을 클릭합니다.
오른쪽 하단에 "
{Number}
에셋이 새 스켈레톤{mesh-name}
에 리타기팅되었습니다. 자세한 내용은 출력을 참고하세요."라는 메시지가 표시됩니다. 이 메시지는 리타기팅에 성공했음을 나타냅니다.또한 콘텐츠 브라우저에서 리타기팅된 신규 에셋을 확인할 수 있습니다.
-
콘텐츠 브라우저 에서 모두 저장(Save All) 을 클릭하여 새로 생성된 에셋을 저장합니다.
이 단계의 일부로 생성된 애니메이션 블루프린트 에셋의 이름과 위치를 기록해 둡니다. 나중에 이 정보가 필요합니다.
이 튜토리얼의 목적에 맞게 파일을 Content
폴더에 저장하고 파일 이름은 변경하지 않습니다.
제어 가능한 메타휴먼 블루프린트 생성
다음으로는 제어 가능한 메타휴먼 블루프린트를 생성합니다. 이 튜토리얼의 후반부에 이 블루프린트를 사용하여 퀸을 레벨 내에서 플레이 가능한 캐릭터로서 메타휴먼으로 대체합니다.
아래 워크플로에서는 두 블루프린트 에디터를 오가야 합니다. 단계를 따르기 전에 올바른 블루프린트 에디터에 들어가 있는지 확인하세요.
다음 단계를 따릅니다.
-
콘텐츠 브라우저 에서
BP_ThirdPersonCharacter
블루프린트 클래스를 찾습니다. 이 블루프린트는Content/ThirdPerson/Blueprints
폴더에 있습니다. -
컨텍스트 메뉴에서
BP_ThirdPersonCharacter
블루프린트를 우클릭하고 복제(Duplicate) 를 선택합니다. -
복제된 블루프린트를
BP_MetaHumanCharacter
로 명명합니다. -
블루프린트 에디터 에서
BP_MetaHumanCharacter
블루프린트를 더블클릭하여 열고 뷰포트(Viewport) 탭으로 전환합니다.새로 생성된 BP_MetaHuman 캐릭터 블루프린트는 아직 퀸 스켈레탈 메시를 사용합니다. 다음 단계에서 이를 변경합니다.
-
콘텐츠 브라우저 로 돌아가서 메타휴먼 블루프린트를 찾습니다. 이 블루프린트는
Content/MetaHumans/(메타휴먼 이름)
폴더에 있으며, 블루프린트 이름은BP_(메타휴먼 이름)
입니다.이 튜토리얼에서는 해당 블루프린트가
Content/MetaHumans/Bryan
에 있고BP_Bryan
으로 명명된 Bryan 프리셋을 사용합니다. 블루프린트 에디터 에서BP_Bryan
블루프린트를 더블클릭하여 열고 뷰포트 탭으로 전환합니다. -
BP_Bryan
블루프린트에서 바디(Body) 컴포넌트를 클릭(1)합니다. 디테일(Details) 패널에서 메시(Mesh) 섹션으로 이동(2)하여 스켈레탈 메시(Skeletal Mesh) 프로퍼티를 찾습니다. 에셋 탐색(Browse to Asset) 을 클릭(3)합니다.이미지를 클릭하면 최대 크기로 볼 수 있습니다.
이 버튼을 클릭하면 콘텐츠 브라우저에서 이 메타휴먼의 바디 스켈레탈 메시로 이동합니다.
-
BP_MetaHumanCharacter
블루프린트로 전환하여 바디 컴포넌트를 클릭(1)합니다. 디테일 패널에서 메시 섹션으로 이동(2)하여 스켈레탈 메시 프로퍼티를 찾습니다. 콘텐츠 브라우저에서 선택된 에셋 사용(Use Selected Asset from Content Browser) 을 클릭(3)합니다.이미지를 클릭하면 최대 크기로 볼 수 있습니다.
-
BP_Bryan
블루프린트로 전환합니다. 컴포넌트(Components) 탭에서 다음 컴포넌트를 선택합니다.- 발(Feet)
- 다리(Legs)
- 상반신(Torso)
- 페이스(Face)
- 헤어(Hair)
- 눈썹(Eyebrows)
- 솜털(Fuzz)
- 속눈썹(Eyelashes)
- 콧수염(Mustache)
- 수염(Beard)
여러 개의 컴포넌트를 선택하려면 선택할 첫 컴포넌트를 클릭합니다. 그런 다음 Shift 키를 누른 상태로 선택할 마지막 컴포넌트를 클릭합니다.
Ctrl + C 키보드 단축키를 사용하여 선택한 컴포넌트를 복사합니다.
-
BP_MetaHumanCharacter
블루프린트로 전환합니다. 컴포넌트 패널에서 Mesh (CharacterMesh0) 컴포넌트를 클릭하고 Ctrl + V 키보드 단축키를 사용하여 이전 단계에서 복사한 컴포넌트를 붙여넣습니다. -
이전 단계를 계속하여 컴포넌트 패널에서 앞서 복사한 컴포넌트 를 선택한 뒤 클릭하고 드래그하여 알맞은 메시 컴포넌트에 부모 지정합니다. 완료된 계층구조는 아래 스크린샷과 같아야 합니다.
모든 컴포넌트에 알맞은 부모가 있으면 이 창의 컴포넌트 순서는 관계 없습니다.
-
다리, 발, 페이스, 상반신 컴포넌트를 선택(1)합니다. 그런 다음 디테일 패널에서 트랜스폼(Transform) 섹션으로 이동합니다. 위치(Location) 및 회전(Rotation) 값 옆의 리셋(Reset) 버튼을 클릭(2)하여 두 값을 0으로 리셋합니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
여러 개의 컴포넌트를 비연속적으로 선택하려면 Ctrl 키를 길게 누르고 선택할 각 컴포넌트를 클릭합니다.
-
메시(Mesh) 컴포넌트를 선택합니다. 디테일 패널에서 애니메이션(Animation) 섹션으로 이동하여 다음 프로퍼티를 환경설정합니다.
- 애니메이션 모드(Animation Mode): 애니메이션 블루프린트 사용(Use Animation Blueprint) 으로 설정합니다.
- 애니메이션 클래스(Animation Class): 위 섹션에서 생성한
ABP_Quinn
애니메이션 블루프린트를 선택합니다.
-
BP_Bryan
블루프린트의 블루프린트 에디터 로 전환합니다. 함수(Functions) 패널에서 EnableMasterPose 함수를 클릭하고 Ctrl + C 키보드 단축키를 사용하여 복사합니다.이미지를 클릭하면 최대 크기로 볼 수 있습니다.
-
BP_MetaHumanCharacter
블루프린트로 전환합니다. 함수 패널 안을 클릭하고 Ctrl + V 키보드 단축키를 사용하여 이전 단계에서 복사한 EnableMasterPose 함수를 붙여넣습니다. -
이전 단계에 이어서
BP_MetaHumanCharacter
블루프린트에서 EnableMasterPose 함수를 더블클릭하여 엽니다. 블루프린트에서 가장 오른쪽에 있는 Set Master Component 노드를 찾습니다.블루프린트를 지금 컴파일하려고 하면 다음과 같은 오류가 발생합니다. "바디와 연관된 프로퍼티를 찾지 못했습니다." 이 문제는 다음 단계에서 수정합니다.
-
컴포넌트 창에서 Mesh (CharacterMesh) 컴포넌트를 블루프린트로 드래그합니다. 그러면 Mesh 노드가 생성됩니다. Mesh 노드의 출력 핀을 클릭하고 드래그하여 Set Master Pose Component 노드의 New Master Bone Component 프로퍼티에 연결합니다. 그러면 Body 노드와 Set Master Pose Component 노드 간의 기존 연결이 끊어집니다.
아래 비디오는 이 프로세스를 보여줍니다.
-
BP_Bryan
블루프린트로 전환합니다. 함수 패널에서 Construction Script 를 더블클릭하여 엽니다. 다음 노드를 Shift를 누른 채 클릭 또는 좌클릭 후 드래그하여 모두 선택한 다음 Ctrl + C 를 눌러서 복사합니다.- Enable Master Pose (3개 모두)
- 발
- 다리
- 상반신
-
BP_MetaHumanCharacter
블루프린트로 전환합니다. 함수 패널에서 Construction Script 를 더블클릭하여 열고 Ctrl + V 를 클릭하여 복사한 노드를 붙여넣습니다. -
Construction Script 노드의 출력 핀을 첫 Enable Master Pose 노드의 입력 핀에 아래와 같이 연결합니다.
-
블루프린트를 컴파일 하고 저장 합니다.
메타휴먼을 디폴트 폰 클래스로 설정
다음으로 BP_MetaHumanCharacter
블루프린트를 현재 게임 모드의 디폴트 폰 클래스(Default Pawn Class) 로 할당해야 합니다. 이렇게 하면 게임에 시작 시 해당 메타휴먼을 플레이 가능한 캐릭터로 사용하도록 알립니다.
다음 단계를 따릅니다.
-
콘텐츠 브라우저 에서
Content/ThirdPerson/Blueprints
폴더로 이동합니다. -
BP_ThirdPersonGameMode
블루프린트를 더블클릭하여 엽니다. -
디폴트 폰 클래스 프로퍼티를
BP_MetaHuman Character
로 설정합니다. -
블루프린트를 컴파일 하고 저장 합니다.
다리 애니메이션 수정
이 시점에서 게임을 언리얼 에디터에서 플레이하면 메타휴먼의 다리가 바닥에 붙어 있는 것을 볼 수 있습니다. 이를 수정하려면 다음 단계를 따릅니다.
-
위의 퀸 애니메이션 블루프린트 리타깃 섹션에서 생성한 애니메이션 블루프린트 파일로 돌아가
ABP_Manny
블루프린트를 엽니다.ABP_Quinn
이 아닌ABP_Manny
블루프린트에서 작업하는 이유는 후자가 전자의 부모 클래스이며, 전자는 부모 클래스로부터 상속하기 때문입니다. -
내 블루프린트(My Blueprint) 패널에서 AnimGraph 애니메이션 그래프를 더블클릭하여 엽니다.
-
AnimGraph 뷰에서 Control Rig 노드를 찾습니다. Alt 키를 누른 채로, 아래 스크린샷에 표시된 입력 및 출력 연결 핀을 좌클릭하여 연결을 해제합니다.
-
Slot ‘DefaultSlot’ 노드의 출력 핀을 Output Pose 노드의 입력 핀에 아래와 같이 연결합니다.
-
블루프린트를 컴파일 하고 저장 합니다.
최종 결과
게임을 플레이하면 플레이어 캐릭터가 이제 메타휴먼이 됩니다. 이 메타휴먼은 대기, 달리기, 점프 애니메이션을 갖추고 있습니다.