콘텐츠로 이동

Unity 조명 시스템: Baked, Mixed, Realtime

모드정적 오브젝트동적 오브젝트CPU/GPU 비용업데이트
Realtime높음매 프레임
Baked없음(런타임)베이크 시
Mixed✅ (간접광)중간부분적

Window → Rendering → Lighting 창에서 설정합니다.

Lighting Mode: Baked Indirect (권장)
Lightmapper: Progressive GPU / CPU
Lightmap Resolution: 40 texels per unit (실내), 20 (실외)
Max Lightmap Size: 1024 (모바일), 2048 (PC)

정적 오브젝트는 Inspector에서 Static → Contribute GI 체크가 필요합니다.

// 런타임에 Lightmap 교체 (DLC, 레벨별 조명)
LightmapData[] maps = LightmapSettings.lightmaps;
LightmapSettings.lightmaps = newMaps;
  • Subtractive: 가장 빠름, 단방향 그림자만 지원, 모바일 권장
  • Baked Indirect: 간접광만 베이크, 직접광+그림자는 실시간
  • Shadowmask: 정적 오브젝트 그림자 베이크 + 동적 그림자 합성
// Mixed Light 예시 설정
var light = GetComponent<Light>();
light.lightmapBakeType = LightmapBakeType.Mixed;
light.shadows = LightShadows.Soft;

Light Probe — 동적 오브젝트 간접광

섹션 제목: “Light Probe — 동적 오브젝트 간접광”

베이크된 조명 환경에서 움직이는 오브젝트가 주변 간접광을 받도록 합니다.

배치 원칙:
- 조명 변화가 큰 경계에 촘촘하게 배치
- 캐릭터 키 높이에 맞춰 그룹화
- 실내/실외 경계에 반드시 배치
// 특정 위치의 Light Probe 보간값 조회
SphericalHarmonicsL2 sh;
LightProbes.GetInterpolatedProbe(transform.position, null, out sh);
// 렌더러에 Light Probe 모드 설정
renderer.lightProbeUsage = LightProbeUsage.BlendProbes;
renderer.lightProbeProxyVolumeOverride = proxyVolume; // LPPV 사용 시
// Reflection Probe 런타임 업데이트
var probe = GetComponent<ReflectionProbe>();
probe.mode = ReflectionProbeMode.Realtime;
probe.refreshMode = ReflectionProbeRefreshMode.EveryFrame; // 비용 높음
probe.refreshMode = ReflectionProbeRefreshMode.OnAwake; // 한 번만
// 수동 렌더
probe.RenderProbe();
// 1. Shadow Distance 제한
QualitySettings.shadowDistance = 50f; // 기본 150 → 불필요한 원거리 그림자 제거
// 2. Shadow Cascades
QualitySettings.shadowCascades = 2; // PC: 4, 모바일: 1~2
// 3. 동적 오브젝트 그림자 수 제한
light.shadowNearPlane = 0.1f;
// 4. Occlusion Culling과 조합
// Static → Occluder/Occludee Static 설정 후 베이크

Enlighten Realtime GI vs Progressive Lightmapper

섹션 제목: “Enlighten Realtime GI vs Progressive Lightmapper”
Enlighten Realtime GIProgressive
방식런타임 GI 업데이트오프라인 베이크
낮/밤 전환✅ 자연스럽게❌ 어려움
빌드 크기증가라이트맵 증가
Unity 지원Deprecated (2023.1+)✅ 권장
  • 정적 환경은 Baked, 동적 그림자가 필요하면 Mixed 사용
  • Light Probe 배치가 캐릭터 조명 품질에 직결
  • Shadow Distance와 Cascade 수를 타겟 플랫폼에 맞게 조정
  • Enlighten Realtime GI는 Unity 2023.1부터 Deprecated — Progressive로 전환 권장