首先来看一个表情,是不是感觉很酷炫,这就是流光效果。我们也可以在模型上面来添加上这个效果,下面会介绍。
一、缩放效果
效果图
会看到模型有一个伸缩的效果
思路
贴图的模型坐标+=法线 * 缩放系数
Shader
1 | Shader "AladdinShader/50 DirectionOffset Shader" |
二、上下流光效果
效果图
这就是流光效果,只不过流光宽度有点宽而已,当然都可以自己调节颜色和宽度
思路
1 | if(v.vertex.x <= _Pos && v.vertex.x >= _Pos - _Range) |
判断贴图模型坐标X是否在限定区域内,如果在的话就叠加上自定义的颜色,不在的话就叠加默认白色,也就是显示贴图本身颜色
Shader
1 | Shader "AladdinShader/51 StreamerColor Shader" |
三、左右流光放大效果
效果图
左右流光和伸缩效果
思路
1 | if(v.vertex.z <= _Pos && v.vertex.z >= _Pos - _Range) |
贴图的模型Z坐标判断是否在区域内,如果在的话则显示自定义的颜色并且根据法线缩放对应区域的贴图的模型坐标
Shader
1 | Shader "AladdinShader/52 DirectionOffset Shader" |
四、边缘高光
效果图
边缘高光在游戏中比较常用
思路
pass1 将贴图模型坐标根据法线*自定义系数进行偏移,然后设置Cull Front 面向摄像机的剔除 片元函数返回自定义的颜色
pass2 显示贴图本身的颜色
Shader
1 | Shader "AladdinShader/53 OutLine Shader" |
五、渐隐效果
效果图
渐隐藏效果在游戏中最常用不过了,但这种效果并不是特别好,后面还会有结合发现贴图实现的溶解效果。
思路
设置透明体,然后在片元函数中返回透明系数
Shader
1 | Shader "AladdinShader/54 Fade Shader" |
git下载
https://gitee.com/dingxiaowei/AladdinShader
Shader交流
欢迎加入Shader交流群:316977780,加群请看群公告,修改群昵称。