Game Engine/Unity

[Unity] 전역 조명(GI)과 라이트 매핑, 라이프 프로브 개념

양양줘 2025. 4. 8. 20:03

 유니티는 현실세계의 빛을 물리엔진에서 구현하기 위해

빛을 직접광과 간접광 두 종류로 구분하여 연산하고 있다. 

이러한 기술을 전역 조명(GI)이라고 한다.

 

✔️ 직접광 (Direct Light)
방출되어 표면에 한번 닿은 후

눈(카메라)에 직접 반사되는 광원

 

✔️ 간접광 (Indirect Light)
표면에 여러번 닿는 광원, 스카이 라이트 등을 포함하여

궁극적으로 눈(카메라)에 반사되는 다른 모든 광

 

 

 

전역조명 (Global Illumination)


전역 조명(GI)은 빛이 표면에 닿고, 반사되어 다른 표면에 간접적으로 영향을 주는 조명 시스템을 의미한다.
이는 단순한 직접광만으로는 표현할 수 없는 현실적인 빛의 반사와 퍼짐을 가능하게 하며, 씬의 분위기와 몰입도를 크게 높여준다.

 

📌 실시간 조명 vs 베이크된 조명

전역 조명은 Bake와 Realtime을 선택할 수 있다. 실시간 조명(Realtime GI)은 말 그대로 빛을 실시간으로 계산하는 방식이고, 베이크된 조명(Baked GI)은 빛을 미리 계산하여 라이트맵(텍스쳐)로 저장해두고 실행 시간에 해당 데이터를 활용하는 방식이다. 각각 장단점이 있지만 리얼타임 방식은 엄청나게 많은 연산을 요구하기 때문에 정적인 부분에 대해서는 무조건 라이트를 구워놓는 것이 낫다. -> 라이트 매핑, 라이트 프로브

 

Realtime GI (실시간 조명)

  • 씬 내에서 조명이나 오브젝트가 움직이는 경우에 사용된다.
  • 빛의 반사를 실시간으로 계산하므로, 더욱 동적인 표현이 가능하다.
  • 성능 소모가 크기 때문에 주의해서 사용해야 한다.

Baked GI (베이크된 조명)

  • 정적인 오브젝트와 조명에 적합한 방식으로 라이트 매핑라이트 프로브 기술을 활용한다.
  • 빛의 반사 계산을 사전에 미리 계산해 라이트맵에 저장한다.
  • 라이트 프로브를 사용하지 않았을 경우 동적인 오브젝트에 대해 어색한 느낌을 주게 된다.
  • 퍼포먼스에 매우 유리하며 모바일 게임, 배경 요소에 자주 사용된다.

 

 

 

📌 라이트 매핑 (Light Mapping) 

 라이트 매핑은 씬의 표면 밝기를 미리 계산하고 계산 결과를 나중에 사용하기 위해 라이트맵이라고 불리는 텍스쳐에 저장하는 프로세스이다. 라이트맵에는 직접광과 간접광이 모두 저장되며 실시간 광원은 라이트맵이 적용된 씬 위에 오버레이시켜 추가적으로 사용할 수 있지만, 라이트맵 자체를 대화식으로 변경할 수는 없다.

 

즉, 라이트 매핑은 접광과 간접광이 연산된 '표면의 밝기'를 텍스쳐(라이트맵)으로 저장하여 활용하는 것이다.

라이트맵에 저장되는 빛 데이터(표면 밝기)
 

이번 포스팅은 이론에 대한 내용이므로, 라이트맵을 굽는 방법은 다른 글에서 설명하도록 하겠다.

 

 

📌 라이트 프로브 (Light Probes) 

 라이트맵이 표면의 밝기를 저장하는 것이라면, 라이트 프로브는 씬의 빈 공간을 지나는 빛(간접광)에 대한 정보를 저장하는 것이다. 만약 전역조명을 혼합방식으로 사용하여 맵의 라이트맵과 동적인 오브젝트의 리얼타임 연산을 함께 사용할 때, 라이트맵으로 표현된 빛이 많은 공간을 동적인 오브젝트가 지나가더라도 실제 빛이 연산되고 있는게 아니기 때문에 그림자가 생기지 않을 것이다. 이러한 현상을 방지할 수 잇는데 라이트 프로브이며, 동적인 오브젝트에 프로브 공간을 지날 때 빛의 정보를 연산하여 오브젝트의 그림자를 만들어 낼 것이다.
 
즉, 라이트 프로브는 씬의 빈 공간을 지나는 간접광에대한 정보를 저장하여 런타임에 동적으로 움직이는 오브젝트에 대한 빛 연산을 추가적으로 진행할 수 있게 하는 기능이다.

 

라이트 프로브에 저장되는 빛 데이터(빛의 경로)

 

마찬가지로 이번 포스팅은 이론에 대한 내용이므로, 라이트 프로브를 만드는 방법은 다른 글에서 설명하도록 하겠다.

 

 

 


 

물리엔진에서 빛의 연산은 아주 중요한 개념이다.

오늘은 유니티의 라이트 연산에 대한

기본적인 틀을 설명해보았다.

 

추후에 실제 엔진에서 라이트맵과 라이트 프로브를 굽고

전역 조명을 셋팅하는 방법을 포스팅 해보도록 하겠다.

 

 


 

 

전역 조명 - Unity 매뉴얼

전역 조명(GI)은 직접 표면에 닿는 광원(직접광)뿐만 아니라 다른 표면에 부딪혀 반사되는 광원(간접광)을 모델링하는 시스템입니다. 오브젝트는 서로의 형상에 영향을 미치기 때문에 간접 조명

docs.unity3d.com

 

wooj22 - Overview

🎮 Game Programmer. wooj22 has 22 repositories available. Follow their code on GitHub.

github.com

 

양우정

 

www.youtube.com