Nanite 和 Lumen 是 UE5 中的俩项新技术,它与 Lumen 一起是全新的渲染照明系统。Nanite 现在的渲染工作方式带来了主要的优势,它不仅仅是性能上的提升。它与 UE4 相比它从根本上改变了3D建模的方式,你可以直接将没有优化的上亿面模型导入 UE游戏引擎 ,让引擎自动处理细节级别。
在 UE4设置自动LOD生成文档 中,你会发现要处理细节级别的工作非常多,但处理完成之后可能还达不到原来的高细节网格,但如果你使用 虚幻UE5引擎 的 Nanite 就可以可以省去中间的那些步骤了。
假设,我制作了一个超过 150万 个三角形单个模型,在导入 UE5 时将 FBX参数选项去掉勾选 Nanite ,那么软件就不会处理该几何体,当导入进软件后,可以开启帧数显示功能,可以看到该场景以 75 FPS 保持非常好渲染流畅度。

当在场景中复制到 1 千个几何体,那么此时右上角会显示 12 fps 以极低的速率运行,渲染的非常缓慢。当增加至 2 千个几何体时,直降至 8 fps 。那基本上该项目可以放弃治疗,因为没法继续玩下去。

当我们为该模型开启 Nanite 之后,瞬间就不同了。
Nanite 启用的方式有三种,一种是导入时勾选 Nanite 。第二种在资产列表右键选择 Nanite ,第三种是进入网格启动 Nanite设置。(在开启之后会根据你的模型面数显示漫长的计算进度条)
当开启 Nanite 之后由原来的 8 fps 直线上升到 59 fps ,绘制线程大约为 17 ms。当再次将几何体复制增加至 8 千个时,那么场景中会有 1200亿 个三角面,天啦,1200 亿!而且会发现 fps 没有下降的趋势,依旧保持在 60 fps 左右。此时可以通过 虚幻引擎 控制台运行 Nanite统计 来实时查看相关的数据信息。

Nanite 还提供了一个可视化模式,通过 Viewport Mode- Nanite Visualization – Ovreview,底部模式可自行选择。

选择后会发现一个很有趣的现象,系统正在逐个绘制三角面,类似一个集群可视化。这个过程 3D天堂 并不了解它在处理一些什么,但它似乎将集群应用在动态或者更多颗粒上。当视口推进时则显示很小的三角面。当视角往外拉时,模型上的三角面将显示更大的块状,当拉的范围够大时,模型的表现只剩下两三个三角快状体了,有点神奇。
通过以上测试, Nanite 可以给任何方方面面的渲染,表现出非常出色的作品,而且觉得还可以增加超过 1200亿 个三角面,应对几千亿的三角面应该是绰绰有余了。
PS:在早期 Epic Games 官方有推出过 Nanite 演示视频,本人不清楚 Epic Games 使用机器是什么配置,尽管 Epic Games 没有透露具体配置,但我确信他们的机器肯定比我的要好。