Nanite
当Unreal Engine 5发布时,引入了一项名为Nanite的新特性,你可能想知道它究竟是什么?本文将介绍Nanite的核心知识、使用时机、优势及局限性。
Nanite- Unreal Engine
Nanite是Unreal Engine 5的一部分,采用创新的虚拟化几何体方法。它通过新的内部网格结构和渲染技术,在像素级别呈现复杂细节并高效处理大量对象。它将处理能力集中在可分辨的细节上,通过避免不必要的工作来优化性能。
目录
- 如何启用Nanite
- 什么是Nanite?
- Nanite的优势是什么?
- Nanite的局限性是什么?
- 何时应使用Nanite?
如何启用Nanite
首先,在进行任何操作前需要了解如何在Unreal Engine中启用Nanite,这非常简单。
有两种方式可以实现:
方法A
导入静态网格到Unreal Engine时,勾选构建Nanite选项,这将自动使网格变为Nanite网格。
方法B
若已有静态网格,打开后进入Nanite设置,勾选启用Nanite支持,点击应用更改。
若想停止使用Nanite,只需取消勾选该选项并点击应用更改。
什么是Nanite
Nanite是一种高效渲染屏幕对象的方法。其工作原理是将网格拆分为三角形簇。
若将Nanite网格拖入场景,在视口标签选择Lit > Nanite可视化(显示所有Nanite视图模式)。选择**> 簇**模式,可见Nanite如何将网格拆分为三角形簇。
可见Nanite模型被拆分为多种颜色,每种颜色代表一个簇。簇会根据屏幕尺寸、相机距离和分辨率调整。当簇不可见时会被剔除(减少或移除),使Nanite网格具备多级LOD。放大时显示多个簇,远离时则合并为更大的簇,显著优化网格性能。
Nanite的优势
- 直接导入高质量模型:无需担心性能影响即可使用照片级扫描和高面数模型,Nanite可处理数百万多边形。
- 自动计算LOD:无需手动创建多级LOD。
- 无需烘焙法线贴图:可直接导入高精度模型节省时间。
- 套件拼接更便捷:传统方法因加载多模型导致性能下降,Nanite显著改善此问题。
- 高效压缩:Nanite网格占用更少内存。相同面数下,Nanite网格体积小约7倍。
Nanite的局限性
- 不适用于Aggregate Geometry(聚合几何体):如头发、树叶、草地。Unreal Engine 5.1起支持植被,未来可能扩展。
- 不适用于紧密堆叠表面:当网格紧密堆叠时,Nanite可能无法准确判断上下关系,导致双重绘制(overdraw)。
Nanite不支持:
- 变形/骨骼网格(Deforming/skeletal meshes)
- 样条网格(Splines Meshes)
何时使用Nanite
建议尽可能使用Nanite以获得更佳性能、内存管理和磁盘空间节省。
Unreal Engine文档推荐使用场景:
- 网格包含大量三角形或三角形在屏幕上极小
- 场景中存在大量网格实例
- 网格作为主要遮挡物(如巨型悬崖面)