欢迎光临散文网 会员登陆 & 注册

在UE5.1中完成宏伟古典大厅实时环境的制作过程经验分享

2023-03-11 12:01 作者:3ru  | 我要投稿

原文来自我应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万面

涡轮平滑后:250万面
导入虚幻引擎后的静态网格体对象

虚幻引擎5.1中的Nanite

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

虚幻引擎5.1中的Nanite改进

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

被拆分开的吊灯,玻璃部分被单独分离,在虚幻引擎中你可以通过对象蓝图重新组合它。
最终完成设置的Nanite视图

材质部分

这个工程中大部分材质来自Quixel Megascans,通过实例的参数设置就可以得到自己想要的材质。

UV大多数是使用BOX映射而并非是展开的,这种方式非常快速,也能得到不错的结果。

Megascans材质在地砖上使用的表现。

Megascans材质在金属上使用的表现。

照明

我为这个项目创建了日间和夜晚两种照明。

在日间照明中,我想确立一个柔和的暖色调,所以我弱化了天空的环境照明,房间内大部分范围是由人工灯光照亮的。

日间照明步骤

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

使用色温进行灯光的颜色设置

接下来是夜晚照明的设置。我想实现房间内呈现许多蓝色月光的结果,在我进行了许多尝试后,我终于通过设置3个不同强度组合的定向光来完成了这个效果。

在这里我将色温设置为7500K,结果为淡淡的蓝色,我很喜欢它们投射到地面及白色的门上的感觉。

蓝色的月光通过窗框的剪影投射在物体上的结果

在使用多个定向光时,有一个需要注意的设置:前向着色优先级。

你需要确定首要的灯光,并提高它的优先级,以实现正确照明着色。在这个场景中这个选项主要会影响雾的结果。

关于前向着色优先级的解释
夜晚照明步骤

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

窗边的月光体积散射被强化了

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

细节光照视图

实时渲染设置

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

Lumen与硬件光线追踪结果的对比 AO的细节被极大强度地增强了

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

屏幕空间反射与光线追踪反射的对比,在这个单镜头下的表现两者都是良好的
屏幕空间反射在一些观看角度上的瑕疵

最终

我为项目内容添加了碰撞,以及一些基本的UI蓝图及关卡切换控制蓝图,然后加入了虚幻引擎官方的第一人称和第三人称角色。现在,这个关卡能够被运行了,对我来说这是令人兴奋的结果。

不足的是,由于光线追踪的设置,它的帧率表现并不是很好,在1080P下只有RTX4090能达到60FPS以上,在4K下RTX4090以30FPS运行。

如果继续花费时间进行优化,我想它的表现会更好,在之后的工作中,我会在这方面进行更多尝试。

运行-日间场景
运行-夜晚场景

在最后我想说的是,虚幻引擎是一个优秀的工具。你或许需要花费很多时间去了解它,但这些时间永远不会被浪费,它会回馈给你想要的、甚至出乎意料的结果。

文章到这里便结束了,希望能够对你有帮助,感谢你的观看。

在UE5.1中完成宏伟古典大厅实时环境的制作过程经验分享的评论 (共 条)

分享到微博请遵守国家法律