Direct and indirect light
Distinguish sources, light transport, reflections and screen effects before configuring a level.
Identify where light comes from
Direct light travels from a source to a surface. Indirect light arrives after interacting with other surfaces: for example, a white floor near a colored wall receives a tint from bounced light. This needs geometry/material/lighting data and a specific calculation or baking method.
Raising uniform ambient is different from calculating that path. A bright material also does not automatically become a lamp for the whole level.
| Mechanism | Supplies | Not established by enabling it alone |
|---|---|---|
| Light3D | Direct illumination within its influence | Multiple bounces between surfaces |
| Environment ambient | General illumination support | Correct color transfer and room boundaries |
| Manual fill | An artistic approximation | Automatic response to arbitrary geometry changes |
| A GI method with level data | Approximate indirect illumination | Identical quality/cost across renderers |
| Local reflection capture | Reflected surroundings for materials | Complete diffuse light transport |
| SSAO/glow | Contact darkening/halo | New physical light sources |
Establish a control frame
- Assign a predictable material and one understandable direct source. Remove unrelated effects from the comparison.
- Fix camera, background, tone mapping and exposure.
- Inspect lit/shadow sides, floor contact and material color.
- Add only the selected indirect method or an explicitly identified manual fill.
- Move the source/object and determine which data actually updates.
The runnable manual fill example creates a white cube, floor, opaque divider and blue Omni fill. It verifies manual color changes rather than actual GI: without shadows, the source lights surfaces across the divider.
Choose the next diagnostic
- Dark nonmetal wall: check direct light, ambient and material before indirect-lighting requirements.
- Dark metal: check reflection sources and roughness separately; stronger ambient does not replace reflection setup.
- Bright colored surface with dark neighbors: Emission does not guarantee neighboring illumination without another mechanism.
- Old lighting persists after geometry edits: identify baked data requiring updates.
- Light crosses a room boundary: inspect light shadows, geometry and the selected method’s approximations.
Account for limitations early
Static lighting needs lightmap UV preparation and baking. Updated GI needs appropriate bounds, data detail and update budget. Reflections need capture placement and changing-environment behavior. These are distinct settings, not one quality toggle.
Verify support in the current renderer. For example, VoxelGI is not implemented in current Compatibility, while manual colored fill is verified there and in Forward+. One method’s successful check does not establish every GI system.
This article explains the model and diagnostic sequence. Manual-fill verification is not presented as LightmapGI, VoxelGI, SDFGI or ReflectionProbe acceptance. Choose a method.