이 튜토리얼에서는 언리얼 엔진의 퍼포먼스 캡처 워크플로(Performance Capture) 플러그인의 일부인 모캡 매니저(Mocap Manager)에 대해 완전하게 안내합니다.
이 문서에서는 플러그인 활성화와 모캡 스테이지 표현 설정, 퍼포머와 캐릭터와 프롭 관리, 테이크 녹화 및 검토 등 전체 퍼포먼스 캡처 파이프라인을 지원하는 모든 내용을 다룹니다.
모캡 매니저 구성
퍼포먼스 캡처 워크플로 플러그인 활성화
편집(Edit) > 플러그인(Plugins)으로 이동합니다.
퍼포먼스 캡처 워크플로(Performance Capture Workflow) 플러그인을 검색하여 활성화합니다.
메시지가 표시되면 에디터를 다시 시작합니다.
모캡 매니저 열기
창(Window) > 버추얼 프로덕션(Virtual Production) > 모캡 매니저(Mocap Manager)로 이동합니다.
필수 에셋 생성
메시지가 표시되면 누락된 에셋 생성(Create Missing Assets)을 클릭합니다.
기본 폴더인
Content/Pcap에 저장되었는지 확인합니다.
누락된 에셋 생성 버튼을 클릭하는 대신 세션 및 프로덕션 테이블을 수동으로 생성할 수도 있습니다. 콘텐츠 브라우저에서 추가(Add) > 퍼포먼스 캡처(Performance Capture) > PCap 데이터 테이블(PCap Datatable)로 이동하여 세션 구조체와 프로덕션 구조체가 있는 테이블을 하나씩 생성합니다. 프로젝트 세팅(Project Settings) > 퍼포먼스 캡처(Performance Capture)에서 두 개의 새 테이블에 대한 레퍼런스를 설정합니다.
퍼포먼스 캡처 워크플로 플러그인을 활성화하는 각 프로젝트에 이러한 에셋을 한 번씩만 추가하면 됩니다.
세션 폴더가 만들어지는 방식을 정의하기 위해 자신만의 세션 템플릿을 만들어야 할 수도 있습니다. 추가(Add) > 퍼포먼스 캡처(Performance Capture) > PCap 데이터세트(PCap Dataset)로 이동하여 세션 템플릿 타입을 선택하면 됩니다. 아니면 디폴트 세션 템플릿 에셋을 복제하여 필요에 맞게 수정해도 됩니다(/Plugins/PerformanceCaptureWorkflow/Core/DefaultSessionTemplate).
모캡 매니저 사용
모캡 매니저는 모캡 촬영 중 필요한 사항을 제어하는 중앙화된 위치입니다. 처음부터 끝까지 프로세스를 선형으로 진행할 수 있도록 설계되었습니다.
세션 생성
새 세션 생성 섹션에서 세션 이름과 메모(옵션)를 입력합니다.
+세션(+Session)을 클릭합니다.
폴더 구조체가 생성되고 활성화됩니다.
모캡 매니저에는 한 번에 하나의 세션만 활성화될 수 있습니다.
모캡 매니저에서 폴더 아이콘을 클릭하여 언제든지 세션 폴더로 이동할 수 있습니다.
프로덕션을 사용하면 하나의 언리얼 프로젝트에서 개별 게임이나 시네마틱 전달과 같은 대규모 작업을 체계적으로 구성할 수 있습니다. 이 기능은 선택 사항이며 사용하지 않으려면 디폴트 프로덕션을 사용하면 됩니다.
세션은 개별 캡처 세션(예: 오전/오후 촬영)을 나타냅니다. 세션을 생성하면 세션 때 사용할 폴더와 일부 에셋이 생성됩니다.
세션 템플릿을 사용하면 다이내믹 네이밍 토큰을 사용하여 폴더 구조와 이름을 커스터마이징할 수 있습니다.
모캡 매니저에서 생성한 모든 액터는 세션의 데이터 레이어 또는 서브레벨에 할당됩니다. 각 세션은 새로운 데이터 계층 또는 서브레벨을 갖습니다.
모캡 매니저는 세션을 생성할 때 현재 열려 있는 레벨이 월드 파티션을 사용하는지 아니면 레벨 스트리밍을 사용하는지 확인합니다. 생성 컨텍스트에 따라 [세션 이름]/Scenes 폴더에 데이터 레이어 또는 서브레벨이 생성됩니다. 이 데이터 레이어 또는 서브레벨이 레벨의 편집 컨텍스트가 됩니다. 즉, 모든 액터가 이 컨텍스트 안에 배치됩니다.
언리얼 엔진에서 모캡 스테이지 구성
퍼포먼스 캡처 워크플로 플러그인에는 사전 생성된 BP_DemoStage라는 디폴트 스테이지가 포함되어 있습니다. 이 BP를 원하는 대로 복제하고 편집할 수 있습니다.
스테이지가 카메라 앞의 유효한 바닥에 스폰됩니다. 실제 캡처 스페이스에 맞춰 이동하여 정렬합니다.
모캡 매니저의 스테이지(Stage) 탭에서 그리드 뷰와 스테이지 고스트 메시를 필요에 따라 토글하여 언리얼 레벨의 위치를 실제 스테이지에 맞춰 쉽게 조정할 수 있습니다.
스테이지를 스폰하면 레벨의 현재 컨텍스트에 스테이지가 추가됩니다.
모션 액터 구성
모캡 매니저의 모션(Motion) 탭에서 라이브 링크(Live Link) 서브젝트를 환경설정하고 퍼포머, 프롭, 캐릭터를 생성할 수 있습니다.
라이브 링크 프리뷰
라이브 링크(LiveLink) 탭에서 수신되는 라이브 링크 서브젝트 데이터 중 어떤 데이터를 프리뷰에 표시할지 토글할 수 있습니다. 목록의 아이콘은 데이터 타입인 스켈레탈 메시, 카메라, 마커 중 하나를 나타냅니다.
표시/숨기기 아이콘을 클릭하여 개별 서브젝트 또는 전체를 표시하도록 선택할 수 있습니다.
퍼포머 생성
모캡 매니저의 모션 탭에서 퍼포머(Performers) 탭을 클릭하여 퍼포머를 생성하고 스폰합니다. 퍼포머는 PCapPerformer라는 데이터 에셋에 캡슐화됩니다.
퍼포머를 생성하는 단계는 다음과 같습니다.
퍼포머 탭의 비율 메시 생성(Create Proportioned Mesh) 섹션에 있는 드롭다운 메뉴에서 라이브 링크 서브젝트(Live Link Subject)를 선택합니다. 역할 타입이 '애니메이션'(스켈레탈 데이터)인 서브젝트만 드롭다운에 나열됩니다.
워크플로 시작(Launch Workflow)을 클릭하여 비율 메시 생성 뷰포트를 시작합니다.
뷰포트에서 골반이 0,0에 오도록 스켈레톤을 원점에 정렬하기 위하여 퍼포머에게 정렬될 때까지 위치를 이동하도록 요청합니다.
필요한 경우 퍼포머가 원점에서 포즈를 취하지 않고 휴식을 취할 수 있도록 일시정지를 눌러 애니메이션을 정지시킬 수 있습니다.
메시 및 IK 릭 생성(Create Mesh & IKRig)을 클릭합니다. 그러면 비율 메시 뷰포트가 닫히고 모캡 매니저 패널로 돌아갑니다.
퍼포머 생성(Create Performer)을 클릭하여 PCapPerformer 데이터 에셋을 생성합니다.
이제 퍼포머 스폰(Spawn Performer) 섹션에서 퍼포머를 선택할 수 있습니다. 스폰(Spawn)을 클릭하면 라이브 링크 데이터가 적용된 새로운 스켈레탈 메시가 스폰되며, 스테이지 루트(Stage Root) 액터의 자손이 됩니다.
프롭 생성
모캡 매니저의 모션 탭에서 프롭(Props) 탭을 클릭하여 퍼포머가 사용할 프롭을 생성합니다.
프롭을 생성하는 단계는 다음과 같습니다.
프롭 탭에서 워크플로 시작을 클릭하여 프롭 생성(Create Prop) 뷰포트를 엽니다.
스태틱 메시(Static Mesh) 또는 스켈레탈 메시(Skeletal Mesh) 드롭다운 메뉴에서 프롭에 사용할 메시를 선택합니다.
서브젝트(Subject) 드롭다운에서 라이브 링크 서브젝트를 선택합니다.
프롭 오프셋(Prop Offset) 섹션에서 메시와 서브젝트가 정렬되도록 조정합니다.
이름 오버라이드(Name Override) 필드에 이 프롭의 이름을 입력합니다.
마무리(Finalize)를 클릭합니다. 그러면 프롭 생성 뷰포트가 닫히고 모캡 매니저 패널로 돌아갑니다.
프롭 에셋 생성(Create Prop Asset)을 클릭하여 PCapProp 데이터 에셋을 생성합니다.
이 프롭은 퍼포머 데이터 에셋과 마찬가지로 선택기에서 선택하고 프롭 스폰(Spawn Prop)을 클릭하여 레벨에 스폰할 수 있습니다.
선택 사항: 메타휴먼 준비
기본적으로 메타휴먼 블루프린트는 모캡 리타기팅 및 녹화에 적합하지 않습니다. 왜냐하면 SkeletalMeshComponent를 루트 컴포넌트로 사용하지 않기 때문입니다.
모캡 매니저용 메타휴먼을 준비하는 단계는 다음과 같습니다.
CaptureCharacter에서 파생된 블루프린트를 생성합니다.
메타휴먼 블루프린트에서 필요한 스켈레탈 메시 컴포넌트와 그룸을 새 블루프린트에 복사합니다.
모든 컴포넌트의 데칼을 비활성화합니다.
머리를 제외한 루트에 연결된 모든 스켈레탈 메시 컴포넌트의 컨스트럭션 스크립트에 Follow Leader Pose 노드를 추가하여 이러한 컴포넌트가 루트 컴포넌트에서 포즈를 가져오도록 강제합니다.
블루프린트의 퍼포먼스 캡처(Performance Capture) 섹션에서 모든 컴포넌트가 리더를 따르도록 강제(Force All Components to Follow Leader)를 선택 해제합니다.
캐릭터가 메타휴먼이 아니거나 여러 메시를 사용하지 않는 경우, CaptureCharacter를 직접 사용하여 단일 스켈레탈 메시를 할당할 수 있습니다.
캐릭터 생성
모캡 매니저의 캐릭터(Characters) 탭에서 퍼포머가 제어할 캐릭터를 생성할 수 있습니다.
새 캐릭터 에셋 생성(Create New Character Asset) 섹션에서 다음 정보를 입력합니다.
소스 퍼포머 에셋(Source Performer Asset): 이 캐릭터를 제어할 퍼포머를 선택합니다.
캐릭터 클래스(Character Class): 위의 메타휴먼 예시에서와 같이 커스텀 블루프린트를 사용하지 않는 경우, 디폴트 CaptureCharacter 클래스를 선택합니다.
캐릭터 메시(Character Mesh): 캐릭터에 바디 스켈레탈 메시를 할당합니다. 이는 리타기팅에 필요합니다.
캐릭터 이름(Character Name): 캐릭터 이름을 입력합니다.
캐릭터 에셋 생성(Create Character Asset)을 클릭합니다. 캐릭터 데이터 에셋이 생성되어 퍼포머, 리타깃 에셋, IK 릭, 메시, CaptureCharacter 클래스에 대한 레퍼런스를 저장합니다.
캐릭터 스폰(Spawn Character)을 클릭하여 씬에 캐릭터를 스폰합니다.
캐릭터를 스폰하면 스테이지 루트 액터에 캐릭터가 어태치됩니다.
리타깃 조정
모캡 매니저에서 캐릭터의 리타깃 튜너 버튼을 클릭하면 리타깃 세팅(Retarget Settings) 창이 열립니다. 이 창에서 각 본 체인의 리타깃 프로퍼티를 수정할 수 있습니다. 리타깃 튜너는 명확히 자동 IK 릭 스크립트에 의해 생성된 체인 이름과 일치하도록 명명된 체인을 사용하기 때문에 인간형 이족 보행 타깃에만 작동하도록 설계되었습니다.
모캡 레코더
슬레이트 생성
이름과 메타데이터가 포함된 슬레이트를 사용하여 녹화 이름을 미리 정의합니다. 또한 세션 도중 전체적으로 처리할 체크리스트 기능도 제공합니다.
모캡 매니저에서 슬레이트 탭을 열려면 녹화(Record) 탭을 클릭한 다음 슬레이트(Slates)를 클릭합니다.
슬레이트는 데이터 테이블에 저장됩니다. .csv 파일을 사용하여 업데이트를 임포트할 수 있습니다.
선택한 슬레이트에서 프렙(Prep)을 클릭하여 이 이름을 텍스트 녹화에 사용합니다.
녹화
모캡 매니저에서 모캡을 녹화하는 단계는 다음과 같습니다.
녹화 탭을 클릭한 다음 모캡 레코더를 클릭합니다.
캡처할 액터와 데이터(퍼포머, 프롭, 라이브 링크, 오디오)를 선택합니다.
녹화(Record)를 클릭하여 녹화를 시작합니다. 녹화하는 동안 나머지 인터페이스는 잠깁니다.
중지(Stop)를 클릭하여 레코딩을 중지합니다.
리뷰 패널
녹화는 자동으로 테이크 데이터(Takes Data) 테이블에 기록됩니다.
테이크를 보는 단계는 다음과 같습니다.
모캡 매니저에서 리뷰(Review) 탭을 클릭하고 테이크 보기(Take View)를 클릭합니다.
테이크 데이터에서 테이크를 더블클릭하여 엽니다.
테이크를 연 후에는 녹화를 스크러빙하고 프리뷰하고 검사할 수 있습니다. 정렬 및 필터링을 위해 별 1~5개의 등급을 지정합니다.
테이크 테이블은 추가 프로덕션 추적을 위해 .csv 파일에 익스포트할 수 있습니다.