
이대로면 노이즈에 밝은 부분이 많아서 꺼지는 부분보다 빛나는 부분이 더 많다. power 연산을 통해 적절히 빈도를 조절할 수 있다.
참고로, Noise 노드는 사용하기 편하고 해상도도 무제한이지만, 수한 계산에 의해 만들어진 것이므로 GPU의 연산을 소모하게 되는 문제가 있다. 최적화를 위해선 이를 노이즈 텍스쳐로 바꾸어 줘야 한다.


텍스쳐를 사용하면 모스 부호로 깜빡이게 할 수도 있다.
몬스터가 죽을 때 타들어가면서 재가 되는 느낌 구현하기.
타들어가면서 흩날리는 재는 파티클로 처리하더라도, 실제 타들어가는 기능은 일반적으로 셰이더로 처리한다.
(물론 방법이 셰이더만 있는 건 아니다)

처음엔 바로 이해 안됐는데, 텍스쳐가 섬이고, Alpha가 차오르는 물이라고 생각하니 이해됨.
풀이나 깃발 흔들릴 때 Bone으로 처리하는 건 생각보다 훨씬 작업량이 많고, 매우 무겁다.
특정하고 정확한 애니메이션이 필요한 경우는 다르겠지만, 간단한 오브젝트들을 가볍게 흔들리게 하려면 셰이더로 처리하는 것이 훨씬 가볍고 편리하다.

그럼 위아래로 흔들린다

흔들리게 하고 싶은 부분만 버텍스 칼라를 칠해준 뒤 (기본 밑색은 검은색 칠해야됨)

버텍스 칼라 R을 마스킹한 곳만 위아래로 흔들리도록 곱해준다

버텍스 칼라에 노란색을 칠해준다.
만약 G 채널이 있는 곳이라면 시간이 살짝 앞서 있어서 타이밍이 달라진다.
참고로 Vertex Color는 Vertex > Position과 Fragment > Base Color에 동시에 연결이 안된다.
코드가 양쪽에서 동시에 사용할 수 있게 만들어지지 않기 때문이다.
Preview 노드를 통해 중개하거나, Vertex Color 노드를 2개 만들어서 연결해주면 된다.
맷캡(Matcap : Material Capture) : Ramp Texture와 비슷하게 이미지로 조명을 대신하는 방식 중 하나

우선 view 방향 normal vector의 x와 y를 가져온다.

검은색 부분의 끝은 0이 아니라 -1이므로 *0.5+0.5를 할 수도 있지만
remap 노드를 쓰면 더 간편하게 0에서 1로 만들어줄 수 있다. 살짝 더 무겁지만 범위를 자유자재로 조절할 수 있음.
그걸 matcap 텍스쳐의 UV로 넣어주면 된다.
노말맵으로 Matcap을 만들 수도 있다.
Transform 노드로 Tangent에서 View 공간으로 바꿔주면 된다.