Unity2018新功能抢鲜 | ShaderGraph实战教程之溶解效果

本文首发于洪流学堂微信公众号。
洪流学堂,让你学Unity快人几步

上次我们讲了ShaderGraph的配置,创建,编辑和在材质球上的使用,这节课我们通过一个实例来看一下如何用ShaderGraph快速创建一个溶解效果。

溶解效果

溶解效果是游戏中常用的一种效果,可用于Boss死亡时的消失。溶解效果的原理是通过一张噪波贴图,实现模型上随机消失。下面我们一起来通过ShaderGraph实现这个效果吧!

1、创建一个PBR Graph,命名为DissolveGraph

2、添加Simple Noise节点,然后Noise设置不那么密集,修改X为50;将Output连到PBR Master节点的Alpha。
在Unity中添加噪波非常容易,可以通过内置Noise节点通过程序生成。
Simple 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节点的知识。
后续会有更多的实例教程,关注洪流学堂公众号第一时间获取。

你有没有饱受shader折磨的同学?你可以把今天的内容分享给他,或许你能帮到他。

本文的源码可以通过洪流学堂公众号回复 溶解 获取。


Unity:世界领先的游戏,VR/AR引擎
《郑洪智的Unity2018课》,倾尽我8年的开发经验,结合最新的Unity2018,带你从入门到精通。
目前预售拼团,5.5折!

猜你喜欢

转载自blog.csdn.net/zhenghongzhi6/article/details/80035761