2023. 7. 20. 18:10ㆍUnity
[Unity] URP 프레넬 셰이더(Fresnel Shader) 응용 (조명 효과, 깜빡이는 조명 만들기)
HDR과 Bloom 효과는 저사양의 모바일 게임에서 사용하거나 레트로한 느낌을 주기 힘들기 때문에 프레넬 효과를 이용하여 만들어 볼 것이다. 조명 효과 Street Light 3D Model Free Download | 3DModelsCC0 Free Stre
lightbakery.tistory.com
이전 글에 이어서, 가로등 조명 효과 셰이더에서 [One Minus] 노드를 빼면, 반대가 되므로 가운데가 투명하고 바깥으로 갈수록 진해지는 보호막, 비눗방울 효과가 생기게 된다.
예제 공룡 뼈에 간단하게 홀로그램을 적용하기 위해 [Fresnel Effect] 노드를 연결해보면,
[HalfLambert] Subgraph를 만들어 자연스럽게 깜빡이는 효과를 만들어서 넣어주었다.
이제 줄무늬를 넣어서 홀로그램 효과를 극대화해본다. 마치 공룡 영화에 나오는 화석 홀로그램처럼?
먼저, 줄무늬를 만든다.
[Checkboard] 노드를 이용해 줄무늬를 만들고 UV를 [Position] 노드로 World Space로 만든다. 여기에 [Swizzle] 노드로 XY를 UV처럼 사용한다.
이제 줄무늬를 Y축 위쪽 방향으로 흘러가게 하기 위해서 [Time] 노드를 [Negate] 노드로 음수를 만든다. 이후 Y에 해당하는 [Combine]의 G에 연결하고 [Position] 노드로 만든 UV에 [Add]하면, Y축 음수 방향으로 시간에 따라 흐르게 된다.
이전에 만들었던 깜빡임 효과와 [Mutiply]하면 깜빡임과 동시에 줄무늬가 움직이게 된다.
줄무늬를 다른 방식으로 만들 수도 있다.
World Position에서 Y 값만 가져와서 Base Color에 연결하면, 컬러 값이 오직 Y의 값에 따라 달라지게 된다. Y가 1 이상이면 흰색으로, 0 이하면 검은색으로 나온다.
이제 [Fraction] 노드를 이용하여 소수점만 출력하는 방법을 이용한다. 이유는, 0~1 까지는 어차피 소수점 밖에 없으므로 검은색-회색-흰색이 나올 것이고, 만약 1~2 사이의 값이라면 소수점만 생각하므로 똑같이 검은색-회색-흰색이 나올 것이다. 즉, 정수의 반복만큼 줄무늬도 반복되는 것이다.
[Power] 노드로 검은 부분을 강조할 수도 있다.
[Step] 노드를 이용한 방법도 있는데, [Step]은 들어온 값이 Edge에 쓴 값보다 크거나 같으면 1을, 작으면 0을 출력한다. 따라서 완전히 0과 1만으로 된 줄무늬를 만들 수 있다.
참고자료
대마왕의 유니티 URP 셰이더 그래프 스타트업
셰이더의 기본 개념에서부터 셰이더 그래프(노드)의 기본 활용법까지 소개하여, 다양하고 재미있는 셰이더를 만드는 방법을 알려준다. 또한, 자신이 원하는 효과를 만들기 위해 노드를 어떤 방
www.aladin.co.kr
'Unity' 카테고리의 다른 글
[Unity] 유니티 Vector3 / 위치와 스케일 변경하기 (0) | 2023.08.08 |
---|---|
[Unity] 유니티 함수의 종류 (제작 함수, 이벤트 함수, 제공 함수) (0) | 2023.08.07 |
[Unity] URP 프레넬 셰이더(Fresnel Shader) 응용 (조명 효과, 깜빡이는 조명 만들기) (0) | 2023.07.20 |
[Unity] URP 셰이더 프레넬 셰이더(Fresnel Shader) (0) | 2023.07.20 |
[Unity] URP 셰이더 그래프로 Lambert Light 만들기 (+Half Lambert) (0) | 2023.07.18 |