Unity Shader案例之地球云图

Posted 程序员小毛驴

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity Shader案例之地球云图相关的知识,希望对你有一定的参考价值。

一、地球旋转云图

   1.1 添加纹理

Shader "liulongling/earth" 
	Properties 
		_Tex1("地球",2D)="white"
		_Tex2("云图",2D)="gray"
	

	SubShader 
		Pass
		
			CGPROGRAM
			#pragma vertex vert
			#pragma fragment frag
			#include "unitycg.cginc"
			sampler2D _Tex1;
			sampler2D _Tex2;
			struct v2f
			
				fixed4 vertex:POSITION;
				fixed2 uv:TEXCOORD0;
			;

			v2f vert(appdata_base v)
			
				v2f o;
				o.vertex =mul(UNITY_MATRIX_MVP,v.vertex);
				o.uv= v.texcoord;
				return o;
			

			fixed4 frag(v2f i):COLOR
			
				fixed4 c;
				c.rgb = tex2D(_Tex1,i.uv).rgb+tex2D(_Tex2,i.uv).r;
				c.a = 1;
				return c;
			
			ENDCG
		

	
提示:纹理Cloud使用r通道,才能够显示出来云层的效果。第三十行莫忘了加上:COLOR,偶经常犯这错误~

   1.2 纹理效果


   1.3 给地球加个旋转动画效果

修改第三十行代码

fixed4 frag(v2f i):COLOR

	fixed4 c;
	fixed2 uv=fixed2(i.uv.x+_Time.y/10,i.uv.y);
	fixed2 uv1=fixed2(i.uv.x+_Time.y/5,i.uv.y);
	c.rgb = tex2D(_Tex1,uv).rgb+tex2D(_Tex2,uv1).r;
	c.a = 1;
	return c;

   1.4 地球旋转动画效果





作者: 小毛驴,一个游戏人 
梦想:世界和平   
原文地址: http://blog.csdn.net/liulongling 若有错误之处,请多多谅解并欢迎批评指正。      本博客中未标明转载的文章归作者 小毛驴所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

以上是关于Unity Shader案例之地球云图的主要内容,如果未能解决你的问题,请参考以下文章

Unity Shader案例04-------透明

Unity Shader 角色技能热扭曲效果_案例分享

案例学习——Unity基于体绘制的大气散射shader

如何制作一个透明渐变的shader

蛋哥的学习笔记之-基于Unity的Shader编程:X-1 音乐水波特效

Unity Shader------遮罩反射(Masking Reflection)