2013年5月27日 星期一

[Unity] Shader - ShaderLab


參考資料:
相關資料:
參考範例:


人生第一次的shader撰寫XD,超陽春Unlit受擊變色用shader,透過shaderLab簡單的功能只要少少幾行就能完成!呈現的效果為,不受光影響,單一貼圖表現,可以透過Color property的alpha來控制貼圖與color間的混合

● Opaque版本
Shader "Custom/Unlit Opaque With Color" {
	Properties {
		_Color ("Color (RGB) Blending (A)", Color) = (1,0,0,0)
		_MainTex ("Base (RGB)", 2D) = "white" {}
	}
	SubShader {
		Tags {"RenderType"="Opaque" "IgnoreProjector"="True"}
		Lighting Off
		Cull back
		ZWrite On
		
		Pass {
			SetTexture [_MainTex] {
				ConstantColor [_Color]
				combine constant lerp(constant) texture
			}
		}
		
	}
	FallBack "Unlit/Diffuse"
}

● Transparent Cutout版本
Shader "Custom/Unlit Transparent Cutout With Color" {
	Properties {
		_Color ("Color (RGB) Blending (A)", Color) = (1,0,0,0)
		_MainTex ("Base (RGB) Trans (A)", 2D) = "white" {}
		_Cutoff ("Alpha cutoff", Range(0,1)) = 0.5
	}
	SubShader {
		Tags {"Queue"="AlphaTest" "IgnoreProjector"="True" "RenderType"="TransparentCutout"}
		Lighting Off
		Cull back
		ZWrite On
		Blend SrcAlpha OneMinusSrcAlpha
		
		Pass {
			Alphatest Greater [_Cutoff]
			SetTexture [_MainTex] {
				ConstantColor [_Color]
				combine constant lerp(constant) texture, texture
			}
		}
		
	}
	FallBack "Unlit/TransparentCutout"
}

沒有留言:

張貼留言