Синтаксис:
Используется glsl
Shader "test" {
Properties {
_MainTex ("Base (RGB)", 2D) = "white" {}
_Mask ("Mask (RGB)", 2D) = "white" {}
}
Category {
Tags { "RenderType"="Transparent" "IgnoreProjector"="True" "Queue"="Transparent" }
ZWrite Off
Blend SrcAlpha OneMinusSrcAlpha
SubShader {
CGPROGRAM
#pragma surface surf Lambert alpha
uniform sampler2D _MainTex;
uniform sampler2D _Mask;
uniform half _Transparent;
struct Input {
float2 uv_MainTex;
float2 uv_Mask;
};
void surf (Input IN, inout SurfaceOutput o) {
float4 main_tex = tex2D (_MainTex, IN.uv_MainTex);
float4 mask = tex2D(_Mask, IN.uv_Mask);
o.Albedo = main_tex.rgb;
o.Alpha = mask.r;
}
ENDCG
}
FallBack "Transparent/Diffuse"
}
}
Properties {
_MainTex ("Base (RGB)", 2D) = "white" {}
_Mask ("Mask (RGB)", 2D) = "white" {}
}
Category {
Tags { "RenderType"="Transparent" "IgnoreProjector"="True" "Queue"="Transparent" }
ZWrite Off
Blend SrcAlpha OneMinusSrcAlpha
SubShader {
CGPROGRAM
#pragma surface surf Lambert alpha
uniform sampler2D _MainTex;
uniform sampler2D _Mask;
uniform half _Transparent;
struct Input {
float2 uv_MainTex;
float2 uv_Mask;
};
void surf (Input IN, inout SurfaceOutput o) {
float4 main_tex = tex2D (_MainTex, IN.uv_MainTex);
float4 mask = tex2D(_Mask, IN.uv_Mask);
o.Albedo = main_tex.rgb;
o.Alpha = mask.r;
}
ENDCG
}
FallBack "Transparent/Diffuse"
}
}
А вот как это сделать не знаю, мне нужно сделать, чтобы результат был как в photoshop'е при Редактировать -> Отразить по вертикали | по горизонтали.
Если это сложно, то направте, всех благодарю за внимание.
С уважением, Андрей.