[UnityShader3]流光效果
来源:互联网 发布:c语言中数据类型范围 编辑:程序博客网 时间:2024/04/29 06:57
参考链接:http://www.unitymanual.com/thread-30314-1-1.html
首先直接上效果图:
动态的效果就是一条光线横扫着图标。
要制作流光效果,一般要用一张底图,一张流光图(流光图中的非光线部分最好是黑色的)。以下是本次使用的流光图:
好了现在我们来分析一下如何实现流光效果。
1.通过对效果图的分析,我们发现底图并没有发生变化,变的只是流光图(位置在不断改变),因此,我们要去改变流光图的uv。
2.从效果图来看,发生变化的是rgb值,又因为流光图中的非光线部分是黑色的(rgb值为0,这点很重要),所以最终的输出就是两图的rgb值之和。
3.流光纹理的Wrap Mode必须是Repeat。
代码如下:
Shader "Custom/Flow" {Properties{_MainTex("底图 (RGB)", 2D) = "white" {}_FlowTex("流光图 (A)", 2D) = "white" {}_ScrollXSpeed("横向速度", Range(0, 10)) = 2_ScrollYSpeed("竖向速度", Range(0, 10)) = 0_ScrollDirection("方向", Range(-1, 1)) = -1_FlowColor("流光颜色",Color) = (1,1,1,1)}SubShader{Tags{ "RenderType" = "Opaque" }LOD 200CGPROGRAM#pragma surface surf Lambert sampler2D _MainTex;sampler2D _FlowTex;fixed _ScrollXSpeed;fixed _ScrollYSpeed;fixed _ScrollDirection;float4 _FlowColor;struct Input {float2 uv_MainTex;float2 uv_FlowTex;};void surf(Input IN, inout SurfaceOutput o) {//改变流光图的uvfixed2 scrolledUV = IN.uv_FlowTex;fixed xScrollValue = _ScrollXSpeed * _Time.y;// _Time.y等同于Time.timeSinceLevelLoadfixed yScrollValue = _ScrollYSpeed * _Time.y;scrolledUV += fixed2(xScrollValue, yScrollValue) * _ScrollDirection;//颜色混合half4 c = tex2D(_FlowTex, scrolledUV);half4 d = tex2D(_MainTex, IN.uv_MainTex);o.Albedo = c.rgb * _FlowColor.rgb + d.rgb;o.Alpha = d.a;}ENDCG}FallBack "Diffuse"}
这是unitypackage:
http://yun.baidu.com/s/10dQaU
0 0
- [UnityShader3]流光效果
- [UnityShader3]圆角与流光效果
- 流光效果
- [UnityShader3]遮罩效果
- [UnityShader3]去色效果
- [UnityShader3]模糊效果
- [UnityShader3]序列帧遮罩效果
- [UnityShader3]网格渐现效果
- [UnityShader3]遮罩效果
- [UnityShader3]光晕效果
- [UnityShader3]热扭曲效果
- [UnityShader3]波浪效果
- [UnityShader3]局部动态效果
- [UnityShader3]彩光效果
- [UnityShader3]溶解与重现效果
- [UnityShader3]光之翼效果
- [UnityShader3]边缘光流动效果
- [UnityShader3]转圈与冷却效果
- android viewpager 弹性效果的实现,首页往左拉弹回,尾页往右拉弹回
- Opaque
- android Handler详细使用方法实例
- Java final
- POJ 1552 Doubles
- [UnityShader3]流光效果
- Fragment 阻尼切换(待写)
- ptr_fun,mem_fun,mem_fun_ref的使用
- 记前几天发现的安卓巴士漏洞
- ViewPager如何获取当前的子view( 解决getChildAt(position) 为null的问题)
- POJ-1018
- NodeManager启用cgroup资源隔离(Hadoop2.3)
- Cookie学习总结-Cookie的增加、删除、查看案例
- scrollsToTop---在多个scrollView情况下