뎁스 데이터를 활용해 애니메이션을 생성하는 워크플로는 다음 단계로 구성됩니다.
콘텐츠 브라우저에서 우클릭하고 메타휴먼(MetaHuman) > 메타휴먼 퍼포먼스(MetaHuman Performance)를 선택하여 새 메타휴먼 퍼포먼스 에셋을 생성합니다.
메타휴먼 퍼포먼스 에셋 에디터를 열고 '디테일(Details)' 패널로 이동합니다.
입력 타입(Input Type)으로 뎁스 영상(Depth Footage)을 선택합니다.
영상 캡처 데이터(Footage Capture Data) 필드에서 퍼포먼스 테이크를 나타내는 캡처 데이터 에셋을 선택합니다.
메타휴먼 아이덴티티(MetaHuman Identity) 필드에서 테이크에 등장하는 퍼포머의 메타휴먼 아이덴티티 에셋을 선택합니다.
시각화 메시(Visualization Mesh)에서 메타휴먼 페이스 메시를 선택합니다.
처리(Process)를 클릭하여 페이셜 애니메이션을 생성합니다.
뎁스 영상 처리 요구 사항
입력 타입이 뎁스 영상으로 설정된 경우 메타휴먼 퍼포먼스를 실행하려면 다음과 같은 최소 설정이 필요합니다.
영상 캡처 데이터는 퍼포먼스를 담은 영상을 레퍼런스해야 합니다.
메타휴먼 아이덴티티는 퍼포머가 퍼포먼스에서 보여주는 외형에 맞게 환경설정된 메타휴먼 아이덴티티 에셋을 레퍼런스해야 합니다.
이 두 어트리뷰트를 올바르게 환경설정하면 영상을 처리할 준비가 완료된 것입니다.
헤드와 목의 트랜스포메이션은 일종의 기본 포즈와 비교하여 등록해야 합니다. 기본적으로 이 작업은 모든 솔브된 프레임을 분석하여 '정면을 가장 많이 향한 프레임'을 찾아 자동으로 수행됩니다.
헤드의 기본 포즈로 간주하는 특정 프레임을 사용하려는 경우에는 고급(Advanced) 어트리뷰트 섹션에서 이를 비활성화한 다음 레퍼런스 프레임을 수동으로 입력할 수 있습니다. 이 프레임은 솔브된 범위 내에 있어야 합니다.
테이크에 기본 포즈를 나타내는 프레임이 하나도 없는 경우에는 생성된 애니메이션에는 각도 오프셋이 '베이킹'되어 적용되고 이후에 보정해야 합니다. 이 문제는 실제로 고정형으로 마운트된 샷에만 해당되며, 헤드 마운트 디바이스는 애초에 원하는 헤드 공간 무브먼트를 제공하지 않기 때문에 해당되지 않습니다.
처리할 수 있는 최대 프레임 수는 36,000 프레임입니다. 이는 60fps 기준으로 약 10분, 30fps 기준으로 약 20분에 해당합니다. 캡처 데이터 길이는 이 최댓값보다 길어도 됩니다.
이 에셋에 가장 적합한 세팅에 대한 자세한 내용은 권장되는 언리얼 엔진 프로젝트 세팅 페이지를 참고하세요.
뎁스 영상 시간/퀄리티 파라미터
입력 타입이 뎁스 영상으로 설정된 경우, 애니메이션 솔브 과정은 처리 부하가 크고 처리 시간이 길어질 수 있습니다.
정확도를 일부 희생하는 대신 반복작업 속도를 향상하는 데 사용할 수 있는 옵션은 다음과 같습니다. 이러한 옵션을 활용하면 결과물의 퀄리티를 미리 확인할 수 있으며, 많은 연산 비용이 드는 최종 솔브를 실행하기 전에 빠르고 간단하게 테스트해볼 수 있습니다.
처리 시간에 가장 큰 영향을 미치는 요소는 처리할 프레임 수입니다. 처리할 영상의 시작 및 종료 프레임 어트리뷰트를 설정하여 영상 처리 범위를 지정하면 출력 결과에 직접적인 영향을 미칩니다.
솔브 타입(Solve Type)에는 프리뷰(Preview), 표준(Standard), 추가 트위커(Additional Tweakers)라는 세 가지 옵션이 있습니다. 이 파라미터가 반드시 '퀄리티'와 직접 관련된 것은 아니지만, 시간 처리 요구 사항에 따라 다음과 같은 순서로 정렬되어 있습니다.
프리뷰 모드 솔버는 매우 빠르게 동작하며, 애니메이션을 솔브하는 동안 프레임 프리뷰를 제공하기 위해 사용됩니다. 어떤 경우에는 이 기능만으로 충분할 수 있고, 다른 경우에는 매우 제한된 프레임 범위를 지정하여 영상을 빠르게 테스트하면서 모든 것이 정상인지 확인하는 용도로 활용할 수 있습니다.
표준 솔버는 고퀄리티 솔버로, 모든 채널을 처리하지는 않지만 여러 채널에 대해 애니메이션을 생성합니다. 대부분의 최종 고퀄리티 결과물에서 이 세팅을 사용합니다.
추가 트위커 솔버는 표준 솔버와 유사하지만, 트위커 컨트롤에서 지정한 일부 추가 채널에 대해 애니메이션을 생성합니다.
필터링 건너뛰기(Skip Filtering) 어트리뷰트는 애니메이션 커브에 스무딩 포스트 프로세스를 수행할지 여부를 결정합니다. 이 단계를 건너뛰고 처리되지 않은 커브를 얻을 수 있습니다. 현재 메타휴먼 퍼포먼스 에셋에 직접 필터를 사용하는 것은 가능하지 않습니다.
버텍스별 솔브 건너뛰기(Skip Per Vertex Solve) 어트리뷰트는 처리 중 '버텍스별' 솔브를 켜거나 끌지 여부를 결정합니다. 이 어트리뷰트는 기본적으로 활성화되어 있으므로 버텍스별 솔브는 꺼져 있습니다. 버텍스별 솔버는 잠재적으로 더 정확하지만 시간이 많이 걸리는 솔버 옵션으로, 솔버가 각 버텍스에 작은 오프셋을 추가하여 타깃 솔브와 정확히 일치하도록 하여 릭의 컨스트레인트를 '외부'로 이동할 수 있게 해줍니다. 표준 솔버 또는 추가 트위커 솔버에서 적용할 수 있는 버텍스별 솔브의 결과입니다.
프리 버텍스는 입력 데이터의 퀄리티에 크게 좌우되며, 일반적으로 최종 타깃 메타휴먼이 아이덴티티로도 사용할 수 있는 고퀄리티의 디지털 더블 릭인 경우에만 (이 옵션을 비활성화하여) 버텍스별 솔브를 켜는 것이 좋습니다. 또한 잘 보정된 스테레오 헤드 마운트 카메라 쌍을 사용하여 성능을 캡처해야 합니다. 일반적으로 이러한 유형의 데이터로 작업하는 경우가 아니라면 이 옵션을 켜지 않는 것이 좋습니다.
마지막으로 오디오-혀(Audio to Tongue) 솔버는 오디오 입력이 있어야 작동하지만, 현재 테이크에 오디오가 없거나 혀 애니메이션을 표시하지 않거나 전혀 필요하지 않을 수 있습니다. 혀 솔브 건너뛰기(Skip Tongue Solve) 옵션을 사용하면 '오디오-혀' 솔버의 실행 여부를 제어할 수 있습니다.
혀 솔버에도 처리 비용이 들긴 하지만, 그 비용은 매우 낮기 때문에 이 단계를 건너뛴다고 하더라도 각 프레임의 전체 솔브 시간 대비 절약되는 시간은 거의 없습니다.