본문 바로가기

Graphics/Shader

Effect - Aura

이번에는 유니티 코리아에서 제공하는 영상인

유니티 셰이더그래프 튜토리얼 #1 LWRP 로 아우라를 만들어보자

https://www.youtube.com/watch?v=VvK7sLbbLYE

 

를 통해, 아우라 이펙트를 구현해보았습니다.

 

해당 영상에서는 URP(Universal Rendering Pipeline) 환경에서 아우라 이펙트 셰이더를 제작하고 있으므로, 저도 똑같은 URP 환경에서 진행하였습니다.

 

 

셰이더 실습에 사용할 3D 모델은 현재 무료 배포 중인 원신이라는 게임의 캐릭터 모델을 이용하였습니다.

https://like-tea.tistory.com/337

 

원신 공식 모델링 다운 사이트 모음 (4.0 버전까지)

원신 공식 모델링 다운 사이트 모음 찾는 캐릭터는 Ctrl + F 로 검색해서 찾아보세요. 캐릭터 이미지를 누르면 모델링 파일이 다운이 됩니다. 1.0 버전 여행자 남행자 케이야 다이루크 진 리사 벤티

like-tea.tistory.com

 

 

불러온 모델에서 각 부위에 적합한 텍스쳐를 씌운 매터리얼을 적용해주고, 기존 Lit 셰이더는 텁텁한 느낌이 들어 좀 더 카툰 풍의 느낌이 나도록 Unlit 셰이더를 적용시켜주었습니다. 하지만 원본이 중국에서 만든 모델이라, 부위명이 모두 한자로 되어있어 해석에는 시간이 걸릴 것 같습니다...

 

 

 

일단 영상을 토대로 만들어본 Aura Unlit Shader Graph는 다음과 같습니다.

 

 

 

하나하나 살펴보자면, 먼저 Normal Vector법선 벡터를 의미합니다. 법선 벡터평면에서 수직이 되는 벡터를 의미합니다. 해당 벡터 정보는 모델의 각 표면에서 수직으로 발산하는 아우라를 표현하기 위해 사용됩니다.

 

 

 

그리고 아우라 표현에 쓰일 텍스처를 정합니다. 아래처럼 UV에 Time 속성을 Add해놓으면 시간이 지남에 따라 UV 좌표가 계속 이동하여, 아우라가 흐르는 듯한 표현을 해줄 수 있습니다. 여기서 UV 좌표란, (0, 0) ~ (1,1) 범위 안에서 텍스처 이미지를 표현하는 좌표입니다.

 

 

 

그리고 텍스처로만 아우라를 구성하면 딱딱한 단색 효과가 나므로, 가장자리만 은은하게 빛이 나는 아우라 효과를 부여하기 위해 Fresnel Effect를 도입해줍니다. Frensel Effect란, 물체의 가장자리로 갈수록 법선 벡터와 빛 반사 벡터 사이의 각도가 넓어져 반사가 더 잘보이게 되는것입니다. 즉, 반대로 물체의 지표각으로 갈수록 빛의 반사가 없어져 안이 투명하게 보이게 됩니다.

 

 

 

이제 위의 텍스처 데이터와 프레넬 효과를 곱한 값을 Fragment Shader로 전달해줍니다. Fragment Shader각각의 픽셀들이 어떤 색상으로 그려질지를 정의합니다. 

 

 

 

완성된 아우라 효과입니다. 생각보다 예쁘게 표현하기는 힘드네요.. ㅜㅜ. 계속 공부해봐야할 것 같습니다.

 

 

 


 

자료 출처

1. https://www.youtube.com/watch?v=VvK7sLbbLYE

2. https://cutemoomin.tistory.com/entry/%EA%B7%B8%EB%9E%98%ED%94%BD%EC%8A%A4-%EB%B9%9B-%EC%A1%B0%EB%AA%85-%ED%94%84%EB%A0%88%EB%84%AC-%ED%9A%A8%EA%B3%BC

'Graphics > Shader' 카테고리의 다른 글

Effect - Outline  (0) 2023.10.17
Definition of Shader  (0) 2023.08.28