본문 바로가기
Unity 게임 개발/Unity 쉐이더

Unity 쉐이더 공부 - 쉐이더란??

by daisy0461 2022. 2. 9.

Unity 2020.2.6f1 기준으로 작성한 글입니다.

 

쉐이더

쉐이더를 구글에 검색을 해보면 다양한 사진이 나오게됩니다.

유튜브에서도 쉐이더를 검색하면 다양한 예시가 나오는데 마인크래프트가 많이 나옵니다.

 

쉐이더 비교 영상

왼쪽은 쉐이더를 적용하지 않은 사진이고 오른쪽은 쉐이더를 적용한 것입니다.

 

간단하게

쉐이더 = 이쁜 것

이라고 생각합니다.

 

정확하게는 정점의 위치나 픽셀 색깔을 계산하는 함수입니다.

정점의 위치의 예시는 바람이 불면 나뭇잎이 흔들리는 것이 하나의 예시이고

픽셀의 색깔을 계산한다는 것은 예시는 물을 예시로 들 수 있습니다.물에서 반사되어 오브젝트가 물에 비치는 현상 또는 물 색깔에 의해 다른 색으로 보이는 현상도 쉐이더의 역할입니다.

 

 

쉐이더 = 머티리얼?

언리얼은 공부를 하지 않아서 잘 모르지만 언리얼은 동일한 의미로 사용된다는 것을 알고 있습니다.

 

유니티에서 쉐이더 = 머티리얼이 아닌 것으로 알고 있습니다.

 

더 자세하게 쉐이더에 관해서 설명드리겠습니다.하지만 유니티에서 쉐이더는 방금도 말씀드렸듯이 함수입니다. 함수로써 계산에 사용이 되는 것입니다.GPU Pipeline에서 명시적으로 사용되는 함수입니다.'Shade자체가 음영이 진다'라는 의미를 갖고 사용이 됩니다.역할은 음영처리, 조명처리를 합니다. 옛날에는 이러한 역할만 했습니다.빛을 처리시켜주는 로직, 룰을 의미하는 것이 쉐이더입니다. 

 

하지만 지금은 버택스 쉐이더를 통해서 변환, 변형을 처리해주기도 합니다.그리고 프래그먼트(픽셀) 쉐이더를 통해서 픽셀을 색칠합니다.

 

 

 

 

머티리얼은 질감입니다.

우리는 눈을 통해서 질감을 느낄 수 있습니다.

 

예시로 우리는 사포를 보고 이미 거칠겠다라는 것을 알 수 있습니다. 또한 거울을 보고 매끄럽다는 느낌또한 받습니다.사포와 거울은 보기만 해도 완전히 다른 느낌을 줍니다.이러한 질감을 표현하는 것이 머티리얼의 역할입니다. 질감을 표한하기 위해서 쉐이더를 통해 로직, 룰을 적용시키고 다양한 파라미터를 통해 계산을 합니다.이러한 로직, 룰, 파라미터가 모여 있는 것을 머티리얼이라고 합니다. GPU Pipeline에 입장해서 머리티얼은 명시적이지 않고 개념적인 것입니다. 

 

 

 

 

참고한 내용의 출처(쉐이더와 머티리얼의 차이점)https://www.youtube.com/watch?v=KmooSSigLBg

 

(쉐이더의 개념)https://www.youtube.com/watch?v=KnueAgpUL3Y&t=1589s