Hello! It occurred to me a while back that it might be possible to bake skylight occlusion to the vertex colors of objects, including foliage. If this were possible, I think it could potentially save memory compared to lightmaps for every foliage instance. I’m not sure if this is practical or even feasible, so I’d appreciate the input of experts like @DanielW, who has already greatly improved skylight baking.
EDIT: I should have used the “Feature Request” prefix, if a mod could fix that.
Vertex lightmaps / AO adds a ton of code complexity, especially with instancing, so it’s not something we’re interested in supporting. In UE3 it was a nightmare to keep working. It’s also a bad fit for foliage which typically has a large number of vertices.
We would like to implement a single Spherical Harmonic per foliage instance, which will be much cheaper memory wise than the current texture lightmaps.
For maps where you know where the instances are placed a lighting build time, you can do a lot higher quality with a lot less memory by computing probes exactly where they will be used - at each instance.
btw the Black Ops3 solution required a huge amount of artist setup to avoid leaking. I don’t think that’s really acceptable for a general purpose engine.
Thanks for the interesting and enlightening responses. Is there any official information about the SH for foliage, or a way I can keep track of when that feature might be coming?
Quantum Break has an entirely automated process, including for probe placement. Diffuse/normalization for spec is contained in an auto built sparse octree like structure of probes, so streaming and LOD are made pretty easy. And hand tweaking of probes is hardly an artist friendly process to begin with.
You could also support pre-computed GI changes, unified GI contributions for static objects, dynamic objects, particles, and volumetric scattering all with the same data structure. You get deferred decals on static geometry without needing to evaluate any lightmaps, and there’s no need to deal with any UV for lightmapping. http://advances.realtimerendering.com/s2015/SIGGRAPH_2015_Remedy_Notes.pdf
The automatic reflection probe blending like in the remedy notes would be awesome. It’s currently quite tiresome to manually tweak the positions of the probes so that they don’t bleed onto wrong surfaces.