Precomputed GI and Terrain... good idea? Is Enlighten GI really worth the cost?

I am still trying to wrap my head around this Enlighten moster that is still quite opaque to me as to what the different knobs really do…

To begin with the bake was not only running slow as hell, but also not produced anything usable. The lightbleeds from objects and emissive surfaces seemed to turn up at the wrong places, and the GI view in the editor showed very weird artefacts.
Seems like the automatic UV creation was to blame. After selecting “preserve UVs”, UVs make way more sense, and the emissive view looks correct. The whole thing is still slow as hell… guess I will have to let it run overnight… yeah, so much for fast iterations.

Now, I guess the reason why Enlighten is struggling is my terrain. I use a 1024x1024 units terrain, altough all other meshes are 1/4 normal size, so that would be equivalent to a 4kx4k terrain when I increase the resolution for the other objects.
I already had to lower “size in lightmap” for the terrain to 0.025… I have no idea if that has any influence on the precompute or not though.

Do I have ANY chance of getting sensible GI Data out of Enlighten with such a large terrain without cutting it up into tiny chunks? Yes, I know that Enlighten cuts it into chunks, but given the expierience of others that might not be enough as Enlighten seems to struggle with way smaller meshes.

What is a reasonable terrain size if I want to precompute GI in a resolution that is high enough for at least 2-4 meter texels? 128x128? 256x256? Cutting the terrain into smaller pieces yet keeping them editable in the editor is a pain, but maybe worth it if the chunks are not soo small.

Is anyone actually bothering with Enlighten precompute GI for large outside scenes? Is it wiser to shelf this for now, go with simple skybox based environment lighting with faked bounced ground light added to the skybox and call it a day?
At least while I work on the scene and try to iterate fast?

Is there a chance that in 6 months or so, Enlighten will be much faster to calculate precompute GI data, or solving the problem still present with large mehses and terrain?

If it works, the realtime GI is really brilliant. Of course, being able to use baked lightmaps mixed with realtime lighting would be even better, but given how hacky that was even in Unity 4 / Beast days at least for large terrains, and how it seems to be broken now in Unity 5 / Enlighten I am not even going to bother.
But even the realtime GI doesn’t seem to be worth all the hassle if the precompute stage takes 20+ hours for large scenes, and the result is often broken until you tweak all the knobs right, so you have to spend days iteratively baking the GI.
Given that the IBL you get even without realtime GI is already pretty good given a good skybox, and a “normal” scene without brightly colored objects or emissive textures, which needs neither a bake, and is working like a charm 100% of the time, I am not so sure Enlighten as implemented in Unity is really worth the fanfare it got in the beta phase.

Oh, another quick question. I am currently also struggling with the weird behaviour of emissive surfaces that contribute almost nothing to GI unless you crank up the emission value so high that colours are completly blown out to white.
Could I just add another object, like a plane, put it before the emissive part of the other object, give it a material with the right emissive color, crank the emissive up to the needed value, while making the object transpararent for the GI bake, and make the object invisible again afterwards?
Would that allow me to contribute way more emissive to the GI without having to crank up the emissive value of the first object?

Having Precomputed GI on a terrain seems like a waste of time. Unless you have a lot of buildings, the bounced lighting probably won’t even touch anything.

I can’t even think of any mainstream game that has decent res lightmaps for their terrains. Maybe Red Orchestra 2. Most games back in the day just used vertex lighting for the terrain, and lightmapped everything else. Then they jumped to realtime lighting for the sunlight (Bad Company 2, etc).

Hm, that is what I thought…

Seems like terrain is the unloved stepchild in almost all engines… given how far the rest of the rendering objects have come, having no real built in solution for lightmapping / precomputing terrains that actually works is a real shame.

Oh well, time to get crafty I guess.

I decided to live with the bad resolution on the terrain for now (might split it into smaller chunks later on anyway), and run some tests. Using just the IBL without at lest precompute GI didn’t work for me, so I had to use at least low resolution precompute… so I thought what the hell, might as well see what the thing can do.

  1. Seems like the emissive built into my building texture is just not covering enough of the object to actually matter. Creating cubes and planes with pure emissive materials seem to give better results. Testing this, I actually found that the bigger the object, the more light it seems to contribute… which might make some sense, seems just that its more extreme than what sound logical to me.
    Is that correct? Do bigger emissive objects contribute more to GI, to the point where smaller objects contribute almost nothing?

It would be cool to get more control over this in the future. Not only have one slider that controls the emissive strength for the texture, but one that controls strength on the texture, and one that controls strength of the effect for GI… ideally there would be more options to control shape and falloff, but I am now in wishful thinking mode.

  1. It would be very, VERY nice to have a way to control how an object contributes to GI. I tried to fake the emissive GI contribution of my lighted windows by overlaying a big plane over the whole window front with an emissive cutout material, that is invisible, yet contributes its emissive to GI and makes it look like the windows illuminate the surroundings.

If you try this too, don’t forget to turn albedo of the faked light object all the way down to black, so it doesn’t reflect light itself. That tripped me up at first.

Now I have just one remaining problem:
The plane blocks the light for the Windowfront behind it, darkening everything for GI. Which looks weird.
Is there a way to prevent this from happening? Make the plane contribute to GI, without blocking GI for the objects behind it?