본문 바로가기
공부/Shader

셰이더 그래프 기초 Part 05 Shader Graph 기본 조작 = 색상 출력

by 라이티아 2024. 12. 23.

본 글은 대마왕의 셰이더 그래프 기초 책을 기반으로 작성되었습니다

새 씬에서 Material, shaderGraph를 만들어서 적용 한 상태에서 시작함

이때 shaderGraph는 URP의 Unlit Shader Graph임

 

Unlit = 조명의 영향을 받지 않음

 

1. Shader Graph 사용법

  • Node Setting
  • Graph Setting

이렇게 2개의 세팅이 있음

 

Node Setting은 현재 선택한 Node의 설정을

Graph Setting은 셰이더 전체의 세팅을 보고 제어 가능

 

즉, 내부의 세부적 값 세팅 <-> 셰이더 전체의 세팅

 

및의 Preview는 현제 셰이더가 적용된 예시를 볼 수 있음

 

Master Stack

실제로 셰이더에 값을 넣게 되는 최종 결과 노드

 

2. Node를 만들고 연결하고 끊기

 


컬러 노드를 생성할시 이러한 Node가 생성된 것을 확인할 수 있다

 

이를 연결하는 것으로 Node를 사용할 수 있다

 

선을 누르고 Delete하는것으로 쉽게 연결을 끊을 수 있다

 

3. Property와 연결하기 / 승격시키기

이때 2번과 같이 처리하면 색상을 바꾸려 할때마다 일일이 Color를 바꿔야 하는 문제점이 생김

 

이를 해결하는 방식으로

  • Property와 연결
  • 이미 만들어진 Node를 Property로 승격

우선 Property에서 연결하는 방식

 

이렇게 BackBoard에서 만든 요소를 드래그 아웃으로 노드로 만들 수 있음

이를 연결하여 외부에서도 쉽게 색상을 변경할 수 있게됨

이렇게, 쉽게 색상을 변경할 수 있게됨

 

 

그 다음으로는 승격하는 방식임

Node에서 오른클릭 - Convert To - Property를 할시 Node를 승격시킬 수 있음

 

 

색상 출력하기

1. Float, Vector2, Vector3의 출력으로 색상 이해하기

Color와 Vector4가 같은것이라는 이야기를 GUI를 통해서 설명함

모든 노르를 꺼낸 창임

각 값에 따른 실수값들을 확인할 수 있음

 

Float를 base Color에 연결할 시 Float -> Vector3로 처리가 됨

이때 1이라는 값이 Vector3에 들어가게 됨으로써 (1, 1, 1)이 되게 되고, 이는 흰색을 나타냄

 

Vector2를 연결할 시 노란색이 됨을 알 수 있음

(1, 1, 0) = 노란색

 

왜 MainPreview에는 회색인지는 모르겠음

Vector3의 연결은 같은 형식이기에 그대로 (1, 1, 1)이 됨(흰색)

Vector4의 연결은 W값이 버려지고 나머지 X, Y, Z값만 적용된 것을 확인할 수 있음