本文首发于洪流学堂微信公众号。
洪流学堂,让你学Unity快人几步
洪流学堂公众号回复节点
,获取ShaderGraph节点详解PDF文件(带目录)。
上次我们讲了ShaderGraph的配置,创建,编辑和在材质球上的使用,这节课我们通过一个实例来看一下如何用ShaderGraph快速创建一个溶解效果。
溶解效果是游戏中常用的一种效果,可用于Boss死亡时的消失。溶解效果的原理是通过一张噪波贴图,实现模型上随机消失。下面我们一起来通过ShaderGraph实现这个效果吧!
1、创建一个PBR Graph,命名为DissolveGraph
2、添加Simple Noise节点,然后Noise设置不那么密集,修改X为50;将Output连到PBR Master节点的Alpha。
在Unity中添加噪波非常容易,可以通过内置Noise节点通过程序生成。
3、然后想要模型能有一部分消失,需要用到PBR Master节点的AlphaClipThreshold。
AlphaClipThreshold属性:alpha值低于这个属性的地方会被cut掉不显示
我们需要提供一个参数,让程序来控制溶解的过程。
这样我们修改这个Progress的值,就会有初步的溶解效果了!
4、但是做到这还不够,我们需要模型的最基本的贴图和法线贴图。这些节点我们在全息效果那篇已经讲解,如下图所示创建这些节点。
5、我们还想增加一个效果,让溶解的过程看着像是被烧掉的感觉。
如下图所示创建节点:
这里用到了一个新的Step
节点:
Step Node:如果输入值In
大于等于Edge
,则返回1,否则返回0
我们让Edge的值稍微小于0,在这里为-0.06,就可以让溶解的边缘扩大一些,这样和FlameColor相乘,就能像边缘被燃烧的感觉。最终的效果!
小结
本文通过溶解效果的ShaderGraph,学了Simple Noise,Step节点的知识。
后续会有更多的实例教程,关注洪流学堂公众号第一时间获取。
洪流学堂公众号回复节点
,获取ShaderGraph节点详解PDF文件(带目录)。
你有没有饱受shader折磨的同学?你可以把今天的内容分享给他,或许你能帮到他。