ShaderForge-轮廓光效果

ShaderForge-轮廓光效果

本系列开始进行ShaderForge实战案例分析,案例的参考来源自浮生若梦老师的ShaderForge教程。
附带教程链接地址:https://space.bilibili.com/20508311?spm_id_from=333.338.viewbox_report.7#/channel/detail?cid=15815。
文末我会提供相关使用的素材。

效果预览

ShaderForge-轮廓光效果_第1张图片

前提

首先我们需要使用到Unity的一个新的后期屏幕特效,具体使用见连接。

思路分析

轮廓光我们首先需要一个菲尼尔节点效果,从内到外的效果的发光 效果。

开始制作

创建默认的自定义光照模式Shader,并且删除默认的节点。改变默认的预览模型。
首先添加一个Texture2D节点,改名为MainTex,并且选择好图片素材。添加菲尼尔节点进行叠加处理。
ShaderForge-轮廓光效果_第2张图片

现在我们能看到初步的发光效果,但是我们还想让发光有颜色并且能够扩散出去的效果。、
我们添加一个颜色节点,并且给运算后的结果乘以一个比较大的数值。

ShaderForge-轮廓光效果_第3张图片
我们在Game视图查看外发光的效果,调节数值大小。这个外发光的轮廓是受上边的后期屏幕特效Boom影响的。请记得开启我们的后期效果的设置。
ShaderForge-轮廓光效果_第4张图片

ShaderForge-轮廓光效果_第5张图片

上边我们的颜色不能有轮廓效果,是因为颜色的范围限制,现在可以改为HDR模式试一下。
ShaderForge-轮廓光效果_第6张图片

ShaderForge-轮廓光效果_第7张图片
这个数值与我们在Bloom中设置的有关,超过这个数值就是HDR模式。
接下来我们调整外发光的范围,我们给菲尼尔节点输入一个变量控制。
重新调节相关参数,调整到合适效果。
ShaderForge-轮廓光效果_第8张图片
现在调节参数的越大,发光的范围变小,与正常的思维有点反向,我们可以采用重映射节点来重新控制。
ShaderForge-轮廓光效果_第9张图片
调节参数我们来看一下最后的效果。
ShaderForge-轮廓光效果_第10张图片
最后的节点连接图。
ShaderForge-轮廓光效果_第11张图片
接下来我们看一下菲尼尔节点的实现原理。
ShaderForge-轮廓光效果_第12张图片
菲尼尔节点的实现原理就是法线和视角法线的点积运算,并且只截取正数部分,最终的效果和菲尼尔节点是一样的。如果节点不能实时更新尝试点击第一个设置。

相关素材

本节的素材ShaderForge插件中就包含,以及上边的后期屏幕效果包需要提前备好(跳转链接也有)。

你可能感兴趣的:(Unity,Shader)