나나이트는 언리얼 엔진의 가상화 지오메트리 시스템입니다. 나나이트는 내부 메시 포맷과 렌더링 기술을 사용하여 픽셀 스케일의 디테일과 방대한 양의 오브젝트를 렌더링합니다. 나나이트의 압축된 데이터 포맷은 자동 레벨 오브 디테일을 통해 높은 디테일의 메시와 세부적인 스트리밍을 지원합니다.
랜드스케이프에 나나이트를 사용하여 특히 버추얼 섀도 맵과 관련하여 나나이트 렌더링으로 퍼포먼스를 향상할 수 있습니다. 비나나이트 랜드스케이프를 사용하는 동안의 에디터 내 퍼포먼스는 나나이트 메시가 완전히 리빌드될 때까지 프로젝트에서 나나이트 활성화 랜드스케이프의 런타임 퍼포먼스를 나타내지 않습니다. 소스 데이터가 동일하므로 제품의 최종 사용자는 시각적 향상이나 다운그레이드를 기대할 수 없습니다.
나나이트와 그 장점에 대한 자세한 내용은 나나이트 가상화 지오메트리를 참조하세요.
때로는 랜드스케이프의 일부가 표준 렌더링을 사용하거나 나나이트 메시가 완전히 업데이트되지 않을 수 있습니다. 이는 예상된 동작입니다. 이러한 문제를 없애려면 프로젝트를 저장하거나 쿠킹하세요.
기술적 고려사항
나나이트 데이터와 비나나이트 데이터가 모두 런타임에 필수적이기 때문에 나나이트 랜드스케이프는 기존 랜드스케이프 데이터 스트리밍에 우선하여 스트리밍됩니다. 비나나이트 랜드스케이프 데이터의 경우 런타임 버추얼 텍스처, 물 렌더링 등에 필요합니다.
즉, 두 배의 데이터가 스트리밍됩니다. 데이터 한 세트는 나나이트 스트리밍용이고 다른 세트는 텍스처 스트리밍용입니다. 나나이트를 활성화하면 두 데이터 세트가 모두 메모리에 상주하게 됩니다.
계층형 레벨 오브 디테일(Hierarchical Level of Detail, HLOD) 및 랜드스케이프 프록시 스트리밍은 비나나이트 랜드스케이프와 동일하게 작동합니다.
랜드스케이프에서 나나이트 활성화하기
나나이트를 랜드스케이프 터레인과 함께 사용하려면, 랜드스케이프를 선택하고 디테일(Details) 패널에서 나나이트 활성화(Enable Nanite) 옆의 박스에 체크합니다.
랜드스케이프 지형에 나나이트를 사용하는 방법은 다음과 같습니다.
- 뷰포트에서 랜드스케이프를 선택합니다.
- 디테일 패널에서 나나이트 활성화 를 찾아 그 옆의 박스에 체크합니다.
디테일 패널에서 랜드스케이프에 나나이트 활성화
랜드스케이프 데이터에서 나나이트 메시 표현을 빌드하는 방법은 다음과 같은 2가지가 있습니다.
-
랜드스케이프의 디테일 패널에서 나나이트(Nanite) 섹션으로 이동하여 데이터 리빌드(Rebuild Data) 를 클릭합니다.
또는
-
빌드(Build) 메뉴에서 나나이트만 빌드(Build Nanite Only) 를 선택합니다.
랜드스케이프 빌드 시간은 랜드스케이프 크기와 타일 수에 따라 다릅니다. 완료되면 나나이트 시각화 모드를 사용하여 나나이트 지오메트리를 볼 수 있습니다.
랜드스케이프 액터가 다음과 같은 뷰포트 메시지를 표시하는 경우가 있습니다.
나나이트 오류 메시지
이때 나나이트 메시는 최신 상태가 아닙니다(예: 스컬프팅 작업 후).
나나이트 데이터를 리빌드하거나 랜드스케이프 프록시 메시를 저장하면 메시지가 제거됩니다.
나나이트 스커트
나나이트 랜드스케이프는 LOD 및 버텍스 데시메이션을 위한 표준 나나이트 기법에 의존합니다. 카메라가 매우 가까워지지 않는 한 결과 메시는 일반 그리드 토폴로지를 사용하지 않지만 셰이프를 유지하는 데 필요한 경우 더 많은 버텍스를 포함합니다. 이로 인해 랜드스케이프 프록시 액터 사이의 경계에는 경계 양쪽에 고르게 분포되지 않을 수 있는 버텍스가 있습니다. 먼 거리에서는 이음새 아티팩트를 유발할 수 있으며, 이는 랜드스케이프에 난 작은 구멍으로 나타납니다. 보통 템포럴 안티 에일리어싱으로 보정할 수 있을 만큼 작습니다.
이음새를 방지하기 위해 나나이트 스커트 활성화 옵션을 사용할 수 있습니다. 이 기능은 메시의 에지에 있는 버텍스의 추가 행/열만큼 나나이트 랜드스케이프 메시를 확장하고 새 버텍스를 나나이트 스커트 뎁스(Nanite Skirt Depth) 에 지정된 양만큼 아래로 이동합니다.
디테일 패널에서 랜드스케이프에 나나이트 스커트 활성화
이로 인해 인접한 나나이트 랜드스케이프 메시가 서로 교차하여 이음새 아티팩트가 나타나는 것을 방지합니다.
유용한 콘솔 명령
다음 콘솔 변수는 나나이트 활성화 랜드스케이프 작업 시 유용합니다.
콘솔 명령 | 설명 |
---|---|
Landscape.RenderNanite | 랜드스케이프에 나나이트 렌더링을 활성화합니다. 디폴트값은 1입니다. |
Landscape.Nanite.LiveRebuildOnModification | 수정이 이루어질 때마다 나나이트 표현의 리빌드를 트리거합니다. 이 함수는 실험단계입니다. 디폴트값은 0입니다. |
Landscape.Nanite.MultithreadedBuild | 몇 가지 랜드스케이프 컴포넌트로 작업할 때 퍼포먼스를 향상시키기 위해 다수의 프로세서 스레드를 사용하여 나나이트 활성화 랜드스케이프 메시를 리빌드할 수 있습니다. 디폴트값은 1입니다. |
퍼포먼스가 크게 저하될 수 있으므로 나나이트 활성화 랜드스케이프를 편집할 때는 나나이트 메시의 실시간 리빌드를 꺼둘 것을 권장합니다( Landscape.LiveRebuildNaniteOnModification 0
). 랜드스케이프 렌더링은 나나이트 메시가 리빌드되어 최신 상태가 될 때까지 비나나이트 랜드스케이프에 의존합니다. 언리얼 엔진은 완전히 리빌드될 때까지 렌더링에 해당 버전을 사용하므로, 편집은 비나나이트 랜드스케이프 액터로 작업하는 것과 동일합니다.