Hello Unity Developers!
I'm pleased to announce that AutoProbe is ready to help you get high quality lighting onto your dynamic objects quickly and easily. The main features are:
- Automatically generates light probes that conform to your geometry, exploring every nook and cranny.
- You limit the space it explores by placing disabled colliders as children, using familiar tools, so your levels don't need to be water-tight or even have ceilings.
- Quickly generate probes from your existing meshes or terrain, setting a height for how "thick" you want the dynamic lighting to sample above the meshes. Building outdoor environment lighting is so simple now!
- Custom Inspector has shortcut buttons to start and stop light bakes, so it's easy to rapidly iterate and check your work.
And most importantly, what no other similar package has:
- One click will optimize all the light probes in a single light probe group (even if it's been generated by hand or with a competing package). Just add the AutoProbe component to the same object that has the light probe group on it. When you click Optimize, AutoProbe rigorously detects unnecessary probes and removes them, reducing your data set and removing flicker from dynamic objects indirect lighting. If you want to approach AAA quality, you will want this.
Link to the Asset: https://www.assetstore.unity3d.com/#!/content/105295
How do I organize scenes with AutoProbe?
As with most hard problems, the answer is... it depends.
- Simple levels that only have one scene in them, you simply light your level and drop one AutoProbe component into your scene and you'll be fine. The spawning of probes will take a few seconds, the baking of your lighting will take much longer, then the optimization will take a minute or so. When you load that level in-game, all your objects will be lit nicely as they move around by picking up the dynamic lighting from the light probe set.
- However, you might find that your one level is rather large, and if you're changing the sizes of rooms or changing the terrain frequently, perhaps having a different AutoProbe per room is convenient. Each one can independently function while editing, and when Unity writes out the final scene, it automatically combines all probe sets in the level into a single unified set when you hit play (or produce a build). Just make sure that the light probe regions overlap just enough that you don't end up with odd gaps between rooms or hallways.
- Larger, more complex games that are composed of many different scenes have it rough. Unity does not currently support merging light probe sets from different scenes.(*) Lighting scenes in Unity can be done in pieces, if you like, but light probes must be done all at once.(**) So, you might consider having many different AutoProbe objects in a large and complicated level, but ultimately you will want them all to be in the same scene, and consider using Additive Scene loading to manage the lighting of the geometry. What you would do is additively load all the lit world geometry scenes together with the light probe scene, then generate light probes and bake them with all the static lighting at once. Unity is supposed to use whatever the last set of light probes loaded are, so as long as you load the light probe scene last, it should work fine, even if you are streaming different levels. The light probe data must remain in memory at all times, which is unfortunate. And all the more reason to optimize your light probes.
(*) I am currently working on a light probe system that does this. It's not ready yet, but coming later in 2019!!!
(**) Technically, you can swap light probe data at runtime based on where you are, but there's no easy way to render some objects with a probe set they are "inside", so it is only an appropriate technique if you have narrow corridors and blind corners, as far as I can tell.
Here's some screenshots: