一個簡單的設置透明度,和深度緩存的Shader

Shader "Custom/AlphaShader" {

	properties{
		_AlphaColor("Alpha Color:",color) = (1,1,1,1)

	}
	Subshader{	
		Tags{
		 "Queue" = "Transparent"
		 "RenderType" = "Transparent"
		}

		ZWrite off //off 不寫入深度緩存  爲了不遮擋其他的物體
		Blend  SrcAlpha OneMinusSrcAlpha  //設置blend 計算方式

		pass{
			CGPROGRAM
			#pragma vertex vert
			#pragma fragment frag
			#include "unitycg.cginc"


			float4 _AlphaColor;

			struct v2f {
				float4 pos:POSITION;
				float3 normal:NORMAL;
			};

			v2f  vert(appdata_base  IN){

				v2f OUT;
				OUT.pos = mul(UNITY_MATRIX_MVP,IN.vertex);
				OUT.normal = IN.normal;
				return OUT;
			}
			fixed4 frag(v2f  IN):COLOR
			{

				return _AlphaColor;
			}


			ENDCG
			

		}

	}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章