Unity는 실시간 전역 조명을 위해 인라이튼이라는 미들웨어 솔루션을 사용합니다.
기본적으로 실시간 광원은 씬에 직접 조명만을 제공합니다. 씬에서 Realtime Global Illumination(인라이튼 실시간 전역 조명)을 활성화하면 실시간 광원이 씬에 간접 조명도 제공합니다.
렌더 파이프라인의 인라이튼을 사용한 실시간 전역 조명 지원에 대한 자세한 내용은 렌더 파이프라인 기능 비교를 참조하십시오.
실시간 전역 조명(실시간 GI)은 천천히 변화하는 광원에 유용하며, 씬에 중요한 시각적 영향을 줍니다. 하늘을 가로질러 이동하는 태양이나 밀폐된 복도에서 천천히 꺼졌다 켜졌다 하는 광원이 이러한 예에 해당합니다. 이 기능은 지연과 필요한 CPU 주기 수 때문에 특수효과나 빠르게 변화하는 광원용으로 적합하지 않습니다. 인라이튼 실시간 전역 조명은 중급 사양과 고사양의 PC 시스템과 콘솔을 타게팅하는 게임에 적합합니다. 일부 고사양 모바일 디바이스도 이러한 기능을 사용할 만큼 성능이 뛰어날 수 있지만, 적당한 성능을 보장하기 위해서는 씬은 작게, 실시간 라이트맵의 해상도는 낮게 유지해야 합니다.
씬에서 인라이튼 실시간 전역 조명을 활성화하려면 Lighting 창 (메뉴: Window > Rendering > Lighting)을 열고 Realtime Global Illumination 을 활성화합니다.
특정 광원의 Realtime GI 효과를 비활성화하려면, Light 컴포넌트의 광원 게임 오브젝트를 선택한 다음 Indirect Multiplier 를 0으로 설정합니다. 이것은 광원이 씬에 간접광을 전혀 제공하지 않음을 의미합니다.
Realtime GI 를 완전히 비활성화하려면 조명 창(메뉴: Window > Rendering > Lighting)을 열고 Realtime Global Illumination 을 선택 해제합니다.
인라이튼 실시간 전역 조명 사용에 대한 단계별 안내는 사전에 계산된 실시간 GI에 대한 Unity 튜토리얼을 참조하십시오.
인라이튼 실시간 전역 조명은 씬을 작은 표면 패치로 분할하고 이러한 패치가 서로에게 보이는 정도를 결정합니다. 런타임 시 인라이튼 실시간 전역 조명은 이 사전 계산된 가시성 정보를 사용하여 실시간 광원이 씬에서 어떻게 반사되는지 추정하고, 그 결과를 라이트맵에 저장한 다음 이러한 라이트맵을 사용하여 씬에 간접 조명을 적용합니다. 라이트맵 업데이트는 계산 집약적이므로, 이 과정은 여러 프레임으로 나뉩니다. 인라이튼 실시간 전역 조명은 여러 프레임에 걸쳐 씬 전체의 간접 조명에 변경 내용을 전파합니다.
인라이튼 실시간 전역 조명을 활성화하면 라이트 프로브가 다르게 작동합니다.
라이트 프로브는 씬 조명에서 런타임 변화에 반응하기 위해 런타임 시 반복적으로 조명을 샘플링합니다.
씬의 인라이튼 실시간 전역 조명을 비활성화하면 라이트 프로브가 베이크된 조명 데이터만 사용합니다. 즉, 라이트 프로브는 씬 조명에서 런타임 변화에 반응하지 않습니다.
광원도 그림자를 캐스트하면 Unity는 씬의 동적 게임 오브젝트와 정적 게임 오브젝트 모두 광원의 섀도우 맵에 렌더링됩니다. 정적 게임 오브젝트와 동적 게임 오브젝트 모두의 머티리얼 셰이더가 이 섀도우 맵을 샘플링하며, 이는 서로에게 실시간 그림자를 캐스트하기 위함입니다. Shadow Distance 설정은 그림자가 사라지기 시작하여 완전히 사라지는 최대 간격을 결정하며, 이는 성능과 이미지 품질에 영향을 미칩니다.
인라이튼 실시간 전역 조명은 씬이 매우 작은 경우 외에는 소프트 섀도우도 포함합니다. 이러한 섀도우는 보통 라이트매핑이 만들어내는 섀도우보다는 거친 느낌입니다.
Shadow Distance 설정을 수정하려면 Edit > Project Settings > Quality > Shadows로 이동합니다.
인라이튼 실시간 전역 조명은 여러 라이트맵을 사용하여 실시간 간접 반사를 저장합니다. 때문에 이 옵션을 활성화하면 베이크된 전역 조명과 함께 사용하더라도 메모리 요구 사항이 증가할 수 있습니다.
인라이튼 실시간 전역 조명을 사용하면 조명을 생성하는 데 필요한 셰이더 계산의 수도 늘어납니다. 인라이튼 실시간 전역 조명은 추가적인 라이트맵과 라이트 프로브를 샘플링하기 때문입니다.
인라이튼 실시간 전역 조명이 씬 조명의 변화에 충분한 속도로 응답하지 않는 경우, 몇 가지 방법으로 이러한 문제를 해결할 수 있습니다.
Unity는 자동으로 앰비언트 프로브와 기본 반사 프로브를 생성하여 환경 조명이 기본적으로 씬과 씬의 게임 오브젝트에 영향을 주도록 합니다.
라이트맵과 라이트 프로브를 수동으로 생성하지 않은 게임 오브젝트 또는 씬의 조명 결과에서 환경 기여를 비활성화하려면 기본 반사 프로브와 앰비언트 프로브를 비활성화합니다. 자세한 내용은 [SkyManager 비활성화]를 참조하십시오.