高级程序员讲述《战神诸神黄昏》的雪系统是如何制作的!
1637 6
实名

通过了实名认证的内容创造者

发布于 2023-10-19 16:15:41

您需要 登录 才可以下载或查看,没有账号?注册

x
作者: Paolo Surricchio   作者网站:https://www.artstation.com/artwork/qePGdD
eef8f8e0f1c3294ac686b66a909c96c7.jpg
圣莫尼卡工作室的高级渲染程序员 Paolo Surricchio 告诉我们为什么团队为《战神诸神黄昏》重新设计了雪系统,提供了一些有关系统创建的深刻细节,并谈到了针对 PS4 和 PS5 优化雪的问题。
.
介绍                                
大家好,我叫 Paolo Surricchio,是圣莫尼卡工作室的高级渲染程序员。我于 2012 年开始了游戏行业的职业生涯:我从 DigiPen 理工学院毕业,获得了计算机科学硕士学位,之后立即受雇于 High Moon Studios,负责 Xbox 360/PS3 上的《死侍》的工作。从那时起,我一直担任引擎和渲染程序员,并且我很幸运能够加入各种有趣项目的团队。在《死侍》之后,我参与了《使命召唤:高级战争》的制作。之后,我搬到了旧金山,加入 Campo Santo,担任 Firewatch 的渲染程序员。那个项目结束后,我的一位来自 DigiPen 的朋友问我是否想加入他在圣莫尼卡工作室,因为他们正在开发一个很酷的、未宣布的项目。2015 年底,我加入了圣莫尼卡工作室,参与新版《战神》(2018 年)的制作。我参与了《战神》(2018) 和《战神诸神黄昏》的制作,中间有短暂休息时间,我在 Respawn Entertainment 制作了《Apex Legends》。
ef4e510008c60d4dee0a27e6046da6eb.jpg

.
战神诸神黄昏的雪系统                                
我在今年 GDC 2023 上的演讲“高级图形峰会:重新发明雪景渲染轮子”中详细介绍了为什么我们要重新设计《诸神黄昏》的雪景系统,但总结是可扩展性和易用性。https://www.gdcvault.com/play/1028844/Advanced-Graphics-Summit-Reinventing-the其背后的主要因素是,从几何角度来说,《战神诸神黄昏》比前作要大得多,以及比以前更多地方下雪的艺术目标。《战神诸神黄昏》的艺术目标之一是展示芬布尔之冬如何影响各个领域,而在米德加德,这表现为持续的降雪。这意味着团队想要玩家可以在任何地方互动的深雪。旧系统非常擅长表现细节并且具有很强的可塑性,但是关卡和材质设置都非常耗时且容易出错,因此所有控制的成本都太高了。不仅如此,我们为之前的系统选择的渲染技术也存在一些无法真正缓解的缺点和视觉伪影。 [micxp_wxonkey]wxv_3152639490246328323[/micxp_wxonkey]很明显,虽然我们可以在其他区域使用该技术(我们使用与旧雪系统类似的技术渲染《战神》(2018)和《战神诸神黄昏》中的水波和涟漪),但对于我们的地形,我们不得不改变核心渲染部分。我们决定使用带有硬件曲面细分的几何位移,而不是使用屏幕空间视差映射(由我们当时的技术总监创建的视差映射版本)。主要区别在于视差映射是一种像素着色器技术,而几何位移作用于顶点/几何级别。这消除了我们在视差映射版本中遇到的所有屏幕空间限制和伪像。最后,随着游戏和团队的成长,我们在工程方面的工作就是始终重新评估我们的假设,以确保它们能够适应艺术团队想要实现的目标。Snow 可扩展性和工具从一开始就是艺术部门关注的问题,因此,这是我们为该项目解决的首要问题之一。



.
目标和要求                                
虽然实现出色的外观和出色的性能至关重要,但从一开始的主要目标就是易于使用。重点是使过程尽可能简单,尽可能接近“选择要移动的网格,选中复选框,完成”。当我们实现这一目标时,我们开始研究改进控件和添加细节的方法,而不需要重新创作内容,同时牢记可扩展性的目标。每个解决方案都是系统化的,这意味着我们只需几个选项就可以轻松控制整个游戏的行为。显然,我们为可定制的区域留出了空间,但系统的口头禅是:“除非您愿意,否则不需要调整参数”。


