ShaderForge-火焰溶解

ShaderForge-火焰溶解

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

效果预览

思路分析

首先我们需要让火焰进行流动效果,并且需要增加一个噪点图用于随机流动,并且需要添加一个火焰外圈的发光效果。我们采用Step节点的两个不同结果进行减法操作得到。

开始制作

创建默认的自定义光照模式Shader,并且删除默认的节点。改变默认的预览模型。
首先添加一个Texture2D节点,改名为MainTex,并且选择好图片素材。添加UV节点和偏移器节点,并调节好相关参数设置。
ShaderForge-火焰溶解_第1张图片
为纹理添加一个颜色节点,进行颜色的控制。
ShaderForge-火焰溶解_第2张图片

接下来我们添加一个镂空的效果,我们还是采用这个噪点图,并且与上边的偏移器进行连接。

ShaderForge-火焰溶解_第3张图片

现在火焰不太真实,只是有流动效果,我们应该把上边多余的效果给切掉。我们用一个中间为白色四周为黑色的图片来进行乘法。注意Step节点的连接顺序。

ShaderForge-火焰溶解_第4张图片

下边我们让火焰开始发光,并且火焰的效果是边缘发光效果强。
我们让原先的00.5减去一个0.1然后再与原本的噪点图输出进行Step比较,这样后者输出的范围会比第一次大一点,然后用第一次的输出减去第二次的输出,得到一个类似的火焰外描边效果。
ShaderForge-火焰溶解_第5张图片

接下来我们,将得到的火焰外描边乘以一个颜色控制,并且与主贴图的颜色进行叠加,让火焰的外轮廓亮起来。将第二次得到的火焰遮罩连接到透明裁剪通道。
重新调节相关参数,调整到合适效果。
ShaderForge-火焰溶解_第6张图片

但是现在我们有两张相同的贴图需要优化一下,我们使用Texture Asset节点来合并相同的贴图。
ShaderForge-火焰溶解_第7张图片
调节参数,来看最终的效果,所有的颜色节点都尽量设为HDR模式
ShaderForge-火焰溶解_第8张图片

现在我们来看一下还有什么能优化的地方?现在这个白球黑边的图片,我们可以用UV操作来替换。
UV的本质就是两个U方向和V方向的0-1的变化。我们通过一定的计算使其模拟类似的图形来控制遮罩。
这样wo们可以又节省一个贴图。
ShaderForge-火焰溶解_第9张图片
来看一下最终的节点连接图和效果。
ShaderForge-火焰溶解_第10张图片

最终的效果图。
ShaderForge-火焰溶解_第11张图片

相关素材

链接: https://pan.baidu.com/s/1jHYhz1c 密码: 9k1z

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