怎么使用unityShader实现道路引导UV动画
这篇文章主要介绍“怎么使用unity Shader实现道路引导UV动画”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用unity Shader实现道路引导UV动画”文章能帮助大家解决问题。
创新互联公司是一家专业提供鹿泉企业网站建设,专注与成都做网站、网站建设、html5、小程序制作等业务。10年已为鹿泉众多企业、政府机构等服务。创新互联专业网站设计公司优惠进行中。
上面是画线后赋予对应shader材质的效果,下面是用多个面片拼出来的效果,两种用的同一种shader
Shader "HSJ/LineUvAni" { Properties { _MainTex ("Texture", 2D) = "white" {} _MSpeed("MoveSpeed", Range(1, 3)) = 2 //移动速度 } SubShader { //贴图带透明通道 ,半透明效果设置如下: tags{"Queue" = "Transparent" "RenderType" = "Transparent" "IgnoreProjector" = "True"} LOD 100 Blend SrcAlpha OneMinusSrcAlpha //Blend选值为: SrcAlpha 和1-SrcAlpha //也可测试为 DstColor SrcColor //one one Pass { Name "Simple" Cull off //双面 CGPROGRAM #pragma vertex vert #pragma fragment frag // make fog work #pragma multi_compile_fog #include "UnityCG.cginc" struct appdata { float4 vertex : POSITION; float2 uv : TEXCOORD0; }; struct v2f { float2 uv : TEXCOORD0; UNITY_FOG_COORDS(1) float4 vertex : SV_POSITION; }; sampler2D _MainTex; float4 _MainTex_ST; float _MSpeed; v2f vert (appdata v) { v2f o; o.vertex = UnityObjectToClipPos(v.vertex); o.uv = TRANSFORM_TEX(v.uv, _MainTex); UNITY_TRANSFER_FOG(o,o.vertex); return o; } half4 frag(v2f i) : SV_Target { float2 uv = float2(i.uv.x - _MSpeed * _Time.y,i.uv.y); //箭头移动的计算 // sample the texture fixed4 col = tex2D(_MainTex, uv); // apply fog UNITY_APPLY_FOG(i.fogCoord, col); return col; } ENDCG } } }
关于“怎么使用unity Shader实现道路引导UV动画”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注创新互联行业资讯频道,小编每天都会为大家更新不同的知识点。
分享名称:怎么使用unityShader实现道路引导UV动画
文章位置:http://scyanting.com/article/psshpc.html