본문 바로가기
유니티/shaderGraph

유니티 셰이더 그래프 예제 18, 액체 잡음 구현, Unity ShaderGraph LiquidNoise

by NGVI 2021. 4. 27.

유니티 셰이더 그래프 예제 18, 액체 잡음 구현, Unity ShaderGraph LiquidNoise

LiquidNoise를 셰이더 그래프로 구현해 봅시다.

머라 해석해야 몰라 그냥 직역 적당히 해두었습니다.

 

Lit Shader Graph 하나를 생성합시다.

 

액체잡음 용 기본 노드 구성

액체잡음 용 기본 노드 구성

UV 를 World Position 기준으로 생성하는 걸 봅시다.

시간 변화량으로 이동시키고요, Noise를 하나 생성해 바로 칼라 값에 넣어주고 있습니다.

 

현재 상태 출력

적딩히 돌고 있는 상태

외부에서 칼라값을 둘을 가져와 믹스해서 출력시켜줍니다.

노드 구성

칼라값 노드 구성

칼라 값을 외부에서 2개를 가져오게 만들고  Lerp 합니다. Lerp의 T값을 Noise출력밧으로 하고, Lerp 결과를 BaseColor에 넣습니다.

 

적당히 외부에서 칼라 값들을 설정해주고 출력해줘 봅니다.

 

출력 결과

뭔가 되는듯 하지만

뭔가 되는 듯 하지만, 그래도 먼가 부족해 보입니다.

몇 가지 체감될만한 작업을 추가해 봅시다.

 

 

Normal Unpack 사용해보기

Normal Unpack

Noise 출력을 Normal Unpack에 사용하여 노말 값으로 넣어줍니다.

 

출력 결과

체감적으로 다르죠.

먼가 기름 같은 유체가 떠다니는 느낌입니다.

 

노이즈 합성하기

액체 잡음 용 기본 노드 구성으로 생성했던 노드를 한번 더 만들겠습니다.

이번에는 초기 타입에 곱하는 백터에 값 중 Y축 값만 반대로 넣어주겠습니다.

 

노드 구성

노이즈의 추가

빨간 테두리 부분이 노이즈를 새로 생성하는 노드이고,

실제로 기존 노이즈 생성과 다른 부분은 시간에 곱하는 값이 다릅니다. 역시 빨간 박스

 

Noise둘을 합성하여 사용합니다.

노드 구성

Noise 합성

기존 노이즈 하나의 값이 input 되던 위치에 넣어줍니다.

 

출력 결과

저해상도라,, 구리게 나오네요

요런 느낌이구나, 직접 출력해보시면 더욱 좋으실 거 같습니다.

 

유니티 예제에 있어 따라 구현해보았습니다.

 

봐주셔서 감사합니다.

댓글