2
0
Fork 0
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

81 lines
2.0 KiB
Plaintext

Shader "Custom/FrontObject"
{
Properties {
_MainTex ("Texture", 2D) = "white" {}
_Color ("Color", Color) = (1,1,1,1)
_SilhouetteColor ("silhouette Color", Color) = (0,1,0,1)
}
SubShader {
Tags { "Queue"="Transparent-1" "IgnoreProjector"="True" "RenderType"="Transparent" }
Lighting On
ZWrite Off
Fog { Mode Off }
Blend SrcAlpha OneMinusSrcAlpha
Cull Off
Pass
{
Stencil
{
Ref 1
Comp NotEqual
}
ColorMaterial AmbientAndDiffuse
SetTexture [_MainTex]
{
constantColor [_Color]
combine texture * constant
}
}
Pass {
Stencil {
Ref 1
Comp Equal
}
Blend SrcAlpha OneMinusSrcAlpha
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct appdata
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f
{
float2 uv : TEXCOORD0;
float4 vertex : SV_POSITION;
};
sampler2D _MainTex;
float4 _MainTex_ST;
float4 _SilhouetteColor;
v2f vert (appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = TRANSFORM_TEX(v.uv, _MainTex);
return o;
}
fixed4 frag (v2f i) : SV_Target
{
fixed4 basic = tex2D(_MainTex, i.uv);
if(basic.a==0){
discard;
}
return _SilhouetteColor.rgba;
}
ENDCG
}
}
}