메타휴먼을 구성하는 다양한 컴포넌트는 각각 다른 레벨 오브 디테일(Levels of Detail, LOD)을 가지고 있습니다. LOD는 카메라와의 거리에 따라 메시 또는 그룸의 복잡도를 제어합니다. 예를 들어 플레이어 캐릭터 같이 카메라에서 가까운 메타휴먼은 수많은 인물들로 구성된 군중 속의 메타휴먼보다 더 높은 디테일을 가집니다.
이 페이지에서는 서로 다른 메타휴먼 컴포넌트의 LOD 작동 방식을 살펴봅니다.
언리얼 엔진에서 LOD에 대해 더 자세히 알아보려면 언리얼 엔진 문서의 Skeletal Mesh LODs 페이지를 참고하세요.
LODSync 컴포넌트
메타휴먼의 블루프린트는 메타휴먼의 시각적 표현을 구성하는 다양한 컴포넌트를 하나로 모읍니다. 이러한 컴포넌트는 서로 다른 타입의 지오메트리와 서로 다른 LOD를 사용합니다.
LODSync 컴포넌트는 여러 메타휴먼 컴포넌트의 LOD를 관리하고 동기화하여, 일반적인 LOD처럼 각 컴포넌트가 화면 크기에 따라 개별적으로 변하는 대신 모든 컴포넌트가 동시에 LOD를 전환하도록 합니다. 이로 인해 각 컴포넌트가 동일한 LOD 수를 갖고 있지 않더라도 바디, 헤드, 헤어, 클로스 등 메타휴먼의 다양한 컴포넌트 간에 시각적인 퀄리티와 일관성이 유지됩니다.
예를 들어 목 위쪽의 컴포넌트(페이스와 모든 헤어 그룸)는 최대 8단계의 LOD를 사용할 수 있습니다. 반면, 목 아래쪽의 컴포넌트(바디, 발, 다리 및 상반신)는 4단계의 LOD만 가집니다. LODSync 컴포넌트 덕분에, 목 위 컴포넌트가 LOD 퀄리티를 두 단계 변경할 때마다 목 아래 컴포넌트는 한 단계만 변경됩니다.
LODSync 컴포넌트는 메타휴먼 블루프린트의 컴포넌트(Components) 패널 하단에 있습니다.
참고로, 메타휴먼 블루프린트는 기본적으로 BP_MetaHumanName 형식으로 이름이 지정됩니다. 예를 들어 메타휴먼 이름이 Roux라면 블루프린트 이름은 BP_Roux가 됩니다.
LODSync 컴포넌트를 선택하면 디테일(Details) 패널의 LOD 카테고리에서 해당 세팅을 환경설정할 수 있습니다.
LODSync 컴포넌트에는 다음과 같은 환경설정 가능한 프로퍼티가 포함되어 있습니다.
| 프로퍼티 | 설명 |
|---|---|
LOD 수(Num LODs) | 다른 메타휴먼 컴포넌트가 사용할 수 있는 최대 LOD 수를 설정합니다. 기본적으로 8로 설정됩니다. 이 값을 -1로 설정하면 모든 컴포넌트 LOD를 계산하여 사용할 최대 LOD 수를 결정합니다. |
강제된 LOD(Forced LOD) | 이 메타휴먼의 모든 컴포넌트에 사용할 LOD를 설정합니다. 기본적으로 -1로 설정되며, 이는 LODSync 컴포넌트에서 제어하는 다른 세팅에 따라 LOD가 자동으로 전환됨을 의미합니다. 이 값을 0으로 설정하면 모든 컴포넌트에 최고 퀄리티의 LOD가 사용되고, 8로 설정하면 최저 퀄리티의 LOD가 사용됩니다. 예를 들어 군중을 구성하는 수많은 메타휴먼에 대해 강제 LOD(Forced LOD)를 0 또는 1로 설정하면 게임 퍼포먼스에 부정적인 영향을 미칠 수 있습니다. |
최소 LOD(Min LOD) | 컴포넌트를 동기화할 때 사용할 최소 LOD입니다. 기본적으로 0으로 설정됩니다. |
동기화할 컴포넌트(Components to Sync) | LOD가 다른 컴포넌트를 제어하거나, 다른 컴포넌트에 의해 제어될 수 있는 컴포넌트들의 배열입니다. 컴포넌트에는 이름(Name)과, 해당 컴포넌트가 다른 컴포넌트와 어떻게 동기화될지를 제어하는 동기화 옵션(Sync Option)이 있습니다.
드라이브로 플래그 지정된 컴포넌트는 우선순위 순서로 처리되며, 목록에서 가장 마지막 컴포넌트가 가장 높은 우선순위를 가집니다. 가장 높은 우선순위의 보이는 컴포넌트가 다른 모든 컴포넌트의 LOD를 설정합니다. 보이는 컴포넌트가 없으면 가장 높은 우선순위의 보이지 않는 컴포넌트가 LOD를 설정합니다. |
커스텀 LOD 매핑(Custom LOD Mapping) | LOD 전환 방식을 보다 세밀하게 제어할 수 있는 컴포넌트의 배열입니다. 메타휴먼의 경우, 각 매핑은 8개의 LOD를 포함하고 있으며 해당 LOD에 맞게 매핑됩니다. 예를 들어 아래 스크린샷에서 보듯이 바디 컴포넌트는 전체 LOD가 두 번 변할 때마다 한 번 LOD가 전환됩니다. 참고로, 언리얼 엔진에서 배열 아이템은 항상 0부터 번호가 시작됩니다. |
그룸 에셋 LOD
메타휴먼은 현실 세계의 사람들처럼 헤드와 페이스를 덮는 다양한 양의 헤어를 가지고 있습니다. 여기에는 헤어스타일, 눈썹, 속눈썹, 수염, 콧수염, 벨루스(인체를 덮고 있는 미세한 잔털로, '솜털'이라고도 함)가 포함됩니다.
이러한 모든 타입의 헤어는 언리얼 엔진에서 그룸 에셋으로 저장됩니다. 각 그룸 에셋은 Groom Asset Editor에서 개별적으로 환경설정할 수 있습니다. 그룸은 개별 스트랜드, 카드, 로우 폴리 메시 등 다양한 타입의 지오메트리로 구성될 수 있으므로, 최적의 LOD로 표시되도록 환경설정하는 것이 중요합니다. 예를 들어 리얼타임 씬에서 수십 명의 메타휴먼이 최고 퀄리티의 LOD와 스트랜드 기반 그룸을 사용할 경우, 저사양 하드웨어에서 퍼포먼스 저하가 발생할 수 있습니다. 이러한 그룸을 헤어 카드나 메시로 변경하면 퍼포먼스가 향상됩니다.
언리얼 엔진에서 그룸 에셋을 다루는 방법을 자세히 알아보려면 언리얼 엔진 문서의 Groom Asset Editor User Guide 페이지를 참고하세요.
아래 스크린샷은 그룸 에셋 에디터에서 메타휴먼 헤어스타일 그룸이 어떻게 표시되는지 보여줍니다. 오른쪽(1)에는 LOD 패널이 보입니다. 왼쪽(2)에는 현재 LOD와 현재 화면 크기에 비례한 스트랜드 수에 대한 정보 박스가 있습니다. 이 정보는 작업할 때 유용할 수 있습니다.
LOD 패널은 이 그룸 에셋이 가진 모든 개별 LOD를 관리합니다. 각 LOD에 대해 데시메이션(균등 감소) 정도, 그룸이 다음 LOD로 전환될 화면 크기, 그리고 그룸이 지원할 지오메트리 타입 등을 포함한 다양한 항목을 환경설정할 수 있습니다.
그룸 에셋은 세 가지 타입의 지오메트리를 지원합니다.
스트랜드
카드
메시
이러한 각 타입에는 별도의 패널이 있어, 해당하는 개별 프로퍼티를 추가로 커스터마이징할 수 있습니다.
아래 예시는 각 그룸 에셋 지오메트리 타입별 최고 LOD를 보여줍니다.
언리얼 엔진 프로젝트가 특정 플랫폼을 대상으로 하고 퍼포먼스 요구 사항이 엄격한 경우, 그룸 에셋 에디터의 LOD 패널에서 사용할 최소 LOD를 지정할 수 있습니다. 이 세팅은 개별 LOD 세팅 뒤에 위치한 LOD 패널 내에서 찾을 수 있습니다. 예를 들어 스트랜드 기반 헤어를 사용할 필요가 없다면, 최소 LOD를 3으로 설정하세요. 이는 카드 기반 헤어 지오메트리에서 가장 높은 퀄리티의 LOD입니다.
일부 플랫폼에 대해서만 LOD 오버라이드를 환경설정하려면, 추가(Add) (+)를 클릭하고 환경설정하려는 플랫폼을 선택합니다. 이 메뉴에서 보이는 플랫폼은 언리얼 엔진 설치가 환경설정된 방식에 따라 달라집니다. 추가 플랫폼 지원 방법은 언리얼 엔진 문서의 Installing Unreal Engine 페이지를 참고하세요.
스트랜드 대신 헤어 카드 강제 사용
스트랜드 기반 헤어 그룸이 필요하지 않으면 아래 콘솔 명령을 사용하여 원래 스트랜드를 사용했을 모든 헤어 그룸에 대해 스트랜드 대신 카드 기반 지오메트리를 사용하도록 강제할 수 있습니다.
r.HairStrands.UseCardsInsteadOfStrands 1
이 명령은 메시 기반 헤어 지오메트리에는 영향을 미치지 않습니다.