300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Unity循环滚动背景效果制作(uGUI)

Unity循环滚动背景效果制作(uGUI)

时间:2020-08-02 13:32:08

相关推荐

Unity循环滚动背景效果制作(uGUI)

运行效果

制作过程

1 导入一张图片,设置格式如下

2 创建一个shader文件,对应的shader代码如下

Shader "Unlit/ScrollX"{Properties{_MainTex("Base Layer(RGB)", 2D) = "white" {} // 纹理 _ScrollX("Base layer Scroll Speed",Float) = 1.0 // 滚动速度_Mutiplier("Layer Mutiplier", Float) = 1 //整体亮度}SubShader{Tags{"RenderType" = "Opaque" "Queue" = "Geometry" }LOD 100Pass{Tags{"LightMode" = "ForwardBase" }CGPROGRAM#pragma vertex vert#pragma fragment frag#include "UnityCG.cginc"struct a2v{float4 vertex : POSITION;float2 texcoord : TEXCOORD0;};struct v2f{float4 pos : SV_POSITION;float2 uv : TEXCOORD0;};sampler2D _MainTex;float4 _MainTex_ST; float _ScrollX; float _Mutiplier;v2f vert(a2v v){v2f o;o.pos = UnityObjectToClipPos(v.vertex);o.uv.xy = TRANSFORM_TEX(v.texcoord, _MainTex) + frac(float2 (_ScrollX, 0.0) * _Time.y); return o;}fixed4 frag(v2f i) : SV_Target{fixed4 c = tex2D(_MainTex, i.uv.xy); c.rgb *= _Mutiplier;return c;}ENDCG}}FallBack "VertexLit"}

3 创建一个材质球,设置shader为上面的shader,赋值图片,可以调整Base layer Scroll Speed来调整滚动速度

4 创建一个Image,赋值Material为上面制作的材质球

5 运行Unity即可看到滚动效果

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。