아래와 같은 램프 텍스쳐를 제작해 깜빡임에 사용한다.
sin보다 불규칙한 패턴을 표현하는데 좋다.
텍스쳐 용량은 작아야하므로 128x2를 사용한다.
코드
Shader "Custom/part18-2"
{
Properties
{
_MainTex ("Albedo (RGB)", 2D) = "white" {}
_MaskTex ("Mask", 2D) = "white" {}
_RampTex ("Ramp", 2D) = "white" {}
}
SubShader
{
Tags { "RenderType"="Opaque" }
LOD 200
CGPROGRAM
#pragma surface surf Lambert
#pragma target 3.0
sampler2D _MainTex;
sampler2D _MaskTex;
sampler2D _RampTex;
struct Input
{
float2 uv_MainTex;
float2 uv_MaskTex;
float2 uv_RampTex;
};
UNITY_INSTANCING_BUFFER_START(Props)
// put more per-instance properties here
UNITY_INSTANCING_BUFFER_END(Props)
void surf (Input IN, inout SurfaceOutput o)
{
fixed4 c = tex2D (_MainTex, IN.uv_MainTex);
float4 m = tex2D (_MaskTex, IN.uv_MaskTex);
float4 Ramp = tex2D (_RampTex, float2(_Time.y, 0.5));
o.Albedo = c.rgb;
o.Emission = c.rgb * m.g * Ramp.r;
o.Alpha = c.a;
}
ENDCG
}
FallBack "Diffuse"
}
추가정보
나는 후디니를 사용하여 램프 텍스쳐를 제작하였다.
버전은 19.5.493이며, Labs가 설치돼있어야한다.
아래에 hip파일을 첨부한다.
'셰이더 (Shader) > 유니티 쉐이더 스타트업 - 정종필' 카테고리의 다른 글
[Unity/Shader] 파트18-5 : Matcap (0) | 2023.10.12 |
---|---|
[Unity/Shader] 파트18-3 : 디졸브 (0) | 2023.10.10 |
[Unity/Shader] 파트18-1 : 2Pass를 이용한 깨끗한 알파 블렌딩 (뒷면이 안보이게) (0) | 2023.09.04 |
[Unity/Shader] 파트17-2 : 블렌드 펙터 연산 (0) | 2023.08.30 |
[Unity/Shader] 파트17-1 : 커스텀 제어 가능한 알파 블렌딩 (0) | 2023.08.30 |
댓글