언리얼 엔진 5에서 배경을 만들다 보면 이런 의문이 생깁니다. "태양(Directional Light) 각도를 바꿔서 노을을 만들었는데, 왜 그림자 속 물체는 여전히 파랗거나 어둡지?"
이 문제를 해결하려면 Sky Atmosphere와 Sky Light의 긴밀한 '협업 관계'를 이해해야 하는데, 그 작동 원리를 깔끔하게 정리해 드리겠습니다.
1. 역할 분담 : 소스 제공자와 빛 전달자
언리얼의 하늘 조명 시스템은 크게 두 단계로 나뉩니다.
Sky Atmosphere (소스 제공자)
태양빛이 대기에 부딪혀 산란되는 물리적 현상을 계산합니다. 하늘의 색(낮의 파란색, 노을의 붉은색) 을 결정하지만, 이 컴포넌트 자체가 물체에 직접 빛을 쏘지는 않습니다. 즉, "하늘이 지금 무슨 색인지" 만 보여주는 배경화면 같은 존재입니다.
Sky Light (빛 전달자)
실제 물체에 빛을 전달하는 객체입니다. Sky Atmosphere가 만든 하늘의 색상을 캡처해서 '거대한 돔 조명' 으로 바꿉니다. 이 조명이 있어야 비로소 태양이 닿지 않는 그림자 영역(간접광)과 반사(Reflection)에 하늘의 색이 묻어납니다.
2. 어떻게 작동하나요? (Data Flow)
이들의 관계를 순서대로 나열하면 다음과 같습니다.
Directional Light
태양의 각도를 바꿉니다. (예: 지평선 아래로 내림)
Sky Atmosphere
"어? 태양이 내려갔네? 이제 노을색을 보여줘야지." 하고 하늘 색을 붉게 바꿉니다.
Sky Light
이 변한 하늘의 색을 픽셀 정보로 가져옵니다.
최종 반영
캡처한 붉은색 정보를 바탕으로 물체의 어두운 부분에 붉은 기운을 채워 넣습니다.
3. 실시간 변화 : Real Time Capture
여기서 중요한 점은 Sky Light 는 "정적(Static)" 인 속성을 가지고 있습니다. 태양 각도를 바꿔도 Sky Atmosphere 에 의해 계산된 하늘을 다시 환경맵으로 굽지 않는다면, 그것으로부터 물체에 닿는 빛을 계산하는 Sky Light 는 변화되기 이전의 환경맵으로 계산을 하기 때문에 이것을 갱신해 줄 필요가 있습니다.
Recapture
버튼을 누르는 순간의 하늘을 캡처하여 저장합니. 고정된 낮 환경이라면 성능상 유리합니다.
Real Time Capture
낮밤이 실시간으로 변하는 게임이라면 필수입니다.
실시간이면 너무 무겁지 않을까 싶기도 하지만, 언리얼은 성능을 위해 매우 작은 해상도의 큐브맵으로 압축해서 처리합니다. 실시간이라 해도 성능 부하가 크지 않으니 안심하고 사용하셔도 됩니다.
4. 한 줄 요약
Sky Atmosphere는 "하늘색"을 그리고, Sky Light는 그 색을 가져와서 "세상에 칠한다."
결국 Atmosphere는 직접적으로 물체에 영향을 주지 않고, Sky Light라는 매개체를 통해서만 빛을 전달합니다.
'Unreal' 카테고리의 다른 글
| [UE5] 라이트 Mobility 의 종류와 활용 가이드 (0) | 2026.02.03 |
|---|---|
| 언리얼5 단축키 모음 (0) | 2026.01.13 |
| 언리얼의 블루프린트란 무엇인가? (0) | 2026.01.11 |
| 언리얼 엔진의 기본 상속 구조 (0) | 2025.12.27 |
| 왜 언리얼 엔진의 클래스 등록 절차는 복잡할까? (0) | 2025.12.27 |