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 |