兽猎周记#21:技术分享篇


3楼猫 发布时间:2025-01-17 00:58:00 作者:武装猫工作室 Language

各位中午好!上期《兽猎周记》发布后大家对初版原画的想法后(强烈述求)我们都看到了,都好说好说~~

兽猎周记#21:技术分享篇-第0张

游戏的优化问题一直备受玩家关注,我们收到了大量来自玩家的后台私信与评论 ,大家的积极反馈我们都已收到。

兽猎周记#21:技术分享篇-第1张

本期《兽猎周记》将为大家带来了技术分享,在提升游戏画面表现优化性能这两个关键方面,我们进行了哪些探索和尝试。


因为团队人手有限,为了提升效果简化开发流程,我们选择使用Unreal Engine 5(虚幻引擎5,以下简称UE5)里的Nanite、Lumen 和 VSM等新技术实现全动态光照。

(PS:Nanite 可使游戏模型极度精细,让玩家有身临其境之感;Lumen 如同专业灯光师,自动营造逼真自然的光照效果;VSM 则助力光影信息快速定位,保障画面光影流畅稳定。)

但这些新技术对设备也提出了更高要求,它们需要承担因新技术基础消耗所带来的性能压力,为了在提升游戏画面的同时尽量减少性能压力,我们做了各种各样的优化,其中一个突破方向就是“如何在大型开放世界中优化资源加载和渲染?"。通过这一问题的解决,我们取得了阶段的成绩,在RTX 3070Ti测试机上配置默认画质,帧数提升7.2%。 

当然,这一过程并不容易

起初,我们直接使用UE5中的World Partition功能(自动处理开放世界的分区和管理)和适配World Partition的HLOD技术(Hierarchical Level of Detail, 层次化的细节级别技术),希望能够实现自动生成不同细节的版本模型。比如,远处的山看起来就不用那么精细,用简单一点的模型就行;但是玩家身边的东西(武器、障碍物)就表现得很精细。

这也是一种常见的优化方法,能够减少不必要的高细节模型的渲染,减少显存占用和GPU负担。

World Partition分区管理

兽猎周记#21:技术分享篇-第2张

远处切换为HLOD效果

兽猎周记#21:技术分享篇-第3张

近处切换为精细模型效果

兽猎周记#21:技术分享篇-第4张

但World Partition的Grid动态加载会导致明显的帧数波动,考虑到《兽猎突袭》场景规模和提升游戏运行时的流畅程度,

需要规避Grid的动态加载

我们将Grid的加载范围设置的很大,这样一来却导致引擎默认的不同细节的资源加载和渲染(HLOD技术)无法工作,因此,我们需要自定义HLOD方案

自定义HLOD方案的实现

打开世界分区和加载功能(World Partition)后,多层次细节模型(HLOD)是由引擎默认生成的,我们首先通过修改引擎源码来恢复了传统HLOD的编辑入口,增加了相应的设置命令来更好管理多层次模型。

初步遇到一些问题

1. 部分模型合并后的视觉效果并不好

模型合并后会变得比较模糊,因此需要按照一定的规则,针对不同模型采用不同的合并设置。我们修改引擎HLOD层的实现,可以针对各个组做不同的设置,以同时兼顾效果和性能。

            原始模型→错误效果→优化后效果

兽猎周记#21:技术分享篇-第5张

2. 联机模式和单机模式的性能差异问题

自定义HLOD方案进入版本后,单机模式在测试场景获得了比较好的性能提升,但是在联机模式下却出现了性能差异,即使去掉所有动态组件后,也无法获得与单机模式相同的效果。

这可能是因为场景中存在大量的变形材质引起性能消耗大。

经过分析调试,我们发现是部分细节层次的加载顺序有问题,以及发现常用于地形、道路、植被特定效果的材质也会影响性能优化,定位到这些问题后我们便采取了针对性措施。

解决以上种种问题后,最终我们通过自定义HLOD方案在大型世界中优化了资源加载和渲染,在RTX 3070Ti测试机上配置默认画质,得到帧数提升7.2% 

兽猎周记#21:技术分享篇-第6张

以上就是本期的《兽猎周记》全部内容,感谢阅读,下周四再会!

喜欢我们游戏的话,不要忘记点点关注~


© 2022 3楼猫 下载APP 站点地图 广告合作:asmrly666@gmail.com