다음 섹션에서는 나나이트가 활성화되어 있으면서 동시에 비나나이트 기능 및 플랫폼도 지원해야 하는 프로젝트에서 에셋 복제 없이 사용할 수 있는 워크플로를 집중적으로 설명합니다.
나나이트용 고해상도 메시 임포트하기
콘텐츠 브라우저 또는 스태틱 메시 에디터에서 고해상도 메시를 기존 비나나이트 스태틱 메시에 대한 나나이트 표현으로 임포트할 수 있습니다.
콘텐츠 브라우저의 스태틱 메시 에셋에서 컨텍스트 메뉴를 우클릭하여 '레벨 오브 디테일(Level of Detail)' > '고해상도(High Res)' > '고해상도 임포트(Import High Res)'를 선택하고 임포트하려는 파일로 이동합니다.
또는 스태틱 메시 에디터의 '디테일' 패널에서 '나나이트(Nanite)' 세팅을 사용하여 고해상도 메시를 임포트할 수도 있습니다. '임포트(Import)'를 클릭하고 임포트하려는 파일로 이동합니다.
이 워크플로를 사용하면 임포트 프로세스에서 나나이트 지오메트리를 통해 예비 메시를 자동 생성하는 대신, 기존의 스태틱 메시 및 해당 레벨 오브 디테일 체인이 예비 메시가 됩니다.
이러한 워크플로는 씬의 스태틱 메시 액터에서 '나나이트 허용 안 함(Disallow Nanite)' 세팅을 적용하며, 아래의 스태틱 메시 컴포넌트 옵션 섹션에 자세히 설명되어 있습니다.
머티리얼 워크플로
머티리얼로 비나나이트 및 나나이트 워크플로를 향상하는 방법은 두 가지가 있습니다.
머티리얼 그래프에서 노드를 사용하여 로직 경로를 분리합니다.
나나이트로 렌더링할 때만 사용되는 오버라이드 머티리얼을 사용합니다.
나나이트 패스 스위치 노드
Nanite Pass Switch 노드를 사용하면 나나이트로 렌더링할 때 머티리얼 그래프에서 특화된 비헤이비어를 정의할 수 있습니다.
비나나이트 패스로 렌더링하는 경우 '디폴트(Default)' 입력을 사용하여 일반적인 방법대로 머티리얼을 처리할 수 있습니다. 단순화하거나 특별히 나나이트 패스로 렌더링하고 싶은 머티리얼 로직에는 '나나이트' 입력을 사용합니다. 예를 들어 머티리얼에 나나이트가 지원하지 않는 기능이 사용되는 경우, 디폴트 입력에 대해서는 동일한 로직을 유지하고 나나이트 입력에는 더 친숙한 로직을 사용해도 됩니다.
나나이트 오버라이드 머티리얼
'나나이트 오버라이드 머티리얼(Nanite Override Material)' 슬롯은 머티리얼과 머티리얼 인스턴스에서 사용할 수 있습니다. 오버라이드 머티리얼을 설정하는 경우, 할당된 머티리얼 또는 머티리얼 인스턴스가 있는 나나이트 활성화 메시는 레퍼런스된 나나이트 오버라이드 머티리얼을 대신 사용하게 됩니다. 이는 나나이트 패스 스위치 노드를 사용하여 머티리얼 그래프 내에서 직접 로직을 관리하는 대신 나나이트 워크플로 전용 머티리얼을 생성할 수 있다는 뜻입니다.
머티리얼 인스턴스에서 나나이트 오버라이드 머티리얼 슬롯은 강제로 '없음(None)'으로 기본 설정됩니다. 따라서 부모 머티리얼에서 오버라이드를 설정해도 해당 머티리얼의 자손 인스턴스에서 오버라이드가 자동으로 상속되지 않습니다.
아래 예시에서 조각상의 스태틱 메시 에셋에는 나나이트가 활성화되어 있으며, 머티리얼 인스턴스가 적용되어 있습니다. 해당 머티리얼 인스턴스의 나나이트 오버라이드 머티리얼은 시연 목적으로 단순한 컬러 변경이 설정되어 있습니다. 왼쪽의 스태틱 메시 액터는 메시가 나나이트로 렌더링되고 있으므로 나나이트 오버라이드 머티리얼을 표시합니다. 오른쪽의 스태틱 메시 액터는 '나나이트 허용 안 함'이 액터에 설정될 때까지 같은 머티리얼을 표시하고, 나나이트 오버라이드 머티리얼을 비활성화하여 머티리얼 인스턴스의 비나나이트 베이스 머티리얼을 보여줍니다.
스태틱 메시 컴포넌트 옵션: 나나이트 불허
나나이트 활성화 스태틱 메시가 개별 씬 액터에서 '나나이트 허용 안 함' 세팅으로 나나이트 표현을 사용해야 하는 경우 설정할 수 있습니다. 이는 동일한 스태틱 메시 에셋을 사용하는 나나이트 및 비나나이트 액터가 섞여 있음을 뜻합니다.
다음 예시에는 단일 나나이트 활성화 스태틱 메시 에셋이 나와 있습니다. 왼쪽은 나나이트 메시 표현이고, 오른쪽은 '나나이트 허용 안 함'이 활성화된 모습입니다.
랜드스케이프 터레인
랜드스케이프 액터에서 나나이트를 활성화할 수 있습니다. 에디터에서 사용자 워크플로에 지장을 주지 않도록 나나이트 랜드스케이프 메시는 백그라운드에서 리빌드됩니다. 나나이트 랜드스케이프는 랜드스케이프 해상도를 향상하지 않지만 사용자가 활용할 수 있는 GPU 컬링, 자동 지오메트리 스트리밍, LOD와 같은 나나이트 런타임 기능을 제공합니다. 이는 특히 VSM과 같이 요구 사항이 많은 기능의 경우 일반적으로 런타임 퍼포먼스를 향상합니다.
랜드스케이프에서 나나이트를 활성화하고 사용하는 방법을 알아보려면 랜드스케이프에서 나나이트 사용하기를 참고하세요.
일반 콘텐츠의 퍼포먼스
비교를 위해 다음 GPU 타이밍은 PlayStation 5의 언리얼 엔진 5 테크니컬 데모인 나나이트 세계의 루멘에서 가져왔습니다.
평균 렌더 해상도 1400p가 4K로 템포럴 업샘플링되었습니다.
이 데모의 거의 모든 메시에 해당하는 모든 나나이트 메시를 컬링 및 래스터화하는 시간은 ~2.5밀리초(ms)입니다.
거의 모든 지오메트리에 나나이트 메시가 사용되었습니다.
100% GPU 기반이므로 CPU 비용이 거의 들지 않습니다.
모든 나나이트 메시를 평가하는 시간은 ~2밀리초입니다.
씬에 존재하는 머티리얼당 드로 콜은 1회로, CPU 비용이 매우 낮습니다.
GPU 시간을 모두 합치면 약 4.5밀리초로, 언리얼 엔진 4의 뎁스 프리패스와 베이스 패스를 합친 것에 해당하는 시간입니다. 따라서 나나이트는 60FPS를 목표로 하는 게임 프로젝트에 적합합니다.
이러한 수치는 앞 섹션에서 언급된 퍼포먼스 저하를 유발하지 않는 콘텐츠에서 예상되는 수치입니다. 인스턴스와 고유 머티리얼 수가 매우 많은 경우에도 비용이 높아질 수 있기 때문에 나나이트 개발 과정에서 이 영역에 대해 집중적으로 작업이 진행되고 있습니다.