本文主要是介绍Unity UGUI 流光特效,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
UGUI 流光特效
效果图:
原理
1. 写个简单的Shader:
float4 frag (v2f i) : SV_Target
{float4 col = tex2D(_MainTex, i.uv);float2 uv = i.uv - 0.5;float2 pt = pointbyangle( fmod( _StartAngle + _Time.y * _Speed, 360));float l = clamp( 1 - length( uv - pt ) / ( _Size * 1.414213562373), 0, 1 );float4 bor = lerp( _BorderColor, _BorderColor * col.a, _Alpha );return lerp( float4(0,0,0,0), bor, l );
}
2. 创建一个材质赋予Image
材质可以配置的项有流光颜色、流光位置、速度、大小、开始角度(这是为了多个UI组件都具有该特效时,避免流光全都同步,赋予开始角度后,可以打乱每个窗体的流光角度,使他们各自不同)。
要注意的小坑
想要让PostProcess在UGUI上起作用,Canvas渲染模式不能设置为Overlay,其他两种模式都可以,如果UI仅仅需要摆到屏幕上,则使用Camera模式,如果UI需要摆到场景中,则World Space模式。
源码下载:
https://download.csdn.net/download/sdhexu/21540738
这篇关于Unity UGUI 流光特效的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!