.
新系统背后的研究                                
我们从项目一开始就知道旧系统的局限性,因此我们在预生产阶段尝试了不同的方法。此阶段的关键是关注新技术的必备条件,并将其作为值得首先尝试的途径的驱动力。渲染研究可能会花费您愿意花的时间,甚至更多。我们知道我们想要改变位移的渲染方式,因此我们优先考虑使用几何来实现这一目标的研究。另一个关键因素是不断与艺术家进行迭代,并使他们成为研究过程的一部分。我们要求他们向我们详细说明他们希望系统如何工作、他们需要什么样的功能以及最重要的功能是什么。这使我们能够将研究重点放在考虑到我们所有要求的解决方案上,并且是实现简短而有效的研发流程的关键。您可以通过查看我的GDC 2023 会议来了解有关研究过程的更多信息。


https://sms.playstation.com/stories/gdc-2023-presentations


.
长期规划                                
当我提到可扩展性和易用性作为主要目标时,我的目的是在未来几年以这项技术为基础。正如我在GDC 演示中提到的,这主要是通过以模块化方式构建系统来实现的,其中每个系统的开发都可以在需要时更改其输出。显然,我们针对我们的用例进行了优化,但我们这样做的同时,也让我们自己在未来可以更改系统的某些部分并在其基础上进行构建。这并不意味着下次我们可以按原样重新使用该技术而不更改一行代码。我们的想法是尽可能接近它,我们不需要再次重新发明轮子,相反,我们将能够利用大部分研究和为下一个系统构建的工具,并且只需更改系统的一小部分,或针对新的案例场景进行优化,而无需重新编写所有内容。该演示文稿对此进行了更详细的介绍,但主要目标是以模块化方式构建系统的组件,同时在过多的抽象、性能和实现项目的视觉目标之间取得平衡。这是一种需要更多小心的方法,一开始可能需要更长的时间,但从长远来看,它会带来十倍的回报。有趣的是,在《战神诸神黄昏》的开发过程中,我们最终将雪系统的大部分重新用于其他系统(主要是 PS5 上活跃的几何增强镶嵌选项),因此这种方法甚至在该项目已经完成。


.
寻找可接受的妥协                                
当谈到我们在开发过程中必须做出的妥协时,重要的是要记住大多数解决方案都有妥协。关键是找到适合团队、工具和目标的折衷方案。我觉得这就像“森林里的树倒下,但没有人听到”的思想实验的类比:如果你在一个你不关心的领域妥协,这真的是妥协吗?我们从一开始就知道我们不能在性能上妥协。我们最终得到了一个性能与前一个系统相同并且通常比前一个系统更快的系统。我们不能在可用性上妥协,事实上,我们需要改进它。我们做到了。我们也不能在视觉质量上妥协,事实上,美术团队对系统的功能以及如何在 PS5 的下一代硬件上进行扩展提出了更高的要求。系统的第一次迭代首先解决了可用性和易用性问题,但看起来并不那么好。一旦我们有了良好的基础,我们就在其之上重建视觉功能,并将质量水平恢复到艺术团队设定的高标准。最后,我们最终得到了一个系统,它可以为艺术家提供所需的所有控制功能,同时又不影响在通用情况下设置和使用的简单性,并且可以轻松地从基础 PS4 扩展到 PS5 上的质量模式。做到这一点的关键是再次让艺术团队从一开始就参与进来,并与他们一起迭代系统必须公开的方式和内容,以覆盖所有用户案例。



.
让碰撞发挥作用                                
设计和艺术意图是这里的关键:鉴于该解决方案用于表示软材料,因此游戏物理对象不会与雪顶发生碰撞。事实上,从一开始,我们的目标之一就是让物理对象在雪中落下时能够雕刻雪花。这是通过将我们在角色上使用的相同胶囊附加到物理刚体上来实现的。从渲染的角度来看,雪的角色或通用对象之间没有区别:您可以将雕刻形状附加到世界上的任何东西上,它们会将雪向下推,具体取决于对象与雪平面的相交方式,以及雪下坚硬的地面所在的地方。同时,我们添加了细节来装饰雪并模拟在上面滚动的轻质小块。由于所有信息都存储在 GPU 上,因此我们必须开发一个 GPU 系统来模拟它。我们在视觉特效系统中添加了读取位移信息的功能,该信息在运行时每帧都被雕刻。这允许粒子在雪上碰撞和弹跳,而没有任何屏幕空间限制(例如深度碰撞)。

