在UE5.1中完成宏伟古典大厅实时环境的制作过程经验分享
原文来自我应80LV邀请发布在他们媒体上的文章:https://80.lv/articles/creating-grand-ballroom-using-3ds-max-unreal-engine-5-1/
这边是中文版本,图片压缩若影响观看可前往上面的80LV原地址。欢迎查看这个作品的Artstation: https://www.artstation.com/artwork/xY8VwW


大家好,我是来自中国的Yan ru,热衷于环境艺术与灯光艺术。在这篇文章中我将分享关于在虚幻引擎5.1中处理并完成这个实时环境的过程。
项目介绍
首先,我想简短地介绍这个项目的内容以及完成结果。这是一个宏伟的古典大厅场景,通过最大化程度的Nanite利用进行设置,在Lumen及光线追踪的设置下进行照明。在这个关卡运行时,屏幕内可以同时容纳数亿个三角面,场景内有上百盏完全实时并且包括动态阴影的灯光。这是一次我对虚幻引擎5.1在高多边形模型组成的场景中的表现进行的测试,并由足够表现高质量画面的项目及灯光设置来呈现最终结果,答案是相对令人满意的。如果你感兴趣,可以在我的Artstation内容中下载它的运行文件。

项目参考
在项目开始之前,我在Pureref中添加了需要的参考。这些摄影图片来自世界上著名的景点,例如凡尔赛宫与巴黎歌剧院。它们启发了我对项目的构图、材质的设置以及对灯光的布置。

模型规划
场景中大部分模型由GoldSmooth在3ds Max中完成。在Max文件中约有16000个Object,首先我需要进行分析及计划,然后重新组合这些内容,将他们合并成在虚幻引擎中可以重复调用绘制的实例对象。合并工作可以在DCC中进行,也可以在虚幻引擎中进行,我事先在3ds Max中完成了这部分工作。


我使用涡轮平滑将需要的内容处理成高面数模型。经过我的测试,即使打算在虚幻引擎5中组装一个由高面数模型组成的Nanite场景,也需要注意限制单个模型的面数量。在虚幻引擎5中导入超过一千万面的模型时,在有些时候仍然会出现崩溃的情况。所以我将单个模型面数限制在最高为数百万数量。


涡轮平滑后:250万面

虚幻引擎5.1中的Nanite
在5.1中新的Nanite中支持了双面材质,通常情况下它被使用在植物上,但是这个项目内的部分模型也依赖双面材质,他们是由单面建模完成的,这使得我能更充分地设置它。

目前仍不被支持的一项常用材质是半透明材质,所以我将所有的玻璃物体单独分离成网格,以便进一步Nanite设置。


材质部分
这个工程中大部分材质来自Quixel Megascans,通过实例的参数设置就可以得到自己想要的材质。
UV大多数是使用BOX映射而并非是展开的,这种方式非常快速,也能得到不错的结果。



Megascans材质在金属上使用的表现。
照明
我为这个项目创建了日间和夜晚两种照明。
在日间照明中,我想确立一个柔和的暖色调,所以我弱化了天空的环境照明,房间内大部分范围是由人工灯光照亮的。

我建议通过色温来调整这类人工灯光的颜色,以免出现不正确的结果。我的设置基于现实中的参数进行,在场景中我用到的范围通常为3000-4500K之间。

接下来是夜晚照明的设置。我想实现房间内呈现许多蓝色月光的结果,在我进行了许多尝试后,我终于通过设置3个不同强度组合的定向光来完成了这个效果。
在这里我将色温设置为7500K,结果为淡淡的蓝色,我很喜欢它们投射到地面及白色的门上的感觉。

在使用多个定向光时,有一个需要注意的设置:前向着色优先级。
你需要确定首要的灯光,并提高它的优先级,以实现正确照明着色。在这个场景中这个选项主要会影响雾的结果。


通过增加灯光的体积散射强度可以强化丁达尔效应,有时候这只是艺术化的设置。我在这里强化了窗边的月光体积散射强度,事实上在真实的夜晚,基于物理并不会出现这样的情况。

在进行灯光设置的过程中,视图中过多的纹理有时会影响工作,所以我会经常切换到细节光照模式查看,它能很好地帮助你检查灯光的颜色以及场景的明暗关系。

实时渲染设置
硬件光线追踪是一项非常高消耗的额外设置。即使考虑到我需要制作一个可运行程序,我还是使用了这个渲染方式,它非常大限度地提高了场景的质量。对于反射区域很多的小环境,这个设置是必要的。

关于反射的方案,屏幕空间反射在单个镜头内的表现是足够使用的,并且能大量提高性能,在这里能提升大约10-15FPS。但是作为可运行的环境,它仍然有很多瑕疵(在动态切换的镜头下),所以我仍然使用硬件光线追踪的反射。


最终
我为项目内容添加了碰撞,以及一些基本的UI蓝图及关卡切换控制蓝图,然后加入了虚幻引擎官方的第一人称和第三人称角色。现在,这个关卡能够被运行了,对我来说这是令人兴奋的结果。
不足的是,由于光线追踪的设置,它的帧率表现并不是很好,在1080P下只有RTX4090能达到60FPS以上,在4K下RTX4090以30FPS运行。
如果继续花费时间进行优化,我想它的表现会更好,在之后的工作中,我会在这方面进行更多尝试。


在最后我想说的是,虚幻引擎是一个优秀的工具。你或许需要花费很多时间去了解它,但这些时间永远不会被浪费,它会回馈给你想要的、甚至出乎意料的结果。
文章到这里便结束了,希望能够对你有帮助,感谢你的观看。