ShaderForge-轮廓光效果
ShaderForge-轮廓光效果
本系列开始进行ShaderForge实战案例分析,案例的参考来源自浮生若梦老师的ShaderForge教程。
附带教程链接地址:https://space.bilibili.com/20508311?spm_id_from=333.338.viewbox_report.7#/channel/detail?cid=15815。
文末我会提供相关使用的素材。
效果预览
前提
首先我们需要使用到Unity的一个新的后期屏幕特效,具体使用见连接。
思路分析
轮廓光我们首先需要一个菲尼尔节点效果,从内到外的效果的发光 效果。
开始制作
创建默认的自定义光照模式Shader,并且删除默认的节点。改变默认的预览模型。
首先添加一个Texture2D节点,改名为MainTex,并且选择好图片素材。添加菲尼尔节点进行叠加处理。
现在我们能看到初步的发光效果,但是我们还想让发光有颜色并且能够扩散出去的效果。、
我们添加一个颜色节点,并且给运算后的结果乘以一个比较大的数值。
我们在Game视图查看外发光的效果,调节数值大小。这个外发光的轮廓是受上边的后期屏幕特效Boom影响的。请记得开启我们的后期效果的设置。
上边我们的颜色不能有轮廓效果,是因为颜色的范围限制,现在可以改为HDR模式试一下。
这个数值与我们在Bloom中设置的有关,超过这个数值就是HDR模式。
接下来我们调整外发光的范围,我们给菲尼尔节点输入一个变量控制。
重新调节相关参数,调整到合适效果。
现在调节参数的越大,发光的范围变小,与正常的思维有点反向,我们可以采用重映射节点来重新控制。
调节参数我们来看一下最后的效果。
最后的节点连接图。
接下来我们看一下菲尼尔节点的实现原理。
菲尼尔节点的实现原理就是法线和视角法线的点积运算,并且只截取正数部分,最终的效果和菲尼尔节点是一样的。如果节点不能实时更新尝试点击第一个设置。
相关素材
本节的素材ShaderForge插件中就包含,以及上边的后期屏幕效果包需要提前备好(跳转链接也有)。