버텍스 칼라를 마스킹 용으로 사용하여
맵을 그릴때나 파손된 벽 재질 등에 유용하게 사용가능
Shader "Custom/VCMask" {
Properties {
_MainTex ("Albedo (RGB)", 2D) = "white" {}
_MainTex2("Albedo (RGB)", 2D) = "white" {}
_MainTex3("Albedo (RGB)", 2D) = "white" {}
_MainTex4("Albedo (RGB)", 2D) = "white" {}
}
SubShader {
Tags { "RenderType" = "Opaque"}// "Queue" = "Transparent" }
CGPROGRAM
#pragma surface surf Standard // alpha:fade
sampler2D _MainTex;
sampler2D _MainTex2;
sampler2D _MainTex3;
sampler2D _MainTex4;
struct Input {
float2 uv_MainTex;
float4 color:COLOR;
};
float _di;
UNITY_INSTANCING_BUFFER_START(Props)
UNITY_INSTANCING_BUFFER_END(Props)
void surf (Input IN, inout SurfaceOutputStandard o) {
fixed4 c = tex2D(_MainTex, IN.uv_MainTex);
fixed4 d = tex2D(_MainTex2, IN.uv_MainTex);
fixed4 e = tex2D(_MainTex3, IN.uv_MainTex);
fixed4 f = tex2D(_MainTex4, IN.uv_MainTex);
o.Albedo = lerp(c.rgb, d.rgb, IN.color.r);
o.Albedo = lerp(o.Albedo, e.rgb, IN.color.g);
o.Albedo = lerp(o.Albedo, f.rgb, IN.color.b);
// o.Emission = IN.color.rgb;
o.Alpha = c.a;
}
ENDCG
}
FallBack "Diffuse"
}
'Shader > Shader - SurfaceShader' 카테고리의 다른 글
11 - 2 (Lambert 라이트연산) (0) | 2020.04.04 |
---|---|
11 - 1 (0) | 2020.04.04 |
Metallic(메탈릭) Smoothness(스무스니스) (0) | 2020.02.28 |
알파 (0) | 2020.02.28 |
기본 (0) | 2020.02.28 |