Artoke

언리얼 아트: 라이팅과 글로벌 일루미네이션

빛이 튕겨 다니는 이야기: 라이팅과 글로벌 일루미네이션

게임 속 세상은 왜 진짜처럼 보일까요? 비밀은 바로 에 있어요. 오늘은 3D 그래픽에서 빛을 다루는 방법, 그중에서도 글로벌 일루미네이션(Global Illumination, GI)이라는 기술을 아주 쉽게 알아볼 거예요.

빛은 공처럼 튕겨요

먼저 진짜 세상의 빛을 생각해 봐요. 해가 창문으로 들어오면 방 전체가 밝아지죠? 그런데 이상해요. 햇빛은 바닥 한 곳만 비추는데, 왜 천장이나 구석까지 밝을까요?

정답은 빛이 튕기기 때문이에요. 빛은 탱탱볼 같아요. 바닥에 닿으면 튕겨서 벽으로 가고, 벽에서 또 튕겨서 천장으로 가요. 이렇게 여러 번 튕기면서 방 구석구석을 밝혀 주는 거예요.

빛에는 두 가지 종류가 있다고 기억하면 쉬워요.

  • 직접광: 전등이나 해에서 곧바로 날아온 빛이에요.
  • 간접광: 바닥이나 벽에 한 번 이상 튕겨서 온 빛이에요.
언리얼 아트: 라이팅과 글로벌 일루미네이션 도식

글로벌 일루미네이션이 뭐예요?

컴퓨터로 3D 장면을 그릴 때, 직접광만 계산하면 어떻게 될까요? 빛이 닿는 곳만 밝고, 나머지는 새까맣게 나와요. 진짜 세상 같지 않고 어색하죠.

그래서 만들어진 것이 글로벌 일루미네이션이에요. 이름이 길지만 뜻은 간단해요. "빛이 튕기는 것까지 전부 계산하자!"라는 기술이에요. 그래서 간접 조명이라고 부르기도 해요.

글로벌 일루미네이션은 재미있는 효과도 만들어요. 예를 들어 하얀 바닥 위에 빨간 공이 있다고 해 봐요. 빛이 빨간 공에 튕기면 빛도 살짝 빨개져요. 그래서 공 옆 바닥이 은은하게 붉은빛으로 물들어요. 이것을 색 번짐(컬러 블리딩)이라고 해요. 진짜 세상에서도 일어나는 일이랍니다.

튕기는 빛을 계산하면 얼마나 달라질까요?

차이는 정말 커요. 직접광만 있으면 그림자가 먹물처럼 완전히 까매요. 하지만 글로벌 일루미네이션을 켜면, 튕겨 온 빛이 그림자 속까지 살짝 들어가서 부드럽고 자연스러워져요. 아래 건축 모델 그림처럼, 튕기는 빛을 잘 계산하면 컴퓨터 그림이 사진처럼 보이기도 해요.

글로벌 일루미네이션으로 렌더링한 건축 모델의 바깥 모습
Exterior view of an architectural model · 출처: 라이팅과 글로벌 일루미네이션

구석이 어두운 이유: 앰비언트 오클루전

이번엔 방 구석을 자세히 봐요. 벽과 벽이 만나는 구석, 가구 밑, 물건 틈새는 항상 조금 어둡죠? 왜 그럴까요?

구석은 좁아서 튕겨 온 빛이 들어가기 힘들기 때문이에요. 문틈이 좁으면 친구가 못 들어오는 것과 같아요. 이렇게 "빛이 들어가기 힘든 곳을 어둡게 만드는 기술"을 앰비언트 오클루전(AO)이라고 해요. 글로벌 일루미네이션을 간단하게 흉내 내는 방법 중 하나예요.

아래 그림을 보면, 색이 하나도 없는데도 구석과 틈이 어두워서 입체감이 느껴져요. 이 어두운 정보를 원래 그림 위에 얹으면 훨씬 진짜 같아 보여요.

실시간 앰비언트 오클루전이 적용된 장면의 예
Example of an ambient occlusion layer · 출처: 라이팅과 글로벌 일루미네이션

왜 어려운 기술일까요?

빛 한 줄기가 몇 번이나 튕기는지 세어 본다고 상상해 봐요. 방 안에는 빛 줄기가 셀 수 없이 많고, 각각 여러 번 튕겨요. 이걸 전부 계산하려면 컴퓨터가 엄청나게 많은 일을 해야 해요.

영화는 한 장면을 몇 시간씩 천천히 계산해도 괜찮아요. 하지만 게임은 달라요. 1초에 화면을 60번씩 새로 그려야 하니까, 계산이 아주 빨라야 해요. 그래서 게임 개발자들은 오랫동안 여러 가지 꾀를 냈어요.

  • 미리 구워 두기: 빛이 튕기는 결과를 미리 계산해서 그림처럼 저장해 둬요. 이걸 라이트맵을 "굽는다(베이크)"라고 말해요. 빠르지만, 물건이 움직이면 빛이 따라오지 못해요.
  • 실시간으로 계산하기: 게임이 돌아가는 동안 빛의 튕김을 그때그때 계산해요. 언리얼 엔진의 루멘(Lumen)이 바로 이런 기술이에요. 전등을 옮기면 방 전체의 빛이 바로바로 바뀌어요.

언리얼 아트에서 왜 중요할까요?

언리얼 엔진으로 멋진 장면을 만드는 아티스트에게 라이팅은 그림의 마지막 붓질과 같아요. 같은 방이라도 빛을 어떻게 두느냐에 따라 아늑해 보이기도 하고, 무섭게 보이기도 해요.

글로벌 일루미네이션을 이해하면 이런 것을 할 수 있어요.

  • 창문 하나만 열어도 방 전체가 자연스럽게 밝아지는 장면을 만들 수 있어요.
  • 그림자가 새까맣게 죽지 않고, 부드럽게 살아 있는 장면을 만들 수 있어요.
  • 빨간 커튼 옆 벽이 살짝 붉어지는, 사진 같은 디테일을 넣을 수 있어요.

오늘 배운 것 정리

  • 빛은 탱탱볼처럼 여러 번 튕겨요.
  • 빛샘에서 바로 온 빛은 직접광, 튕겨서 온 빛은 간접광이에요.
  • 글로벌 일루미네이션은 튕기는 빛까지 전부 계산해서 장면을 진짜처럼 만드는 기술이에요.
  • 앰비언트 오클루전은 빛이 못 들어가는 구석을 어둡게 해 주는 간단한 흉내 기술이에요.
  • 게임은 계산이 빨라야 해서, 미리 구워 두거나 루멘처럼 실시간으로 계산하는 방법을 써요.

다음에 게임을 할 때 방 구석의 은은한 어둠, 벽에 물든 색을 한번 찾아보세요. 그 모든 것이 열심히 튕겨 다닌 빛의 흔적이랍니다.

출처

광고

리깅 파이프라인 자동화 도구

반복 작업은 스크립트에게. 현업에서 쓰는 리깅 툴 모음.

리깅 도구 보기