Shader란 '3D 컴퓨터 그래픽에서 최종적으로 화면에 출력하는 픽셀의 색을 정해주는 함수'라고 정의할 수 있다만 매우 프로그래머스러운 정의이다.
대마왕 님이 쓰신 유니티 쉐이더 스타트업 책에서는 이렇게 정의하고 있다.
'그래픽 데이터의 음영과 색상을 계산하여 다양한 재질을 표현하는 방법'
나도 프로그래머 출신이라 전자의 정의가 좀 더 와닿지만 열심히 아티스트 감성을 따라잡으려고 노력 중이다.
그래서 앞선 정의에 따라 Shader를 잘하려면 조명과 음영이 어떻게 이뤄져 있는지 알 필요가 있다. 뭘 알아야 표현을 할 테니 말이다.


조명은 사물을 인지할 수 있게 해 주고 현장감을 알 수 있게 해 준다.


조명이 있고 없고에 따라 감정 상태와 전체적인 무드가 확연하게 차이 나는 것을 볼 수 있다.
이렇듯 조명 디자인은 굉장히 중요하다.
하늘빛은 왜 파란가?

하늘 빛은 왜 파란색일까?
태양으로부터 대기에 도달하는 빛은 다양한 파장으로 존재한다. 그중에서 우리 눈에 보이는 파장 영역을 가시광선 영역이라고 한다. 우리 눈에 보이지 않는 영역도 존재한다는 뜻이다.

태양으로부터 발생한 빛이 우리 눈에 그대로 들어오는 것이 아니라 대기를 통과하면서 산란을 하게 된다. 대기를 이루고 있는 아주 작은 공기 분자들에 의해 이리 치이고 저리 치여서 산란되는 것이다. 이것을 레일리 산란이라고 한다.


우리가 볼 수 있는 가시광선은 각기 다른 파장의 길이를 가지고 있다. 붉은색일수록 길고 파란색일수록 짧다.
그래서 태양빛이 지면까지 도달할 때 산란이 발생하면서 짧은 파장인 파란색은 지면까지 도달하지 못하는 것이다. 그렇기에 하늘이 파란빛으로 보이게 되는 것이다.
그래서 우리가 지면에서 보는 태양빛은 완전한 흰색이 아닌 약간 붉은색에 더 가깝다.

유니티의 Directional Light 기본 색상이 약간 노르스름하게 생긴 것이 바로 이런 이유 때문이다.
그럼 노을은 왜 불은색?


태양 빛이 대기층을 지날 때 푸른빛은 산란이 잘 일어나서 사라져 버리고 붉은빛은 파장이 길어서 대기층에 더 오래 남게 된다. 때문에 우리가 눈으로 볼 때 하늘이 붉게 보이는 것이다.
명도
명도는 색의 밝고 어두운 정도를 나타내는 말이다.
사람은 색, 명도, 채도 중 명도를 가장 잘 구분한다.

위에 두 람보르기니가 있다. 이미지를 봤을 때 어떤 람보르기니가 눈에 더 잘 보이는가?
회색 람보르기니가 더 잘 보이는가?
빨간색이 회색보다 채도가 높고 색이 분명해서 눈에 잘 보일 것 같지만 명도가 높은 회색 람보르기니가 훨씬 눈에 잘 보이는 것을 볼 수 있다.

모든 색을 제거해도 자동차를 인지하는데 전혀 문제가 없다.
이렇듯 사람의 눈은 명도에 가장 민감하게 반응한다.
채도

채도는 색의 선명하고 연한 정도, 맑거나 탁한 정도를 의미한다.
채도가 높을수록 색은 선명하며, 채도가 낮을수록 색은 회색조를 가지게 된다.

고양이 이미지를 채도 +50, 채도 -50과 비교해서 보면 차이가 느껴지며 채도가 높을수록 색이 선명해지는 것을 볼 수 있다.
그림자

위 이미지를 보면 형체 그림자와 드리운 그림자가 있다.
형체 그림자는 물체에 생기는 그림자이고 드리운 그림자는 다른 표면에 생기는 그림자다.
흔히 '그림자'라고 부르는 것은 드리운 그림자 쪽이다.

그림자는 작품 속 세계에 입체감을 주고 형태를 분명히 드러내며 극적인 효과와 긴장감을 자아내는 등 중요한 역할을 한다.
셰이딩

셰이딩이란 물체 표면의 색깔을 결정하는 것을 말한다.
위 이미지에서 같은 구체라도 표면을 어떻게 표현하냐에 따라 완전히 다른 물질로 인식되는 것을 볼 수 있다.
장면의 연속성

