UGUI中实现用shader做UI特效
来源:互联网 发布:淘宝店耳机维修靠谱吗 编辑:程序博客网 时间:2024/05/07 10:32
我使用UGUI有一段时间了,这两天在看李总的Shader教程,自己动手把流光效果完成之后突然想到能不能在UGUI中使用Shader来做UI特效,然后自己就动手尝试着做了一下,完成后运行图如下:
这是一个有动态流光效果的Button,我只是截了个屏,下面放上制作方式。
首先需要效果的shader,我是在李总博客(http://www.cnblogs.com/crazylights/p/4040965.html)里shader_flowlight_step5.shader这个的基础上修改的,感谢李总通俗易懂的教程,下面放上修改后的shader代码:
Shader "TestShader/UIFlowLight" { Properties { _FlowTex("Light Texture(A)",2D)="black"{} _MaskTex("Mask Texture(A)",2D)="white"{} _uvAddSpeed("",float)=2 } SubShader { Tags { "RenderType"="Transparent" "Queue"="Transparent" } LOD 200 Blend SrcAlpha OneMinusSrcAlpha CGPROGRAM #pragma surface surf Lambert sampler2D _FlowTex; sampler2D _MaskTex; float _uvAddSpeed; struct Input { float2 uv_MaskTex; }; void surf (Input IN, inout SurfaceOutput o) { float2 uv=IN.uv_MaskTex; uv.x /= 2; uv.x -= _Time.y * _uvAddSpeed; float flow = tex2D(_FlowTex, uv).a; float mask = tex2D(_MaskTex, IN.uv_MaskTex).a; o.Emission= float3(flow,flow,flow)*mask; o.Alpha = flow * mask; } ENDCG } }
然后制作一个Material,使用刚才的那个shader,将那一根光线和你需要做效果的图片放上去,光线是李总GitHub上下载的,下面的mask就放你Button的那个Sprite,Sprite的背景要透明的才有效果:
然后将基本的UI界面搭好,在你需要添加特效的对象下面添加UGUI的RawImage对象,将RawImage的Material设置为刚才创建的Material,再设置RawImage的位置,我现在将它添加在Button下面,如下:
最后在Canvas下面选择渲染模式为摄像机,并把相应的摄像机给拖进去,注意摄像机的Culling Mask一定要选上UI哦。现在大功告成,运行就会看到有流光效果的Button了。
这是我第一次写博客,欢迎大家来交流讨论,共同进步!
0 0
- UGUI中实现用shader做UI特效
- UGUI-UI添加特效
- 在Unity3D中使用uGUI实现3D旋转特效
- UGUI(九)UI粒子特效
- 关于UGUI实现UI动画
- UGUI中UI控件简介
- UGUI中UI穿透问题
- unity 让自定义 ui shader 支持 UGUI 的 Mask 功能
- UGUI面板中特效显示解决方案
- unity UGUI与模型混合显示(ui显示特效)
- UGUI播放UI特效以及解决特效与UI的层级问题
- unity3D(基于UGUI)网络游戏正在开发中 <一>"最近用UGUI做人物血条"
- [UGUI功能]UGUI实现按住拖拽UI功能
- Shader特效——实现“火苗”【GLSL】
- Shader特效——实现“闪电”【GLSL】
- Shader特效——实现“羽化”【GLSL】
- 3D打印机shader特效简单实现
- 【Shader】热扭曲实现刀光特效
- 关于Socket编程中gethostbyname()出错的原因
- [LeetCode]116.Populating Next Right Pointers in Each Node
- ZOJ 3551 Bloodsucker 概率DP
- JAVA_IO学习笔记
- Android实现记事本项目完整实例,附源代码
- UGUI中实现用shader做UI特效
- dedecms二次开发:自定义模型使用教程
- echart之实现服务器资源监控
- 物极必反
- 友盟分享到QQ空间 JAR问题The library 'SocialSDK_QQZone_2.jar' contains native libraries that will not run on t
- HEVC中CTU递归代码分析
- 2222222222222222222222222222222
- d3
- PCA 主成分分析