검은색을 알파값으로 처리했습니다.
이게 일정값이 넘어가면 alpha로 잘라버리는 것을 확인
scroll값으로 값을 조절해서 도출함.
돼기는 했는데 근데 이게 아닌거 같다 -_-ㅋㅋㅋ
Shader "Custom/CGTest_TextureFire"
{
Properties{
_MainTex("Albedo", 2D) = "white" {}
_alphaValue("Alpha",Range(-1,2)) = 0.5
}
SubShader{
Tags {
"Queue" = "Geometry"
"DisableBatching" = "True"
}
Pass{
AlphaToMask On // transparency
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
CBUFFER_START(UnityPerMaterial)
sampler2D _MainTex;
float _alphaValue;
CBUFFER_END
struct appdata
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f
{
float4 vertex : SV_POSITION;
float2 uv : TEXCOORD0;
};
v2f vert(appdata v) {
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = v.uv;
return o;
}
half4 frag(v2f i) : SV_Target{
half4 a = tex2D(_MainTex, i.uv);
float textureAlpha = (a.x + a.y + a.z) / 3;
return half4(a.x, a.y, a.z, textureAlpha - _alphaValue);
}
ENDCG
}
}
FallBack "Diffuse"
}
반응형