Shader 实现鬼魂效果
前言
我们在游戏中经常会角色碰到角色的情况,大多数游戏中角色和角色重叠的时候会显示一个虚幻的鬼影而不是完全遮挡,那么这个鬼影效果怎么实现呢?接下来我们就实现这样的一个效果。
我在这里使用的是Unity2019的轻量级渲染管线(LWBP),我在Unity2019轻量级渲染管线的配置文件(LightweightRenderPipelineAsset)创建了一个前向渲染器指定给特定角色的渲染方式。如图所示
然后给我们需要这种shader效果的角色设置layer,然后这部分layer取消使用默认的渲染方式(也就是取消勾选)。
然后指定属于角色那一部分的ayer的物体使用characterbehind这一部分的shader。
总而言之,当我们为角色设置了独立渲染器,角色就用该渲染器对应的材质进行着色渲染了。
具体实现步骤:
1.首先加一个颜色节点
2.然后创建一个Dither抖动节点
3.然后调参就初步实现了一个剪影效果
4.然后我们加上一个菲涅尔效果(边缘发光)这样能够展现一个立体感
5.然后使用一个颜色乘法,最后输出到颜色通道就可以实现效果了。
完成这样字的一个shader效果后有一个新的问题,我们怎么设置这些角色在遮挡的时候显示相应的shader效果呢?
具体步骤如下:
1.首先设置我们的这个材质渲染时受什么因素影响的。
这里的原理是是会进行深度测试,然后进行遮挡剔除。