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这个消耗是比较严重的;
- parallax mapping本身就是一个很有局限性的技术,没法做出距离camera很近的有深度的雪,上图中齐腰深的雪
- 局限于terrain,这个对于美术的发挥限制很大;
displacement & tessellation
技术本身列出要点也比较直接:
- top down记录场景本身的深度
- top down记录交互的深度
- 渲染一个heightmap的mesh,在有交互深度的附近进行tesselation(可以最小化triangle量)
- 使用gpu driven的思路,对heightmap mesh做meshlet切分,进而各种充分culling
- 还能procedual撒上一些小雪块增加细节
- 阴影系列的优化技术都用上(scroll等)
最后达成效果效率都很好的结果;
研发过程
看过全文的话,刚工作的同学可能会觉得技术本身是关键,工作多年的同学应该会觉得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
总结下来是一个很好的开发案例,通过团队的素养和配合,最后达成了一个很好的产品品质的结果。