PART 2 - 강의 5/5

Nanite Tessellation

오프라인 적응형 테셀레이션과 랜드스케이프 통합

01

개념

기존 Tessellation과의 차이

Nanite Tessellation은 UE 5.3에서 Experimental로 도입되어 UE 5.4에서 Beta로 승격되었습니다. 런타임 GPU 분할 대신 오프라인 적응형 분할을 사용합니다.

항목 기존 Tessellation Nanite Tessellation
분할 시점 런타임 GPU 오프라인 (베이크)
셰이더 Hull/Domain Shader 베이크된 Nanite Mesh
분할 패턴 고정 패턴 디스플레이스먼트 맵 기반
성능 비용 런타임 빌드 타임
02

활성화 방법

프로젝트 설정 및 머티리얼 구성

DefaultEngine.ini # DefaultEngine.ini에 추가 [/Script/Engine.RendererSettings] r.Nanite.AllowTessellation=1 r.Nanite.Tessellation=1
Static Mesh에서 사용
  • Static Mesh Editor에서 Nanite 활성화
  • 머티리얼에서 Displacement 노드 연결
  • Tessellation 옵션 활성화
  • 빌드 시 자동으로 테셀레이션 적용
03

랜드스케이프 통합

Nanite Landscape Tessellation

랜드스케이프 Tessellation 설정 // 랜드스케이프에서 Nanite Tessellation 사용 1. 랜드스케이프에서 Nanite 활성화 2. 랜드스케이프 머티리얼에서 "Enable Tessellation" 체크 3. Displacement 노드에 하이트맵 텍스처 연결 4. Tessellation Multiplier로 밀도 조절
랜드스케이프 팁

대규모 랜드스케이프에서 Nanite Tessellation을 사용하면 World Partition과 연동하여 효율적인 스트리밍이 가능합니다. 디스플레이스먼트 양은 클램핑하여 클러스터 바운드 초과를 방지하세요.

04

제한사항

주의사항 및 한계

제한사항
  • WPO 디스플레이스먼트 대체 아님 - 정적 디스플레이스먼트 전용
  • 클러스터별 바운드 분할 - 큰 디스플레이스먼트는 분리됨
  • 디스플레이스먼트 클램핑 필요 - 과도한 변형 방지
  • 빌드 시간 증가 - 테셀레이션 베이킹에 추가 시간 소요
주의

Nanite Tessellation은 런타임 WPO 기반 디스플레이스먼트를 대체하지 않습니다. 동적 디스플레이스먼트가 필요한 경우 WPO를 계속 사용해야 합니다.

SUMMARY

핵심 요약

  • Nanite Tessellation은 오프라인 적응형 분할로 런타임 비용 없음
  • UE 5.3 Experimental -> 5.4 Beta로 승격
  • 랜드스케이프에서 Displacement와 연동 가능
  • WPO 대체 아님 - 정적 디스플레이스먼트 전용
  • 디스플레이스먼트 클램핑으로 바운드 문제 방지
PRACTICE

도전 과제

배운 내용을 직접 실습해보세요

실습 1: Nanite Tessellation 설정

DefaultEngine.ini에 r.Nanite.AllowTessellation=1r.Nanite.Tessellation=1을 추가하고, Static Mesh에 Displacement 맵을 연결하여 Nanite Tessellation을 활성화하세요. 빌드 전후의 메시 폴리곤 수와 시각적 디테일 변화를 비교하세요.

실습 2: 랜드스케이프 Tessellation

랜드스케이프에서 Nanite를 활성화하고, 머티리얼에서 Enable Tessellation을 체크한 후 하이트맵 텍스처를 Displacement에 연결하세요. Tessellation Multiplier를 조절하면서 지형 디테일 변화를 확인하세요.

심화 과제

과도한 디스플레이스먼트가 클러스터 바운드를 초과하는 상황을 의도적으로 만들고, 컬링 글리치를 관찰하세요. 그 후 디스플레이스먼트 클램핑을 적용하여 문제를 해결하고, 빌드 시간과 런타임 성능 영향도 함께 분석하세요.