Create a grid of Lightmap Probes and cut unwanted ones!
LightmapProbeGrid is an extension for Godot Engine that helps on the demanding task of placing Lightmap Probes where LightmapGI fails to do it.
Disclaimer: If you are getting the error scene/3d/lightmap_gi.cpp:529 - Inconsistency found in triangulation...
is because Godot Issue 82642. It was fixed on Godot 4.3.
https://www.youtube.com/watch?v=HzZSQ0BPpuk
- What's new
- How to install
- Making a grid of Light Probes
- Limitations
- Compatibility
- Ending notes
- Changelog
Thanks to dwarfses, LightmapProbeGrid v2.0 now uses GPU raycast instead of the regular Physics raycast. It may be slower but means that colliders are not needed anymore! If the camera can see, it should work!
NOTE: The Cull Mask from v1.0 is not compatible with v2.0.
v2.1 includes support for Godot 4.3
- Download the file
LightmapProbeGrid_v2.1.zip
from the Download Page - Extract the
addons
folder on the root of your project (res://
). Other files/folders are optional. - Go to Godot's "Project" menu -> "Project Settings" -> "Plugins" tab -> enable "LightmapProbeGrid".
- Restart Godot.
You can also open the DemoScene
to see how it works.
- Place the LightmapProbeGrid Node in the scene. It's located at "Add Node" -> Node3D -> LightmapProbeGrid.
- Use the handles (red dots) to resize the grid.
- In the LightmapProbeGrid Inspector you can set the number of Light Probes on each axis with the minimum of 2. Press "Generate Probes" to apply the settings and place your grid of Light Probes in the Scene.
Now you can cut unwanted probes with the methods bellow.
This method is designed to cut probes that are placed beyond visual limits such as the ground or the walls of a cave.
On LightmapProbeGrid Inscpector click on "Cut Obstructed Probes". It will test each Light Probe from the center of the grid to the probe and see if the line intercepts an object. The probe will be cut if there's something blocking the line.
This method is designed to delete probes that are inside objects. It will test all 6 axis of each Light Probe: Up, Down, Left, Right, Forward and Backward by the distance indicated in Max Object Size
.
If at least 4 of these lines hit something the probe will be cut. It considers only 4 hits to cut probes on long objects like pillars and trees.
This method is designed to delete probes that are far away from any object. Normally these probes don't contain any relevant light information but use with care in places that have a high usage of spotlights.
When you click the button the area around the Light Probe is tested on various directions by the distance indicated in Max Distance
. The probe will be cut if none of the rays intercept an object.
You can select which 3D render layers LightmapProbeGrid will interact on the section Visual Cull Mask. Only selected layers will be used on detection for the Cut methods above.
Use masks to filter out objects to not interact with the rays, like characters or moving objects.
LightmapProbeGrid is not designed to work with a huge number of Light Probes at once covering a vast area. It is designed to be placed multiple times in a scene with relatively small grids (less than 1,000 probes).
LightmapProbeGrid is compatible with Godot 4.2 and there are plans to continue supporting onward.
This tool was entirely made on my free time. If you want to support me, please make an awesome asset and publish for free to the community!
v2.1:
- Support for Godot 4.3
v2.0:
- Major changes: now uses GPU Raycast instead of Physics raycast
- This means that colliders are not needed anymore!
- The Cull Mask from v1.0 is not compatible with v2.0
v1.0:
- First release.