[Unity ShaderGraph] 유리 깨짐 이펙트 만들기
안녕하세요! bonobono-dev 블로그를 운영 중인 게임 개발 꿈나무, 구본후입니다! :)
이번 포스팅에서는 Unity의 ShaderGraph를 활용해서 유리 깨짐 이펙트를 만들어보았습니다.
들어가기에 앞서..
- 글쓴이는 Unity 2021.3.25f1 Personal 버전을 사용했습니다.
- 렌더링 파이프라인은 URP를 사용했습니다.
- Sprite Unlit 형식으로 만들었습니다.
그래서 뭘 만들었는가!
우선 전체 노드 구조&프로퍼티와 완성본은 다음과 같습니다.
만든 과정
우선 uv를 이용한 크기 조절을 vector2와 float의 두 가지 방식으로 편리하게 조절하기 위해,
다음과 같이 노드를 연결해줍니다.
그렇게 해서 구한 uv 값을 voronoi 노드에다가 끼워 넣어줍니다!
여기서 voronoi 이펙트의 Cell 부분만 사용할 것이기 때문에, preview 노드로 뽑아내서, 보기 편하게 해줍니다.
AngleOffset도 밖에서 조절할 수 있게 프로퍼티화 해줍니다.
이렇게 얻어낸 Cells 값을 GradientNoise 노드의 uv 입력에 넣어, Rotate 노드에 쓸 Center 값을 뽑아줍니다.
처음에 얻어낸 Voronoi 값과 구한 Cneter 값을 활용해, 일반 uv를 Rotate노드로 돌려주고, 이를 Rectangle 노드에 넣습니다.
hdrColor( :프로퍼티 설정에서 Color => HDR로 설정 해줍니다.)도 곱해주면 완성입니다!
끝맺으며..
만들면서 느낀점은, uv를 조작해서 깨지는 연출을 할 수 있는 점이 흥미로웠습니다.
결과물이 생각보다 이쁘게 나와서, "이 맛에 shader graph를 하는구나!" 하는 생각도 좀 들었네요.
다음에 또 shadergraph로 만든 괜찮은 이펙트가 있으면 올려보도록 하겠습니다!
부족한 글 끝까지 읽어주셔서 감사합니다! :)