블로그
VFX Graph Study (06-12) 본문
VFX-Graph Samples를 보면서 유용했던 기능들을 정리
1
현재 포지션 값을 Sample Texture의 UV에 연결하여 스케일에 넣으면 각각의 포지션에 텍스쳐의 값을 집어넣을 수
있다. 그러면 스케일이나 포지션 이동을 통해 텍스쳐가 밝다면 Y스케일이 커짐 혹은 Z 축으로 더 이동함.. 등등의 효과를
줄 수 있음.
포지션에 WorldSize를 나누고 Position 을 빼서 Tiling&Offset 효과를 준다(필요한 부분의 텍스쳐 사용).
Remap을 통해 UV의 크기인 0~1 까지 값을 보정하고, Sample Texture 2D의 UV에 연결!
원하는 크기만큼 곱하여 값을 조정하고 마지막으로 중요한 점은 Saturate를 통해 값이 과해지는 현상을 막는 게 중요한 것 같다.
2
나누기는 두개의 값을 조정하는데 굉장히 유용하다. 노드 작성을 하다 보면 곱하기나 더하기는 주로 사용하는데 나누기는 어떻게 쓰는지 몰랐었다. 이 예제에서는 나누기를 물의 높이값과 땅의 높이값의 비율로 사용하는데, 둘 중 하나가 커지면 나머지 하나가 작아지는 효과를 줄 때 나누기가 유용할 것 같고, 일단 아무런 값이나 나누기를 하더라도(값이 큰 숫자)
map 함수를 통해 값을 조정해주면 일정한 비율을 만들 수 있다.
여기선 Get attribute로 받은 scale이 물의 높이보다 크다면 위에 있는 Remap함수(물의 높이를 Min으로 받으니 일반적인 땅의 높이 대신 물의 영역이 0.1이니 땅을 나타내기 위해선 Map 결과의 최솟값이 0.1부터 시작) 물의 높이거나 물의 높이보다 작다면 아래의 Remap 함수를 반환하는 Compare 노드이다.
결과적으로 땅이 높아지면 그만큼 물이 적어지고 물이 높아지면 땅이 적어지는 효과를 나누기로 나타낸거라 보면 된다!
3
Maximum은 파티클을 정리하는데도 사용된다. 응용하기 나름이겠지만, 만약 A와 B를 Maximum 함수에 넣었을 때 A가
Attribute에서 받은 Scale , B가 물의 높이값이라면 물의 높이값은 B에 넣은 값으로만 반환되기 때문에 복잡한 크기의
파티클들이 일률적으로 B의 값대로 정리가 된다.
이를 Position에 적용시키거나, Kinect의 Alpha 값에 적용시키면 꽤나 유용할 것 같다.
'Unity > VFX Graph' 카테고리의 다른 글
VFX Graph Study (07-04) (0) | 2022.07.04 |
---|---|
[VFX Graph] Attribute "Current"와 "Source"의 차이 (0) | 2022.07.04 |