유니티 셰이더 그래프 예제 18, 액체 잡음 구현, Unity ShaderGraph LiquidNoise
LiquidNoise를 셰이더 그래프로 구현해 봅시다.
머라 해석해야 몰라 그냥 직역 적당히 해두었습니다.
Lit Shader Graph 하나를 생성합시다.
액체잡음 용 기본 노드 구성
UV 를 World Position 기준으로 생성하는 걸 봅시다.
시간 변화량으로 이동시키고요, Noise를 하나 생성해 바로 칼라 값에 넣어주고 있습니다.
현재 상태 출력
외부에서 칼라값을 둘을 가져와 믹스해서 출력시켜줍니다.
노드 구성
칼라 값을 외부에서 2개를 가져오게 만들고 Lerp 합니다. Lerp의 T값을 Noise출력밧으로 하고, Lerp 결과를 BaseColor에 넣습니다.
적당히 외부에서 칼라 값들을 설정해주고 출력해줘 봅니다.
출력 결과
뭔가 되는 듯 하지만, 그래도 먼가 부족해 보입니다.
몇 가지 체감될만한 작업을 추가해 봅시다.
Normal Unpack 사용해보기
Noise 출력을 Normal Unpack에 사용하여 노말 값으로 넣어줍니다.
출력 결과
먼가 기름 같은 유체가 떠다니는 느낌입니다.
노이즈 합성하기
액체 잡음 용 기본 노드 구성으로 생성했던 노드를 한번 더 만들겠습니다.
이번에는 초기 타입에 곱하는 백터에 값 중 Y축 값만 반대로 넣어주겠습니다.
노드 구성
빨간 테두리 부분이 노이즈를 새로 생성하는 노드이고,
실제로 기존 노이즈 생성과 다른 부분은 시간에 곱하는 값이 다릅니다. 역시 빨간 박스
Noise둘을 합성하여 사용합니다.
노드 구성
기존 노이즈 하나의 값이 input 되던 위치에 넣어줍니다.
출력 결과
요런 느낌이구나, 직접 출력해보시면 더욱 좋으실 거 같습니다.
유니티 예제에 있어 따라 구현해보았습니다.
봐주셔서 감사합니다.
댓글