绝对原创,Cheapest PBR Shader EVER!!!!

来源:互联网 发布:cf辅助软件下载 编辑:程序博客网 时间:2024/05/16 12:01

一提到Physically based rendering, 就感觉跟手游搭不上边,总有种十分高端的感觉吧,可是我现在就是要在手游上用PBR,而且还是高效率的用!!!

这里提到的高效包括Shader执行高效,Shader鲁棒以及美术和程序的学习成本极低!!!


不知道大家是否知道matcap,美术用ZBrush的时候的一个shader,主要模拟向光面受光的反射情况

根据Unreal在Siggraph 2013上做的关于实时PBR的讲座,实时PBR其实就是两个参数,光滑度和金属度。具体可以去下论文,不要钱的也不用翻墙就能看,看完这个再看下面的会觉得恍然大悟,至少了解一下这篇文章怎么做PBR的思路就行,具体公式啊怎么做随机采样都可以跳过。

那么如果我们用一张2D Texture作为madcap贴图,计算材质在各个角度反射的结果,用这个texture的mipmap保存不同粗糙度的情况下的反射情况,那么我们就有了粗糙度

我们用两张而不是一张matcap贴图,一张保存金属材质的效果,一张保存废金属材质的效果,这样我们有了金属度(根据Unreal说,金属度只有在取完全金属和完全非金属时美术才觉得不是trivial的效果)。

这样,我们就用MAX,选一个吊炸天的离线PBR的shader,弄个材质球,把光打好,从最光滑渲染到最粗糙保存成mipmap chain,金属非金属一样一个弄好,好了,我们有了PBR的matcap贴图了。

然后就是madcap的shader少改一下,多接受一张贴图,r通道保存粗糙度,g通道保存金属度,然后在PS里面根据这个贴图指定的每个像素的材质除了用normal选位置再选一下mipmap层和用哪张贴图就完了。

说到这里完全没说到采样,模糊,PBR理论。。。。。。我觉得稍微用心想一想两天能明白过来,然后你就是next next generation的手游开发者了


不过这个shader有个问题,摄像机角度不能动,光照角度不能动,但是角色可以随便动!!!!!我觉得大多数手游如果做上帝视角等等视角没问题哦



1 0
原创粉丝点击