함수의 구조
void surf (Input IN, inout SurfaceOutputStandard o)
{
//.. 함수 내용
// Albedo comes from a texture tinted by color
fixed4 c = tex2D (_MainTex, IN.uv_MainTex) * _Color;
o.Albedo = c.rgb;
// Metallic and smoothness come from slider variables
o.Metallic = _Metallic;
o.Smoothness = _Glossiness;
o.Alpha = c.a;
}
형식 이름 (입력값) { ... }
상수로 색상 변경
void surf(Input IN, inout SurfaceOutputStandard o)
{
// Albedo comes from a texture tinted by color
fixed4 c = tex2D(_MainTex, IN.uv_MainTex) * _Color;
o.Albedo = float3(1,0,0);
// Metallic and smoothness come from slider variables
//o.Metallic = _Metallic;
//o.Smoothness = _Glossiness;
o.Alpha = c.a;
}
o.Albedo = float3(1,0,0);
상수값 설정

o.Emission= float3(1,0,0);

색상 사칙연산
덧셈
o.Emission = float3(1, 0, 0) + float3(0,1,0); => (1,1,0)

뺄셈
o.Emission = float3(1, 0, 0) - float3(1,0,0); => (0,0,0)

곱셈
o.Emission = float3(0.5, 0.5, 0.5) * float3(0.5,0.5,0.5); => (0.25, 0.25, 0.25)

※ 덧셈의 값이 1이 넘어가더라도 값은 1로 고정됨.
'Unity > Unity_Shader' 카테고리의 다른 글
| 07. 쉐이더 변수로 밝기 조절 (0) | 2023.04.25 |
|---|---|
| 06. 쉐이더 변수로 색상 변경 (0) | 2023.04.25 |
| 04. 쉐이더 코드 수정하기 (0) | 2023.04.23 |
| 03. Surface Shader 만들기 (0) | 2023.04.23 |
| 02. 렌더링 파이프라인 (0) | 2023.04.23 |