Shader "Custom/SKULL"
{
    Properties
    {
        _MainTex ("Albedo (RGB)", 2D) = "white" {}
        _GreenTex ("Eye Tex", 2D) = "white" {}

        _NoiseStrangth("Noise Strangth", float) = 2 // 강도 제어 슬라이더
        _NoiseSpeed("Noise Speed", Range(0,5)) = 0.1 // 속도 제어 슬라이더

        _NoiseAniTex ("Noise AniTex", 2D) = "white" {}
    }
    SubShader
    {
        Tags { "RenderType"="Opaque" }

        CGPROGRAM
        #pragma surface surf Standard

        sampler2D _MainTex;
        sampler2D _GreenTex;
        
        sampler2D _NoiseAniTex;

        float _NoiseStrangth;
        float _NoiseSpeed;

        struct Input
        {
            float2 uv_MainTex;
            float2 uv_GreenTex;
            float2 uv_NoiseAniTex;
            
            float4 color: COLOR;
        };

        void surf (Input IN, inout SurfaceOutputStandard o)
        {
            //애니메이션 텍스트 설정
            fixed4 NoiseAniTex = tex2D (_NoiseAniTex, float2(IN.uv_NoiseAniTex.x, IN.uv_NoiseAniTex.y - (_Time.y *_NoiseSpeed))); // 시간에 보정 속도를 곱함
      
            fixed4 main = tex2D (_MainTex, IN.uv_MainTex + NoiseAniTex * _NoiseStrangth); // r애니매이션
            fixed4 eye = tex2D (_GreenTex, IN.uv_GreenTex + NoiseAniTex * _NoiseStrangth); // g애니매이션
           // o.Albedo = IN.color; // 버택스 확인
           
            o.Albedo = main.rgb;

            o.Emission = lerp(main.rgb, eye.rbg, IN.color.r * 0.5);
            o.Emission = lerp(o.Emission, eye.rbg, IN.color.g);

            o.Alpha = main.a;
        }
        ENDCG
    }
    FallBack "Diffuse"
}

'게임 그래픽 프로그래밍' 카테고리의 다른 글

목걸이  (0) 2024.09.07
바디  (0) 2024.09.07
도끼  (0) 2024.09.06
셰이더: 외곽선에 색, 텍스쳐 넣기  (0) 2024.09.05
셰이더: 2pass 두께, 색 변경  (0) 2024.09.05

+ Recent posts