简书上有一篇文章:《【UE5】Nanite解析》
Epic外放的两大特性Nanite跟Lumen,构成了UE版本升级的基石,关于这两大技术,已经有了众多的分享,不过这些分享在结构和内容上难以构成整个方案的全貌,因此尝试先通过现有文章整理出一个大致框架,后续有时间通过代码对其中存疑的地方进行补齐,以实现对整个方案的梳理与理解。
1. Nanite是什么?
简单的来说,Nanite是一套GPU-Driven的sub-pixel尺寸面片高模场景的实时渲染方案,这里有几个关键字:
- GPU-Driven,整个流程,包括剔除、渲染、缺失Mesh Page梳理等都是在GPU上完成的
- sub-pixel尺寸面片高模场景,指的是场景是由高模组成,高到什么程度呢,可以支持每个面片在屏幕上的面积接近pixel的大小
- 实时渲染,整个渲染方案都是运行时完成的
2. Nanite可以用来做什么?
Nanite有哪些作用,或者说会带来哪些变化?
首先,在画质上的提升,有了Nanite,物件的细节将更为丰富,接近真实世界的物件细节品质。
其次,场景的渲染可以直接使用超高精度模型,不再需要如以前的流程一样,需要在美术工具中输出低模进行渲染,这个带来的改变在于会改变美术同学的制作流程:
- 不再需要烘焙低模
- 如果模型面数足够高的话,将不再需要法线贴图(粗糙度贴图也不再需要了),但是依然支持这些贴图的使用,因为如果使用一张分辨率足够高的贴图,在性价比上依然比纯粹的提高面数要高很多。
用于显示当前画面下三角形的数量。
或者通过命令行。stat rhi
创建Nanite对象。
将椅子浏览至资产,双击打开,找到【Nanite设置】。勾选【启用Nanite支持】【应用改动】
材质浏览左上角会显示Nanite已启用。
此外,还可以通过选中实例,然后快捷键Ctrl + B切换到内容浏览器中,然后右键资源,然后上方有一个【Nanite】然后启【启用】。
Nanite透支问题
尴尬我这小笔记本竟然用不起Nanite。找一张截屏。