ShaderGraph

[Unity ShaderGraph] 유리 깨짐 이펙트 만들기

Nutuba 2024. 4. 6. 23:46

 

안녕하세요!  bonobono-dev 블로그를 운영 중인 게임 개발 꿈나무, 구본후입니다! :)

 

이번 포스팅에서는 Unity의 ShaderGraph를 활용해서 유리 깨짐 이펙트를 만들어보았습니다. 

 

 

 

 


들어가기에 앞서..

  • 글쓴이는 Unity 2021.3.25f1 Personal 버전을 사용했습니다. 
  • 렌더링 파이프라인은 URP를 사용했습니다.
  •  Sprite Unlit 형식으로 만들었습니다. 

 

 

그래서 뭘 만들었는가!

우선 전체 노드 구조&프로퍼티완성본은 다음과 같습니다. 

 

노드 구조&프로퍼티
결과물

 

 


만든 과정

 

우선 uv를 이용한 크기 조절vector2와 float두 가지 방식으로 편리하게 조절하기 위해,
다음과 같이 노드를 연결해줍니다. 

 

Tiling

 

 

 

 

 

그렇게 해서 구한 uv 값을 voronoi  노드에다가 끼워 넣어줍니다! 

여기서 voronoi 이펙트의 Cell 부분만 사용할 것이기 때문에, preview 노드로 뽑아내서, 보기 편하게 해줍니다. 

AngleOffset도 밖에서 조절할 수 있게 프로퍼티화 해줍니다. 

 

Voronoi의 Cells 사용

 

 

 

 

 

이렇게 얻어낸 Cells 값을 GradientNoise 노드uv 입력에 넣어, Rotate 노드에 쓸 Center 값을 뽑아줍니다. 

 

 

 

 

 

처음에 얻어낸 Voronoi 값과 구한 Cneter 값을 활용해, 일반 uv를 Rotate노드로 돌려주고, 이를 Rectangle 노드에 넣습니다.
hdrColor( :프로퍼티 설정에서 Color => HDR로 설정 해줍니다.)도 곱해주면 완성입니다!

 

Voronoi 이펙트와 구한 Center 값을 활용해 완성하기

 

 

 


끝맺으며..

 만들면서 느낀점은, uv를 조작해서 깨지는 연출을 할 수 있는 점이 흥미로웠습니다.
결과물이 생각보다 이쁘게 나와서, "이 맛에 shader graph를 하는구나!" 하는 생각도 좀 들었네요.

 

다음에 또 shadergraph로 만든 괜찮은 이펙트가 있으면 올려보도록 하겠습니다! 

 

부족한 글 끝까지 읽어주셔서 감사합니다! :)