유니티 쉐이더 기초 - Time

그래픽스꿀잼·2026년 4월 8일

그래픽스

목록 보기
5/20

빙글 회전하는 쉐이더

Rotate라는 노드를 이용함


Rotate는 이런값을 사용함

Center는 중심점의 위치, Rotation은 회전값, UV는 uv임

그래서 time을 rotation에 연결해주면

이렇게 됨

특정 색을 원하는 색으로 변화

Replace Color라는 노드가 있다

In : 색상을 바꿀 텍스쳐나 색상
from : In에 존재하는 특정 색상중 바꾸고 싶은 색상
To : In의 from에 해당되는 색을 바꿀 색상
Range : from에 해당되는 범위 조절
Fuzziness : 색이 얼마만큼 번지는지!

물체의 높이에 따라 위치변화 + 색변화

먼저 물체의 위치의 변화는 position이라는 노드를 이용한다.

position이 위치니까 ㅇㅇ

여기에 "높이" 라는 조건은 유니티 기준 XYZ중 Y에 해당되는 것!

그러니까 position을 split해서 Y의 값을 뽑으면 된다.

level변수 : 물체의 높이(외부변수)

  1. level변수를 이용해 현재 물체(물)의 높이와 position의 높이를 비교

    보면 level에 0.1이라는 값을 곱했는데, level의 값이 크기 때문에, 밸런스를 맞춰줄 용도로 그냥 곱한것임

  2. 비교한 두 값을 이용해 lerp를 해주기

    이렇게 compare에서 나온 predicate를 branch에 연결시켜주고 이 값을 이용해 lerp를 하여 색변화를 주면!


이렇게 된다

  1. 파란색 물이 아닌 alpha조절하기
    branch에서 나온 결과를 alpha에 연결해주면 검은색인부분은 파란색이 아닌 투명으로 바뀌고, 흰부분은 원하는 색상 그대로 나오게 된다

하지만 이를 위해선

뒷쪽을 보여주기 위한 Render face를 both로 바꾸기
Lit에 따라 렌더링이 되는게 아닌, 추가되도록 Blending face를 Additive로 바꿔주기

를 해줘야한다.

profile
그래픽스 공부중

0개의 댓글