Unity Shader Graph 制作扫光效果

简介: Unity Shader Graph 制作扫光效果

国际惯例先看效果:

image.gif

用到的贴图

image.gif

创建一个新的PBR Graph,在Blackboard中添加以下属性:

1.Scan Texture(Texture 2D 类型):用于上面的扫光贴图

2.Scan Speed(Vector1 类型):用于控制扫光速度

3.Scan Width(Vector1 类型):用于控制扫光宽度

4.Scan Color(HDR类型 Color):用于控制扫光颜色

5.Scan Direction(Vector1 类型):用于控制扫光方向

image.gif

用到的一些数学函数节点:

1. Lerp 插值函数节点,可以理解为数学函数类Mathf中的Lerp函数,Lerp(a, b ,t),例如a = 0, b = 10, t = 0.3,函数返回结果则为3

2. Exponential 指数函数节点,Exp(a) 例如a = 1,结果为e

3. Power 幂函数节点 Power(a, b) 例如a = 2,b = 3,则结果为8

 

首先创建Tiling And Offset节点,将其U、V值通过Scan Direction值进行插值运算,再将其结果通过Remap节点映射到[0, 3.14]取值范围,该结果暂时用a代表

image.gif

创建Time节点与Scan Speed值相乘,以便通过该属性控制扫光速度,将结果与a值通过Add节点相加,再创建Sine正弦函数节点,将相加后的值传入,该结果用b代表

image.gif

将Scan Width属性值通过Remap节点将取值范围[0, 10]映射到[10, 0],创建Exponential指数函数节点将结果传入,输出值用c代表,再通过创建Power幂函数节点计算Power(b,c)的值,结果用d代表

image.gif

创建Sample Texture 2D节点,将Scan Texture属性连接其Texture节点,将输出中的R值与d相乘并通过Clamp钳制节点将取值范围限制在[0, 1]        image.gif

将最终值与Scan Color属性值相乘连接至PBR Master中的Albedo节点:

image.gif

最终完成,尝试更换扫光贴图看看效果:

image.gif

调整宽度、方向等属性调试效果:

image.gif

下面附上另一种扫光效果:

image.gif

image.gif

目录
相关文章
|
2天前
|
图形学
【实现100个unity特效】shader实现3D物品闪光和描边效果
【实现100个unity特效】shader实现3D物品闪光和描边效果
7 0
|
3天前
|
开发工具 图形学
【推荐100个unity插件之11】Shader实现UGUI的特效——UIEffect为 Unity UI 提供视觉效果组件
【推荐100个unity插件之11】Shader实现UGUI的特效——UIEffect为 Unity UI 提供视觉效果组件
5 0
|
3天前
|
图形学
【实现100个unity特效之2】使用shader和shader Graph实现2d图片描边效果(附源码)
【实现100个unity特效之2】使用shader和shader Graph实现2d图片描边效果(附源码)
4 0
|
3天前
|
图形学 开发者
【实现100个unity特效之1】使用Shader Graph实现动物森友会的世界弯曲效果(带源码)
【实现100个unity特效之1】使用Shader Graph实现动物森友会的世界弯曲效果(带源码)
6 0
|
2月前
|
图形学 异构计算
【Unity Shader 中Pass相关介绍_第四篇】
【Unity Shader 中Pass相关介绍_第四篇】
|
2月前
|
缓存 图形学 异构计算
【#Unity Shader#Amplify Shader Editor(ASE)_第二篇】
【#Unity Shader#Amplify Shader Editor(ASE)_第二篇】
|
2月前
|
图形学
【Unity Shader 中Pass相关介绍_第三篇】
【Unity Shader 中Pass相关介绍_第三篇】
|
2月前
|
图形学
【Unity Shader#自定义材质面板_第一篇】
【Unity Shader#自定义材质面板_第一篇】
|
2月前
|
前端开发 图形学
【#Unity Shader#Amplify Shader Editor(ASE)_第一篇】
【#Unity Shader#Amplify Shader Editor(ASE)_第一篇】
|
2天前
|
存储 JSON 关系型数据库
【unity实战】制作unity数据保存和加载系统——大型游戏存储的最优解
【unity实战】制作unity数据保存和加载系统——大型游戏存储的最优解
11 2