본문 바로가기
유니티/shaderGraph

유니티 셰이더 그래프 예제 05 전기효과 구현, Unity shader graph Electricity

by NGVI 2021. 4. 20.

유니티 셰이더 그래프 예제 05 전기효과 구현, Unity shader graph Electricity 

전기 효과를 유니티의 셰이더 그래프로 구현해봅시다.

 

Lit Shader Graph 하나 생성하고, 이름은 원하는 대로 하시면 됩니다.

 

Graph inspector

Graph inspector에서 Surface를 Transparent로 변경

 

일단 전기 효과를 만드는 노드

전기효과를 만드는 노드

길어서 아래에서 분리 설명할게요

 

앞부분부터

심플 노이즈 두장을 합친다.

시간을 이용해서 UV에 흐름을 만듭니다.

위는 Y축으로 -0.5씩, 아래는 Y축으로 0.5씩

두 장을 노이즈가 서로 반대 방향, 위아래로 흐르게 만든 뒤 그것을 더합니다.

 

합쳐진 정보로 추가 작업

참고자료 01

합쳐진 정보를 Power을 통해 제곱시켜줍니다.

작은 값을 더욱 작게, 큰 값을 더욱 크게 됩니다.

 

Remap으로 현재 0~1 번위를 -10~10 범위로 수정하여 정확한 칼라 값 차이를 만들어 냅니다.

 

이후 Rectangle의 uv에 넣어주면 칼라캆 차이가 나는 부분만 따올 수 있습니다.

이 부분은 제가 정확히 이해가 안돼서 되서 설명하기 어렵습니다. 일단 경개선이 따진다 정도로 접근하고 추가 진행할게요

 

그래서 경계선이 따진 이미지에 칼라 값을 곱합니다.

 

요기까지 진행한 결과를 출력해봅니다.

출력해보기

Base Color, Alpha에 각각 적용합니다.

 

현재까지의 결과

현재까지의 결과

괜찮아 보입니다.

이번에는 외각을 둥글게 따 보도록 하겠습니다.

외각에 적용할 노드들

Polor Coordinates에서 r성분만 가져와서 재곱시켜서 동그라미를 극대화시킵니다.

이후 One Minus로 반전시키고, Saturation으로 값을 0~1로 고정시킵니다.

 

위아래 큰 결괏값을 둘을 곱합니다.

최종결과

곱한 값을 BaseColor, Emission, Alpha에 넣습니다.

 

최종 결과

최종결과

외각이 원형임이 느껴지시죠.

 

요번 것은 상당히 맘에 들게 출력되었습니다.

어딘가 써보고 싶은 생각이 듭니다.

 

감사합니다.

댓글