[gdc23]《战神:诸神黄昏》中的积雪系统

overview

gdc23上santa monica带来基于tesselation的displacement map的可交互积雪系统,这是一个对于前作(战神4)的screen space parallax mapping的升级,而且是一个由自身render programmer在一个项目周期内,完成的:

  • 丰富&顶尖质量的
  • 性能友好的
  • 不需要美术很多设置(基本就是全局参数)
    系统;
    talk本身基本完整介绍了整个研发的提出,prototype,polish,shipping的整个过程,对于产品团队可以说是含金量很高;
    本文主要笔记一些重点;

screen space parallax的问题


gow4的积雪系统这样,应该说正常质量已经不错了;
主要做法就是有一个积雪痕迹的render target记录,然后进行screen space 的raymarching,进而做parallax mapping;
在当时质量没问题,也是同期很多游戏的选择(the last of us 2…);
这里主要谈及一些缺点:

  • screen space raymarching,性能其实也不可控,在激烈战斗的情况下,几乎全屏做raymarching这个消耗是比较严重的;
    [gdc23]《战神:诸神黄昏》中的积雪系统_第1张图片
  • parallax mapping本身就是一个很有局限性的技术,没法做出距离camera很近的有深度的雪,上图中齐腰深的雪
  • 局限于terrain,这个对于美术的发挥限制很大;

displacement & tessellation

技术本身列出要点也比较直接:

  • top down记录场景本身的深度
  • top down记录交互的深度
  • 渲染一个heightmap的mesh,在有交互深度的附近进行tesselation(可以最小化triangle量)
  • 使用gpu driven的思路,对heightmap mesh做meshlet切分,进而各种充分culling
  • 还能procedual撒上一些小雪块增加细节
  • 阴影系列的优化技术都用上(scroll等)
    最后达成效果效率都很好的结果;

研发过程

[gdc23]《战神:诸神黄昏》中的积雪系统_第2张图片
看过全文的话,刚工作的同学可能会觉得技术本身是关键,工作多年的同学应该会觉得talk中的研发过程才是精华;
所以作者在开始的时候就指出,不要太关心技术细节(其实占比较低),要关注选择背后的原因;
整体看下来,应该说这套积雪系统是一个系统级别的系统,涉及面是比较大的,这种系统从开发量以及影响面比较大,那么就是非常依赖周围的系统&团队,以及和团队的交流。

美术会议

  • ragnorak开始的时候,一个art team和render team开了个会,里面artist每个都是10+年的经历的老法师,明确提出gow4的雪的系统的问题,然后列出新系统的需求:
    • 雪需要是到处都是10x于gow
    • 需要自动的铺设的工作量,不能是美术一点点弄
    • 需要在任何mesh上(而不是局限于terrain)
    • 需要是实际的geometry而不是parallax mapping了
    • 效率要好
    • 要能够ps4上跑得起来,并且能scale up到ps5上面
      然后美术给出的需求的说明是这样的:

      (有maya的prototype,各种说明。。。有点专业呀!!!)

开发过程

其实是非常面向产品的,就是围绕产品来组织技术,而不是一个tech oriented;
第一个版本的prorotype,只有geometry的tesselation
然后尽快进版本,review,迭代。
增加细节,normal等等;
并且同组的同事也在处理hardware tesselation,这样帮助也很大;
然后新的render lead过来之后,也增加了作为particle collision的depth,

procedual放置的小mesh;
可以看到是各种各样的小mesh的组合,最后出来的产品结果;

sum

总结下来是一个很好的开发案例,通过团队的素养和配合,最后达成了一个很好的产品品质的结果。

你可能感兴趣的:(渲染引擎)