본문 바로가기
유니티/shaderGraph

유니티 셰이더 그래프 예제 27 클로킹 셰이더, Unity shaderGraph cloaking

by NGVI 2021. 5. 1.

유니티 셰이더 그래프 예제 27 클로킹 셰이더, Unity shaderGraph cloaking

클로킹이라고 불리는 걸 구현해보도록합시다.

 

적당히 내가 투명화 된 느낌이 나는 그런 효과입니다.

 

Lit 셰이더를 하나 생성합니다.

 

Graph Inspector에서

Graph Inspector설정

Alpha Blend 설정을 마줘줍니다.

 

클로킹을 하면서 배경색(배경이 랜더링된 택스쳐를) 을 오브젝트가 사용할 것인데 이럴때는 해당 블랜딩이 설정되어 있어야 합니다.

 

추가로 배경이 랜더링된 택스쳐를 참조하려고 할때는 추가작업이 선행되어 있어야 합니다.

 

사전체크사항 관련하여는 다른 글에 있는 부분 참고를 부탁드립니다.

링크는 남겨둡니다.

 

Opaque Texture 활성화 여부에 관한 내용이 아래 글 상부에 나와있습니다.

 

 

유니티 셰이더 그래프 예제 11, 굴절 효과 구현, Unity ShaderGraph refaction

유니티 셰이더 그래프 예제 11, 굴절 효과 구현, Unity ShaderGraph refaction 유니티 셰이더 그래프를 통해 간단하게 굴절 효과를 만들어 봅시다. 이전에 외곡 효과를 만 듯 것과 거의 유사합니다. 오히

gdev.tistory.com

Opaque Texture 참조가 가능하다는 것을 전제하고 글을 이어나갑니다.

 

시작은 칼라, 노말 모델로 시작

칼라와 노말을 랜더링한 모델을 준비한다.

준비된 모델들

그냥 랜더링된 상태

 

화면 랜더링 택스쳐와 Base칼라의 Lerp 노드구성

화면 랜더링 택스쳐와 Base칼라의 Lerp 노드구성

BaseColorLerp는 float 값

 

실행결과

 BaseColorLerp 0.35, 0.9 상태

노말이 적용되어 있어 티가 나지만 노말 효과가 약한 로봇같은 경우는 먼가 알기가 힘들다

여기에서 Normal 맵을 사용해서 외곡을 좀 시켜보도록 한다.

 

노말맵을 사용하여 랜더링택스쳐의 외곡효과주기 노드구성

노말맵을 사용하여 랜더링택스쳐의 외곡효과주기 노드구성

화면랜더링 택스쳐를 참조할때, 노말맵의 xy를 가져와서 DeformIntensity(float)로 적당히 곱해주고 참조 시켜 외곡하는 효과를 나오게 한다.

 

참고로 노말택스쳐는 여전히 노말에도 사용을 한다. 용도가 늘어난것

 

실행결과

위의 결과와 비교해 보시라

보시면 확실히 먼가 외곡된 느낌이 난다.

외곡효과와 같은 경우는 결국 랜더린된 하면을 오브젝트에 올릴때 적용되는거라 BaseColorLerp 가 약하면 효과를 잘 볼수가 없다.

 

마지막으로 RimLight 효과 추가

노드구성

실행화면

칼라값은 적당히 넣었다.

마지막으로 적절하게 칼라값으로 변화를 줘가며, gif를 하나 만들어 보겠다.

 

BaseColorLerp 변화주기

BaseColorLerp의 변화

 

DeformIntensity 변화주기

DeformIntensity 변화주기

어느정도 작은 변화량을 항상 줘도 효과가 좋을거 같은 느낌이다.

 

셰이더 그래프를 통해 클로킹효과를 구현해봤습니다.

 

감사합니다.

댓글