3D Level Design: The Amazing Power of Light Probes
In this article we are going to talk about Light Probes; what are they, how and when to use them. This will spill into realtime, baked and mixed lighting.
What Are Light Probes?
Unity states that Light Probes work by “…store[ing] information about light hitting surfaces in your Scene and provide a way to capture and use that information.”
The way the Light Probe information is used is by “…allow you to use Baked lighting to illuminate objects passing through your Scene.” This provides high-quality lighting effects to moving (dynamic) objects at a lower performance cost compared to Global Illumination(GI), which calculates in realtime the different direct and indirect lighting in the scene.
Setting Up Light Probes
In the hierarchy we will create a new Light Probe Group.
To edit the probe group, you will hit the edit button.
This allows you to select multiple probes using holding shift (selects a group) or control/command (selects individually) and either clicking on individual probes (control/command) or clicking and dragging over multiple probes (shift).
When the probes are selected you can duplicate them and move them to start create a grid throughout your scene.
Remember, the light probes will only cast baked lights from static objects to dynamic (moving) objects.
This means I only want to setup my light probes grid where my player is able to move or any other moving object.
These light probes need a static surface to capture the light info from. I set the floor to static, so the light probes are now capturing the light that hits when it is baked and can use that information to cast light onto the player.
Lets look at an example, in the hallway I have two real time lights and in the main room I have a baked light. The image below shows no light probes being used. You can see the capsule is receiving the lighting from the real time lights, but once it gets the main room it is receiving any light because the light probes are off.
The image below shows the light probes on and you can see how the capsule is now receiving light from the baked light source in the main room.
Now, lets make the hallway baked lights instead of realtime and have the light probes off. You can see how there is no light being cast onto the capsule as it moves through the hallway.
When the light probes are turned on you get light casting onto the capsule.
It might be a bit dark, so I could select another surface (ceiling, walls, etc.) to make static which will at another surface for the light to hit adding to the global illumination. Another approach would be to increase the intensity of the lights.
This brings up the point of why use bake lights with light probes when you can just use real time lights.
Baked vs Realtime Lights vs Mixed
Baked lighting gives you global illumination for the surfaces that are made static and can still light dynamic objects using light probes.
Realtime lights do not add to global illumination, but give you specular highlights and reflections and can still light dynamic objects without the use of light probes.
Mixed lighting is both baked and realtime lighting, so you get the global illumination with the specular highlights and reflections. This comes at a performance cost since you are calculating two passes of lighting data in your scene.
It is a balancing act the lighting look you want with keeping performance optimized. In conclusion, Baked Lighting is more efficient compared to Realtime lighting and adds to global illumination and lights dynamic objects using light probes but doesn’t give you the specular highlights that the realtime lights give you.