본문 바로가기
게임 제작 공부/유니티

유니티) 셰이더 그래프를 공부해보자! Shader Graph -1

by 가자몬 2021. 1. 15.
728x90
반응형

 

유니티에서 이펙트 등 여러가지 시각적 효과를 만들기 위해서 가장 중요하고 어려운 개념인

셰이더 그래프를 공부해보려고 합니다.

 

아무래도 프로그래밍쪽에 거의 무지한 상태라서 이해하는 데 남들보다 더 오래 걸릴 것 같습니다, 하지만

코딩에 대한 개념과 유니티의 심화과정을 함께 공부한다고 생각하고 접근해 볼 예정입니다 :)

 

 

그럼, 완전 기초부터 시작 해볼게요!

 

 

 

 

먼저 유니티 허브에서 프로젝트 생성시

URP(Universal Render Pipeline) 또는 High Definition RP로 만들어줘야 셰이더 그래프를 만들 수 있습니다!

 

 

HDRP는 이름에서 알수있듯 High 높은 퀄리티의 렌더링을 하는 용도로 쓰이기 때문에

최적화를 위해서 유니버셜 렌더 파이프라인URP을 쓴다고 합니다.

그리고 셰이더 그래프에서 노드의 종류가 HDRP쪽에 더 많다고 하는데 아직은 모르는게 훨씬 더 많으니... 그 디테일 한 차이점은 나중에 알아보도록 합시다!

 

 

 

*참고)

2019이전 버전에서는 URP가 LWRP(Light weight)라는 이름으로 쓰였는데

기능은 동일하며, light라는 이름때문에 너무 낮은 퀄리티로 렌더링되는 게 아닌가 오해하는 분들이 생겨서

이름만 바꾼 것이라고 해요!

 

아무튼 가장 흔히 쓰이는 것이 URP라고 기억하면 될 것 같습니다.

 

 

 

여기에서

프로젝트를 다르게 여는 이유는,

 

 

위 캡쳐 이미지에서 보시다시피

3D에서 만들수 있는 셰이더와 URP에서 만들 수 있는 셰이더가 다릅니다.

빨간색 부분은 코딩으로 된 셰이더들이고, 노란색으로 체크되어 있는 부분이 URP와 HDRP에서만 만들 수 있는 셰이더 그래프인데,

3D프로젝트에서는 셰이더 그래프와 같은 비주얼 스크립팅이 불가능합니다.

 

 

물론 아예 불가능 한 건 아니고

3D에서 URP로 세팅을 바꾸는 방법이 있습니다.

 

 

1. Window > package manager> Packages: Unity resistry에서 universal RP를 찾아 인스톨 (RP검색으로 빨리 찾기)

2. edit > project setting > graphics

3. 프로젝트에서 creat > rendering > Universal rendering pipeline > pipeline asset 

4. 3에서 생성된 에셋을 2의 파이프라인 세팅 (None)으로 되어있는 부분에 드래그 앤 드롭

5. edit > render pipeline > universal render pipeline > upgrade project meterials ... 

 

위 순서로 진행하면 똑같이 셰이더 그래프를 생성할 수 있게 됩니당

 

이미 3D 프로젝트에서 진행이 된 상태에서 셰이더 그래프가 필요할 때 이 방법을 사용하면 좋을 것같네용

 

 

 

 

 

 

셰이더 그래프 종류에 대해서 알아보면,

 

 

2D renderer

2D에서 빛에 반응하는 / 반응하지 않는 그래프를 만들 때

 

Unlit Graph

3D에서 빛에 반응하지 않는 그래프를 만들 때

 

PBR Graph⭐️

Physically based renderer (물리 기반 렌더링) 으로서, 현실 세계에 가장 가까운 그래프를 만들 때

 

VFX Shader Graph

파티클이 많은 그래프를 만들 때

 

Sub Graph

직접 만든 그래프(그룹해 둔 그래프 등)를 저장 해두고 쓸 때

 

 

이렇게 사용된다고 하는데요,

가장 많이 쓰이는 건 아무래도 현실 물리 기반인 PBR이 될 것 같네요!

 

 

 

 

 

 

 

 

 

 

참고한 유튜브!

youtu.be/KnueAgpUL3Y

고라니TV님의 무려 2시간짜리 영상인데, 엄청 도움이 많이 되는 영상입니당. 셰이더 공부를 하시려면 꼭 한번 보시는 걸 추천드려요

반응형

댓글