Unity Golang教程-Shader编写一个流动的云效果

创建目录

一个友好的项目,项目目录结构是很重要的。我们先导入一个登录界面模型资源。

我们先创建Art表示是美术类的资源,资源是模型创建Model文件夹,由于是在登录界面所以创建Login文件夹,下面依次是模型对应的资源,如下图所示:

场景中导入模型并给模型创建Materials与Shader。

效果展示

场景中分两层云移动。里面一层移动快一点,较远的一层移动的慢。

Shader 代码实现分析

Shader中图片移动,可以经过修改uv轻松实现,效果中两层云,那就对两张图进行不同uv改变。

核心代码

cs 复制代码
v2f vert(appdata_full v)
			{
				v2f o;
				o.pos = UnityObjectToClipPos(v.vertex);
				o.uv.xy = TRANSFORM_TEX(v.texcoord.xy, _MainTex) + float2(_ScrollX, _ScrollY) * _Time;
				o.uv.zw = TRANSFORM_TEX(v.texcoord.xy, _DetailTex) + float2(_Scroll2X, _Scroll2Y) * _Time;

				return o;
			}
	
			half4 frag (v2f i) : COLOR
			{
				half4 o;
				half4 tex = tex2D (_MainTex, i.uv.xy);
				half4 tex2 = tex2D (_DetailTex, i.uv.zw);

				o.rgb = tex.rgb * tex2.rgb * _AMultiplierCloud;	
				o.a = (tex.a + tex2.a) * 0.5;
				return o;
			}

总结

对于有一定Shader基础的人来说上面的比较容易理解,如果对Shader不是很熟悉的,也不用担心,拿来注意代码直接拿过来用问题也不大。当然了也可以用c#代码直接实现图片位移也是可以的很简单。

工程下载

相关推荐
℡枫叶℡4 小时前
Unity - Import Activity Window 资源导入诊断信息窗口
unity·资源导入诊断
TO_ZRG6 小时前
Unity 证书校验
unity·游戏引擎
mxwin8 小时前
Unity Shader 切线空间数据是如何计算出来的
unity·游戏引擎·shader
mxwin11 小时前
Unity Shader 法线贴图跟切线空间有什么关系
unity·游戏引擎·贴图·shader
mxwin11 小时前
Unity Shader 贴图和采样的关系 如何保证贴图清晰
unity·游戏引擎·贴图·shader
心前阳光13 小时前
Unity之使用火山引擎实现文字提问流式回复
unity·游戏引擎·火山引擎
mxwin16 小时前
Unity Shader 什么是球谐光照 原理是什么
unity·游戏引擎·shader
心前阳光16 小时前
Unity之使用火山引擎实现语音识别
unity·语音识别·火山引擎
心前阳光16 小时前
Unity之使用火山引擎实现流式语音合成
unity·游戏引擎·火山引擎