데브허브 | DEVHUB | UEFN HLODs, Data Layers, Draw Distance, and Static Level Optimizations | Unreal Fest Orlando 2025UEFN HLODs, Data Layers, Draw Distance, and Static Level Optimizations | Unreal Fest Orlando 2025
- UEFN 정적 레벨 최적화의 핵심은 'Less is Best' 원칙에 따라 데이터와 셰이더 명령을 최소화하여 서버 및 클라이언트의 프레임 속도를 향상시키는 것입니다. 🚀
- HLODs(Hierarchical Levels of Detail)는 장면 복잡도를 줄이면서 시각적 품질을 유지하는 시스템으로, World Partition이 ISM(Instance Static Mesh)과 Merged Mesh 두 가지 유형으로 자동 생성합니다. 🏞️
- LODs는 거리에 따라 메시의 디테일 수준을 조절하여 데이터와 렌더링 복잡도를 줄이지만, 여러 메시와 재료를 저장해야 합니다. 📉
- ISM은 동일한 메시의 여러 인스턴스를 하나의 드로우 콜로 묶어 렌더링 효율을 높이지만, UEFN 프롭은 직접 지원하지 않으며 상호작용이 불가능합니다. 🧩
- Merged Mesh는 여러 액터를 단일 단순화된 메시로 병합하여 패키지 크기를 줄이는 데 효과적입니다. 📦
- Nanite는 렌더링을 통합하여 드로우 콜을 재료 수에 따라 줄이지만, 모바일 기기에서는 사용할 수 없습니다. 💡
- 드로우 콜은 CPU가 GPU에 객체 렌더링을 요청하는 것으로, 드로우 콜 수가 적을수록 GPU 작업량이 줄어들어 프레임 생성 속도가 빨라집니다. 🎨
- 표준 렌더링은 컴포넌트당 드로우 콜이 발생하지만, 인스턴싱(ISM)이나 Nanite를 사용하면 드로우 콜을 획기적으로 줄일 수 있습니다. ⚡
- **데이터 레이어(Data Layers)**는 플레이어가 없는 영역의 액터와 장치를 서버 측에서 언로드하여 서버 처리 부하를 줄이고 틱 레이트를 향상시키는 가장 중요한 서버 최적화 기법입니다. 💾
- Spatial Loading은 클라이언트 측에서만 액터를 언로드하여 클라이언트 성능을 개선하지만, 서버는 모든 것을 계속 로드합니다. 🌍
- 액터의 'can be damaged', 'generate overlap events', 물리, 사운드 등 불필요한 옵션을 비활성화하여 각 컴포넌트가 추가하는 사이클과 데이터를 줄여야 합니다. ⚙️
- 액터의 Mobility를 'Movable' 대신 'Static'으로 설정하면 엔진의 자동 다이내믹 인스턴싱 기능이 활성화되어 드로우 콜이 크게 감소합니다. ↔️
- Bulk Property Matrix와 같은 도구를 활용하여 여러 액터의 설정을 일괄적으로 빠르게 변경할 수 있습니다. 🛠️
- Unreal Insights와 같은 성능 분석 도구를 사용하여 최적화의 효과를 측정하고 병목 현상을 식별할 수 있습니다. 📊