카테고리 없음

Unity_URPCG_불꽃 투명값지정

zelkova 2021. 3. 24. 10:29

<목차로 돌아가기>

 

 

검은색을 알파값으로 처리했습니다.

이게 일정값이 넘어가면 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"
}

 

 

 

 

 

반응형