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

卡通渲染——碧蓝幻想versus render path简析

2020-03-15 19:43 作者:AICDG  | 我要投稿

最近碧蓝幻想versus的pc版发布了,所以买了一份玩一玩。碧蓝幻想versus的pc版本居然没有中文,略坑略坑。赞叹坑点之余,我还顺便抓了几帧看看碧蓝幻想versus的渲染。先说结论:碧蓝幻想versus的renderpath并不复杂,就是标准的前向渲染,并不是UE4的desktop,VR或者mobile path。在三渲二,赛璐璐之类的技术已经被很好研究的现在,之说渲染技术,碧蓝幻想versus的并不算先进,而且还有很多“槽点”,逼死强迫症。

本文主要讨论两点,必杀cutin和普通战斗场景

必杀cutin

必杀的cutin比较简单,因为没有背景绘制的过程,所以放在前面讲解。

UI

第一个pass是UI,自己接触的大部分游戏和引擎都是最后

CS

在下一个render path之前,插入了一些compute shader的计算任务。个人认为插在这里并不好,因为DX11下启动compute queue会打断graphics queue。比较好的处理方法是放在一帧的的最前,比如Unity在dx12/vulkan上的compute skinning。当然,这样的设计也许是为了主机,比如ps4/xbox one都支持asynccompute,可以在渲染不重时分出一定比例的ALU进行compute shader的运行。(PS: compute queue和graphics queue之间切换的损失并非不可接受,tile based renderering等现代渲染技术都会经常切换compute queue和graphics queue)

opaque pass

不透明物体pass比较简单,大部分物体都绘制了三次,一次颜色,一次描边,然后第三次,用较低的lod,作用还需要后续研究

color
描边

不透明pass用了6个mrt,但是好像除了RT0(color)和RT4(疑似UE4 custom stencil)之外,其他的RT并无读写,可以优化一下。不透明pass的最后也混入了一些particle。

shadow map

阴影贴图用了超高精度的4K贴图,也可以稍微减小一点,没必要这么刺激。

transparent pass

半透明pass主要就是绘制一些粒子特效。

post processing

gif录制程序有bug最后绿了,见谅

后期效果并不多,主要就是tone-mapping和bloom。

普通战斗场景

普通战斗场景和人物cutin区别并不大,主要就是多绘制了场景。所以本文也只针对两者区别记录

depth-only pass

在UI pass之后,cs之前,有一个depth-only pass,应该是给z-pre test用的

其他

除了多绘制了场景之外,其他pass和战斗cutin pass完全相同。也就是说cutin相比常规pass,不光相差场景本身,还优化了场景的depth-only pass。

小结

碧蓝幻想versus设计精美,但是技术上还是相对成熟保守,没有什么新的有意思的东西。希望2020年Guilty Gear的新作,ARC能再度突破自己,给卡通渲染带来新的启发和方向。

卡通渲染——碧蓝幻想versus render path简析的评论 (共 条)

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