最重要的是,我们开发了一个完全由 GPU 驱动的资源生成系统,允许艺术家选择一组网格体,并使用这种位移技术让它们在摄像机周围的网格体上生成:有一组规则来描述网格体的大小和位置。网格相对于位移的位置以及网格距位移的距离。这使我们能够使用相同的技术,只需进行一些数据更改即可代表米德加德的深雪和阿尔夫海姆的深沙。这是另一项强大的技术,我们肯定会在未来的游戏中以此为基础。


.
优化                                
性能是《战神诸神黄昏》发售的关键,因此我们必须开发一种能够在基础 PS4 上表现良好的系统,并且能够在 PS5 的下一代硬件上扩展其功能。对于该系统的性能,需要记住两个主要事项:曲面细分参数和曲面细分的三角形数量。由于我们使用硬件曲面细分来进行几何位移,因此我们必须在质量(曲面细分因子)和性能之间找到适当的平衡。

很难给出硬件曲面细分的确切数字,因为有许多控制变量可以改变性能配置文件:输出顶点结构大小是多少,曲面细分有多少个三角形,或者是否受顶点着色器或片段着色器限制。大多数硬件的经验法则是硬件镶嵌具有固定的使用成本:这意味着您应该在真正值得的时候使用它,并尝试更多地镶嵌更少的三角形,而不是稍微镶嵌大量三角形。使您的系统和数字可调,并为您的目标硬件找到最佳平衡。交付该系统的第二个也是最重要的部分是找到一种方法,考虑到其成本,通过硬件镶嵌来绘制尽可能少的三角形。鉴于具有此功能的网格通常是大地形网格,这一点尤其重要。[micxp_wxonkey]wxv_3152658412379062277[/micxp_wxonkey]我在GDC 演示中详细介绍了我们如何实现这一目标,但想法是使用类似网格着色器的方法(但不使用实际的网格着色器,因为我们必须在 PS4 上实现这一点,而 PS4 不支持它们),并将网格划分为子块或网格,然后使用间接绘制调用来限制通过硬件细分绘制的块的数量。事实上,每个地形网格都是 2 个绘制调用,其中一个使用硬件曲面细分,另一个使用常规顶点着色器管道。计算着色器能够进行相机剔除并确定哪些块落入位移区域,哪些块没有落入。然后,它通过硬件细分仅绘制所需的部分。这是在 PS4 基础上尽可能提高质量的基础。

.
更详细的PDF图片内容介绍                                






























































































































































END



声明:本文章中所有的图片和视频都归原作者所有,仅供大家参考学习和交流,不作商业用途,侵删。如果你喜欢这篇文章,欢迎转发!谢谢!



更多学习和交流可扫描下方二维码哦!


72f8bc5e21c9ef021fbdc241e699194c.png
640.jpg

评分

参与人数 1元素币 +6 活跃度 +5 展开 理由
马丁先生... + 6 + 5 谢谢楼主分享

查看全部评分

授人以鱼不如授人以渔!B站和微信公众号关注: CG小苏  每日分享最前沿视频教程和技术文章白嫖资源!
使用道具 <
xdxttt  发表于 2023-10-19 18:02:23  
2#
难得一见的好帖
回复 收起回复
使用道具
wujigs  发表于 2023-10-19 23:32:52  
3#
前排支持下分享
回复 收起回复
使用道具
仰空越梦  发表于 2023-10-20 00:52:30  
4#
过来支持下,感谢分享!
回复 收起回复
使用道具
花落  发表于 2023-10-20 08:30:21  
5#
相当不错,感谢分享!
回复 收起回复
使用道具
会心一笑  发表于 2023-11-2 13:43:39  
6#
回复 收起回复
使用道具
狂奔de蜗牛  发表于 2023-11-8 16:49:49  
7#
回复 收起回复
使用道具
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表