艺术家Simon Verstraete为大家分享UE5的Nanite技术解析,并介绍使用Houdini和UE5的Nanite系统创建悬崖的过程。
UE5的Lumen和Nanite系统,可以加快游戏速度并减少优化模型(如 LOD、烘焙等)的时间。
这里主要讲的是Nanite,可以在UE5 中打开大型复杂程序资产和场景,并在游戏中运行良好。尤其是拥有Houdini Engine的Houdini 插件时,可以直接在游戏编辑器中打开程序工具来生成需要的内容。
这里有一个剔除示例,当在UE5中构建某些东西时,可能也会看到这一点。可以从轮廓中看到部分没有被渲染,然后它被光栅化,3D网格场景被转换为2D屏幕像素。
以后 Epic 的团队很有可能会发表演讲并对其进行更多的分解。由于UE5的正式版本计划明年发布,因此也可能在此过程中做出改变。
在Houdini中生成2个高多边形网格,使用这些网格测试是否只能使用顶点颜色来保存反照率颜色而不是使用纹理。既然 Nanite 处理大量多边形,为什么不尝试将颜色保存在顶点中,那么可能根本不需要纹理。这在使用 Houdini 以程序方式生成时也很有用。
第一个网格是大悬崖岩石。从一个圆形开始,除了高度之外添加噪音。然后挤压形状,稍后在侧面创建细节。然后为了变化,分散在点周围并在点上复制该形状。这是岩石的遮挡物,然后添加岩石的形状和细节。在那之后,网格需要更多的多边形来创建岩石,为此使用体素。体素会大大增加多边形数量,这与 ZBrush 中的 ZRemeshing 非常相似。使用三平面置换,可以创建最终的细节,在网格上投影高度图并置换形状。还可以选择投影颜色图,因此在此处置换模型并添加颜色。完成这一切后,网格导出为 FBX 并导入到启用 Nanite 的UE5 中。
Houdini非常适合生成大型复杂场景和自动化任务,为艺术家节省了大量时间,因此不必从头开始放置和构建所有内容。比如孤岛惊魂 5 和 PS4 的蜘蛛侠,这两款游戏大部分开放世界都是由 Houdini 生成的。艺术家可以使用曲线或将立方体放置在需要放置的地方,然后由程序处理其余部分,例如放置模型、变形地形、创建新几何体等。
这里主要为艺术家生成一个基本场景或世界,不必从头开始放置和创建所有内容。创建基本场景后,可以进行手动调整以更好地适应游戏或场景。
如果要构建一个所有网格都具有这些高多边形细节的场景,内容创建也可能需要更多的工作。现在经常在法线贴图中伪造细节,但如果它需要在几何体中,就需要对这些细节进行建模或雕刻。通过自动化在几何体中添加表面或材料细节的过程,Houdini可以发挥重要作用。
对于上面用岩石制作的场景,因为岩石的形状更大,而且它们不是薄的表面。当涉及到薄表面时有一些限制,也会导致大量透支。对于 Nanite,一直在优化和减少或删除网格的三角形。对于薄的表面,几乎没有任何三角形要移除,所以很多三角形被渲染和重叠。有一个调试模式,就像一个热图来显示高透支区域。
以下是草等薄表面的大量透支示例:另一件需要注意的薄表面是 Nanite 的自动缩小或聚集,从远处看时,可能会看到网格发生一些变形。
Nanite目前有一些限制。Epic团队仍在研究使用Nanite,因为这是UE5的测试版本。以下是一些其他限制:使用材质使网格变形,例如世界偏移;实例上的顶点绘制;不透明度模式等。
在文档中,有一个静态网格和 Nanite 网格的示例,它们都具有 1.5M 多边形。此外,SSD被导入以处理大量网格和集群细节的交换。例如最新演示中所示,在一秒钟内切换到一个全新的环境。另一方面,作为开发人员,需要创建这些原始网格,如果所有资产的多边形数量都非常高,这通常会占用更多空间。根据使用的 3D建模软件,在处理这些高多边形资产时可能会遇到更多问题。