유니티 엔진/유니티 엔진의 구성

유니티 엔진의 구성 - 12) 쉐이더 그래프

monstro 2026. 1. 15. 17:33
728x90
반응형

- 개요

유니티의 Shader Graph코드없이 노드드래그 앤 드롭하여 시각적으로 쉐이더를 제작하는 도구이다

유니티에서 제공하는 URP + HDRP + Buil-In 3개의 렌더링 파이프 라인 모두와 호환된다

 

프로젝트에서 Shader Graph 생성

 

Shader Graph는 위와 같이 우클릭 - Create - Shader Graph를 선택하여 생성할 수 있다

 

- Shader Graph 창의 구성요소

 

Shader Graph 애셋을 생성하고 해당 애셋을 더블클릭하여 쉐이더 그래프 창을 열 수 있다

기본적으로 창의 구성은 위의 4가지로 구성되어 있으며 각각 다음과 같다

  • 1) Master Stack 창 : 최종 출력이 결정되는 곳
  • 2) Blackboard 창 : 외부에서 제어할 변수를 정의하는 곳
  • 3) Main Preview 창 : 실시간으로 쉐이더의 결과물을 확인할 수 있는 곳
  • 4) Graph Inspector 창 : 노드 및 그래프 전체 세부 설정을 변경하는 곳

 

- 주로 사용하는 노드

1) Texture 2D 노드 + Sample Texture 2D 노드

 

Texture 2D 노드를 사용하여 쉐이더 그래프이미지를 불러오고,

Sample Texture 2D 노드를 사용하여 불러온 이미지를 색상 정보로 변환한다

 

2) Color 노드

 

Color 노드를 사용하여 색상 값을 입력받아 색을 입히는 Tint 효과등을 구현할 수 있다

 

3) Float 노드

 

Float 노드를 사용하여 수치 값을 직접 입력하거나 슬라이더로 입력할 수 있다

 

4) Multiply 노드 + Saturation 노드

 

Multiply 노드나 Saturation 노드등을 활용하여 색상 곱셈이나 채도 변경과 같은 수학적 연산을 수행할 수 있다

 

- Shader Graph의 변수에 대한 설정

 

Blackboard 창에 제어할 변수를 생성하고 생성한 변수를 선택하면

Graph Inspector 창에서 선택한 변수의 타입에 대한 속성을 설정할 수 있다

Reference Name 속성은 모든 타입에 동일하게 존재하며 스크립트에서 접근하기 위한 고유 이름을 설정한다

 

- 스크립트에서의 쉐이더 그래프 접근

 

스크립트를 통해 쉐이더 그래프에 접근하는 방식은 위와 같다

쉐이더 그래프가 할당된 머티리얼을 가져오고 SetColor 함수를 호출하여 머티리얼의 을 설정한다

이때 쉐이더 그래프에서 사용중인 Reference Name을 인자로 사용해야 한다

 

- 쉐이더 그래프 사용 절차

쉐이더 그래프를 사용하는 절차를 간단하게 요약하면 다음과 같다

  • 1. 쉐이더 그래프 애셋 생성
  • 2. 쉐이더 그래프 창에서 변수 생성 + 설정노드 연결 
  • 3. 작업 결과 저장
  • 4. 머티리얼 생성 후에 쉐이더 그래프 할당 
  • 5. 오브젝트에 머티리얼 적용
728x90
반응형