栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 游戏开发 > 其他

Unity Shader Graph 制作扫光效果

其他 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Unity Shader Graph 制作扫光效果

国际惯例先看效果:

用到的贴图

创建一个新的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 类型):用于控制扫光方向

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

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代表

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

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

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

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

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

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

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/905062.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号