게임 개발/유니티

유니티 셰이더) 반투명하게 만드는 법

UniCoti(유니코티) 2025. 1. 5. 13:37
반응형

블로그의 초기 인기글 중 하나는 반 투명 오브젝트를 만드는 법이었다.

 

https://alpaca-code.tistory.com/22

 

유니티 오브젝트 투명도 조절, 반투명 오브젝트 만들기

유니티에서 반투명한 오브젝트 등오브젝트의 투명도를 조절하고 싶을 때가 있다.그럴 때는,머티리얼 제작 후, 위쪽의 탭에서 Legacy Shaders/Transparent/Diffuse 로 들어가 주면 R(Red) : 빨강G(Green) :

alpaca-code.tistory.com

 

그때는 이미 유니티에서 만들어 둔 세이더 중 하나를 골라서 쓰는 방법을 소개했는데

이번엔 셰이더 그래프에서 직접 구현하는 방법을 소개하겠다.

 

[Create] -> [Shdaer Graph] -> [URP] -> [Unlit Shader Graph]로 셰이더 그래프를 만들어주자.

이후 원하는 머티리얼에 드래그, 드롭으로 적용시켜 주고 셰이더 그래프를 더블클릭하면

아래와 같은 창이 나올 것이다.

 

shader graph

여기서 세팅을 건드려주면 된다.

 

Surface Type

조금 내리면 보이는 Surface Type이 그 기능을 관장하는 설정값이다.

기본적으로는 Opaque로 설정되어 있고 이건 불투명이라고 해석하면 된다.

반면 Transparent는 반투명, 투명의 기능을 가지는 제4의 값 alpha를 받아들일 수 있게 된다.

 

Alpha

이렇게 Base Color아래에 Alpha가 생긴 것을 알 수 있다. 

이를 통해서 투명도를 조절할 수 있다. 기본적으로는 float값이며 0-1 사이로 조절하면 된다.

 

텍스쳐의 alpha 연동

이미 알파 텍스쳐가 있다면 텍스쳐의 A값을 불러와 특정 부분만 보이게 할 수도 있게 된다.

음각, 양각을 구현하는 데 도움이 될 수도 있겠다는 생각이 든다.


사실 더 쉬운 방법은 예전에 남긴 글인 것 같기도 하지만 이번 글의 방법은

셰이더 그래프만 다룰 줄 안다면 그 활용도가 무한에 가깝기에 의미가 있다고 본다.

셰이더라는 새로운 기술을 배우기 시작하니까 예전에는 방법만 알았던 기술들을

원리까지 이해하게 되는 경험이 생기는 것 같다.

 

물론 저 세팅도 안에 숨겨진 원리가 있겠지만 말이다. 조금이나마 자세하게

이해할 수 있게 되었다는 것에 중점을 두려 한다.


이상으로 도움이 되었길 바라며,

 

끝.

반응형