위 이미지는 영화 촬영 때 CG 작업 후와 전을 비교한 이미지다.
CG 작업 전의 장면과 작업 후의 장면에 대해 연속성을 가지려면 조명의 방향, 각도, 강도 등을 동일하게 맞춰야 한다.
이렇게 조명은 장면의 연속성을 가능하게 하는데 중요한 역할을 한다.
구도와 연출

위 장면에서 시선이 가는 부분은 왼쪽 위에 있는 조명과 의자에 앉아있는 인물이다.
그 외 어두운 부분에는 시선이 가지 않는다. 이렇게 조명은 구도와 연출을 도와주며 시선이 분산되지 않게 해 준다.

대상의 뒷면을 조명해서 인물과 배경을 분리하는 효과를 줄 수도 있다.

하이키 라이팅은 노출이 전체적으로 고르고 그림자도 거의 없는 라이팅이다.
화사한 이미지 때문에 뷰티, 코미디 같은 밝은 느낌의 영상에 많이 사용된다.

특히 카툰이 하이키에 가장 대표적인 예시다.
정서적인 영향

같은 장소에서 조명의 색, 위치, 양을 조절해서 완전히 다른 분위기를 연출할 수 있다.

완전히 같은 장소에 같은 CTO GEL을 사용했지만 조명이 들어오는 곳에 변화를 주고 조명을 추가하여 다양한 연출을 할 수 있다.
- CTO GEL은 조명에 붙이는 필터를 말한다.
- SOLID FLOPPY는 조명에 검은색 천을 대서 빛을 약하게 만드는 것이다.
- ACCENT B7C는 Aputure에서 만든 조명 제품명이다.
- VISQUEEN은 폴리에틸렌 시트다. CTO GEL과 마찬가지로 조명에 시트를 붙여 빛을 조절하는 데 쓰인다.
하이라이트

왼쪽 사진보다 오른쪽 사진의 눈동자 하이라이트가 세게 들어가 있다.
눈에 하이라이트가 없는 것보다 있는 것이 더 생기 있고 화사하게 만들어 준다.
그래서 아주 밝은 곳에서 사진을 촬영함에도 불구하고 정면에서 조명을 비추는 이유 중 하나가 바로 눈동자에 하이라이트를 세게 만들기 위해서다.
원근법
원근법을 표현하기 위해서는 크게 두 가지 "투시도법"과 "공기 원근법"이 있다.

투시도법이란 '소실점과 연결된 선을 사용해 원근감을 표현하는 방법'이다. 투시도법을 통해 2차원의 평면 위에 3차원의 입체를 표현할 수 있다.

공기 원근법이란 "공기"가 물체 사이에 존재하는 느낌을 주는 것이다.
우리가 살아가는 현실 공간은 공기로 가득 차 있고 그 속의 물체 또한 공기에 둘러싸여 있다.
그렇기 때문에 공기 원근법을 통해 실제 세상과 비슷한 환경을 만들 수 있다.
가까울수록 형태가 또렷하고 멀수록 흐려지는 것은 아주 자연스러운 현상이다. 우리가 색을 본다는 것은 빛이 반사돼서 눈으로 들어온다는 것인데 물체가 멀리 있을수록 반사된 빛이 우리에게 오기까지 점점 흐려진다.

산을 표현할 때 멀리 있는 산일수록 푸른색을 표현한다. 이유는 하늘이 푸른 것과 같다. 짧은 파장인 푸른 계열 색이 더 많이 산란되기 때문이다.

가까운 곳이 항상 명암 대비가 많은 것은 아니나 공간의 깊이를 표현하기 위해 명암 대비를 사용한다.
빛이 약간의 구름에 의해 대기에 적당히 산란하여 부드러운 빛을 만들어 낼 때 근경, 원경 명암 대비 차이가 크게 발생하고 구름 한 점 없는 아주 쨍한 날일 땐 멀리 있는 것도 명암이 많기 때문에 근경과 원경의 명암 대비 차이가 크지 않다.
'그래픽스' 카테고리의 다른 글
| 추가적인 조명 이론과 빛의 속성 (1) | 2024.06.21 |
|---|---|
| Digital Light 구현하기 (1) | 2024.06.19 |
| 빛에 의한 표면 (1) | 2024.06.17 |
| 빛과 색의 이론 (1) | 2024.06.15 |
| 그래픽 렌더링 파이프라인 (1) | 2024.06.09 |