[Unity] URP 셰이더 Vertex Color와 응용

2023. 7. 12. 17:43Unity

728x90
반응형

버텍스 컬러는 기본적으로 출력이 되지 않기 때문에 별도의 Package를 다운 받아 작업한다.

 

 

Package Manager에서 Poly Brush를 다운 받고 Poly Bursh Window로 기본 Plane에 Vertex 색을 칠할 수 있다.

 

 

셰이더에서 미리 [Vertex Color] 노드를 연결해 놓았기 때문에 실시간으로 볼 수 있었고, 연결하지 않으면 브러쉬로 칠해도 아무 일도 일어나지 않은 것처럼 보인다.

 

 


 

 

특정 텍스쳐와 더하거나 곱하면 효과를 나타낼 수 있는데, 잘 이용하면 라이트맵 베이크를 할 수 없는 상황에서 Ambient Occlusion처럼 이용하거나 저렴한 라이트맵처럼 이용할 수도 있다고 한다. 버텍스 컬러는 버텍스가 기본적으로 가지고 있는 값이므로 저렴하게 이용할 수 있어서 파티클, 이펙트에서 흔하게 사용한다고 한다.

 

 


 

 

예제 4개의 텍스쳐를 쭉 입력하고 각각을 [Lerp] 노드를 이용해 [Vertex Color]의 R, G, B 채널의 값으로 조절해주면, 검은색 Plane이라고 했을 때, 바탕은 첫번째 텍스쳐가 되고, Vertex Color 빨간색을 칠한 곳은 두번째 텍스쳐가 되고, 초록색을 칠한 곳은 세번째 텍스쳐가 되고, 파란색을 칠한 곳은 네번째 텍스쳐가 된다. 실시간으로 버텍스 컬러를 다르게 칠하는 것만으로 텍스쳐의 블렌딩이 바뀌게 된다.

 

 

신기하다...

 

 


참고자료

 

대마왕의 유니티 URP 셰이더 그래프 스타트업

셰이더의 기본 개념에서부터 셰이더 그래프(노드)의 기본 활용법까지 소개하여, 다양하고 재미있는 셰이더를 만드는 방법을 알려준다. 또한, 자신이 원하는 효과를 만들기 위해 노드를 어떤 방

www.aladin.co.kr

728x90
반응형