Синтаксис:
Используется glsl
Shader "Custom/wo" {
Properties {
_Color ("Main Color", Color) = (1,1,1,1)
_FirstLayer ("First Layer (RGBA)" , 2D) = "black" {}
_SeccondLayer("Seccond Layer (RGBA)", 2D) = "black" {}
_MainAlpha("MainAlpha (A)", 2D) = "white" {}
}
SubShader {
Tags { "Queue"="Transparent" "RenderType"="Transparent"}
LOD 200
Lighting Off
SeparateSpecular Off
CGPROGRAM
#pragma surface surf Lambert alpha
fixed4 _Color;
sampler2D _FirstLayer;
sampler2D _SeccondLayer;
sampler2D _MainAlpha;
struct Input
{
float2 uv_FirstLayer;
float2 uv_SeccondLayer;
float2 uv_MainAlpha;
};
void surf (Input IN, inout SurfaceOutput o) {
fixed4 firstlayer = tex2D (_FirstLayer , IN.uv_FirstLayer );
fixed4 seccondlayer = tex2D (_SeccondLayer , IN.uv_SeccondLayer );
firstlayer *= _Color;
seccondlayer *= _Color;
o.Albedo = (firstlayer.rgb * firstlayer.a - (seccondlayer.rgb * seccondlayer.a ) ) * _Color;
o.Alpha = firstlayer.a+ seccondlayer.a - tex2D(_MainAlpha, IN.uv_MainAlpha).a * 2f;
}
ENDCG
}
FallBack "Transparent/VertexLit"
}
Properties {
_Color ("Main Color", Color) = (1,1,1,1)
_FirstLayer ("First Layer (RGBA)" , 2D) = "black" {}
_SeccondLayer("Seccond Layer (RGBA)", 2D) = "black" {}
_MainAlpha("MainAlpha (A)", 2D) = "white" {}
}
SubShader {
Tags { "Queue"="Transparent" "RenderType"="Transparent"}
LOD 200
Lighting Off
SeparateSpecular Off
CGPROGRAM
#pragma surface surf Lambert alpha
fixed4 _Color;
sampler2D _FirstLayer;
sampler2D _SeccondLayer;
sampler2D _MainAlpha;
struct Input
{
float2 uv_FirstLayer;
float2 uv_SeccondLayer;
float2 uv_MainAlpha;
};
void surf (Input IN, inout SurfaceOutput o) {
fixed4 firstlayer = tex2D (_FirstLayer , IN.uv_FirstLayer );
fixed4 seccondlayer = tex2D (_SeccondLayer , IN.uv_SeccondLayer );
firstlayer *= _Color;
seccondlayer *= _Color;
o.Albedo = (firstlayer.rgb * firstlayer.a - (seccondlayer.rgb * seccondlayer.a ) ) * _Color;
o.Alpha = firstlayer.a+ seccondlayer.a - tex2D(_MainAlpha, IN.uv_MainAlpha).a * 2f;
}
ENDCG
}
FallBack "Transparent/VertexLit"
}