Unity Shader Graph 制作Dissolve溶解效果

简介: Unity Shader Graph 制作Dissolve溶解效果

遵循国际惯例先看效果:

image.gif

模型使用了Asset Store资源商店里下载的模型Robot Kyle,创建一个新的PBR Graph,命名为dissolve,双击进入shader graph编辑器,修改Main Preview预览窗口,使用Custom Mesh预览,选择Robot模型:

image.gif

首先创建MainTexture属性,以便在Inspector面板添加贴图:

image.gif

image.gif

创建SampleTexture2D节点,将其Texture设为MainTexture属性,并将其输出连接至PBR中的Albedo节点:

image.gif

添加Simple Noise噪声节点,并为Scale创建一个Noise Scale属性以便在Inspector面板进行调整,我们先将其设为60左右,将Simple Noise输出连接至PBR中的Alpha节点:

image.gif

现在我们创建一个时间节点,使用其Sine Time实现溶解阈值从0至1、从1只0的循环效果,因为Sin函数取值范围为[-1, 1],因此我们再创建一个Remap节点将其取值范围映射到[0, 1]之间,最终将Remap输出节点连接至PBR中的AlphaClipThreshold节点,可以看到简单的溶解效果已经实现:

image.gif

如果想要用C#脚本代码控制溶解过程,可以使用一个Vector1类型属性代替时间节点,在代码中调整该属性值以控制溶解过程。

为了实现溶解边缘发光效果,我们再创建一个Step节点,现在Simple Noise同时输出到Alpha和Step的Edge节点上,创建一个Vector1类型属性Edge Width用来调整溶解边缘的宽度,将其值用Add节点与时间正弦值相加输出到Step中的In节点:

image.gif

最后,创建一个Color属性Edge Color以便调整溶解边缘发光的颜色,使用Multiply节点将Color值与Step输出值相乘,并输出到PBR中的Emission节点:

image.gif

最终效果:

image.gif

目录
相关文章
|
图形学 Android开发 iOS开发
|
6天前
|
图形学 异构计算
【Unity Shader 中Pass相关介绍_第四篇】
【Unity Shader 中Pass相关介绍_第四篇】
|
6天前
|
图形学 C++
【Unity Shader入坑篇---有ASE创建Unity Shader,那么Unity Shader代码的相关知识还有必要学或了解吗?】
【Unity Shader入坑篇---有ASE创建Unity Shader,那么Unity Shader代码的相关知识还有必要学或了解吗?】
|
6天前
|
图形学
【#Unity Shader#Amplify Shader Editor(ASE)_第八篇】
【#Unity Shader#Amplify Shader Editor(ASE)_第八篇】
|
6天前
|
图形学
【#Unity Shader#Amplify Shader Editor(ASE)_第三篇】
【#Unity Shader#Amplify Shader Editor(ASE)_第三篇】
|
6天前
|
存储 图形学
【Unity Shader 中Pass相关介绍_第一篇】
【Unity Shader 中Pass相关介绍_第一篇】
|
6天前
|
图形学
【Unity Shader 中SubShader相关介绍】
【Unity Shader 中SubShader相关介绍】
|
7月前
|
存储 图形学
浅谈Unity之模型裁剪shader
Unity之模型裁剪shader
|
8月前
|
存储 编译器 图形学
使用Unity在材质球上实现绘画:详细解释每一行Shader代码!
使用Unity在材质球上实现绘画:详细解释每一行Shader代码!
104 0
|
算法 Java 程序员
Unity Shader 概述
Unity Shader 概述
160 0
Unity Shader 概述