Alternative GI?

Is there an alternative to Enlighten?

I’d like to have a GI solution that works on largely untextured surfaces and highly modular geometry. Doesn’t have to be fully-realtime, but would be nice if it were reasonably fast.

As far as I know, trying to use enlighten with highly modular levels results in disaster.

There is at least one interesting NVidia paper I could probably implement, but honestly I’d prefer to be doing something else.

Ideas?

Last I checked, the dev was still hard at work to make SEGI competitive in anything but small indoor levels. He had an impressive roadmap though, and given he is still hard at work to make his GI solution work in bigger outdoor scenes, might one day replace Enlighten as the best bet for GI in Unity.

Which I find quite exciting given Enlightens obvious limitations and pitfalls.

Hmm… Looks like he found the same nvidia paper, although perhaps not.

That doesn’t seem to be what I need. Mostly because it seems to be small scale, and I want to it to work on multi-story building interiors.

I thought that perhaps the “non-textured” part could open some path to optimizations.

Well, its just in Beta and is still actively been worked on seemingly. Given the current development speed and only a single developer working on it as far as I could tell, I wouldn’t expect a complete solution for bigger environments in the shorter term though.
It seems like he has come up with workarounds to make the GI solution work with compromises in larger environments, though when I looked into it, the compromises where rather big (like you only get GI in the closer surroundings of the camera)…

Maybe give the dev a shout in the forum, he had quite a lot of interest when he started the beta so I guess he should be quite active in the thread. Maybe he can give you more information if his solution would fit your usecase or not.

Actually … now I remembered that the dev had some problems
https://forum.unity3d.com/threads/segi-fully-dynamic-global-illumination.410310/page-12#post-2778093

And haven’t been very active since.

Anyway, I think I’ll look for something else. Are there any other solutions aside from SEGI?

Cryengine mu ha haha

1 Like

“Thanks, but no thanks”, as they say.

2 Likes

Sonic Ether is working on voxel cascades for SEGI to accommodate larger scenes. He has an update post somewhere in that thread that discusses progress there with some screenshots. Obviously, it’s still a work in progress with no estimate on when it will be implemented, but it is something he’s working on, at the very least.

EDIT: I’d love to see some sort of runtime GI baking solution as well. Doesn’t have to be fully realtime dynamic, but being able to do some sort of procedural scene generation and baking the GI map at runtime after those steps would be awesome.

Well, I guess I’ll need to try implementing that nvidia paper if I want visuals similar to what blender cycles can produce.

If you do it and sell it, you have at least one very interested customer. Actually, you have a whole bunch, I reckon. :slight_smile:

Would something like this work for your usecase?

https://www.youtube.com/watch?v=8bRkyG3R-eI

Probably not. I want indoor areas with emissive surfaces or point lights. This one seems to be geared towards processing global directional light only.

Depending on your needs it might just be generally better using more lights - certainly it’s faster. You could use deferred and grab lighting buffer, blur and clip to depth or something, making for a manual GI approach that’s fast and fairly predictable diffuse…

Generally I think people focus too heavily on GI when in reality it’s a subtle effect, and you can get similar contributions from reflection probes + AO.

2 Likes

How about this one?

Reflectionprobes sound like a good idea, with untextured geometry a very low resolution should be enough and those can quickly be generated at runtime I’d imagine. Also if a less subtle effect is desired, maybe a custom shader could exaggerate the contribution of the reflectionprobes? And if the modules the building is made up from permit it, some colored areas near strong light sources could just get their own pointlight in the color of the material, to fake bouncelight, maybe?

edit:

Actually, as far as I know that’s not the case. Reflecion probes may destroy the scene when geometry is highly modular.

See this old thread of mine:
https://forum.unity3d.com/threads/deeply-unsatisfying-results-with-unity-lighting-system-visible-object-structure-patched-lighting.360549/

That’s the reason why I started looking into alternative GI.

Either way I guess I"ll take a look into this paper somewhere around next week.

Unity is working on a replacement to the Enlighten baker.
https://blogs.unity3d.com/2016/09/28/in-development-progressive-lightmapper/

The current roadmap shows it coming in 5.6, but it’s listed as “at risk”.

SEGI is the next closest option, and Sonic Ether’s assets have been well supported in the past, though he’s currently going through a tough time in his personal life due to an unexpected family illness.

Actually one of Sonic Ether’s previous assets, SESSAO, implemented a version of that screen space ambient occlusion base GI.
https://www.assetstore.unity3d.com/en/#!/content/36093

So, basically at this point it is Enlighten and SEGI. And that’s it.

Alright.

Recently I seen asset that may be useful here: Unity Asset Store - The Best Assets for Game Making

Didn’t he say in his GI thread he might release SESSAO for free because there are so many good SSAO effects around now? If he does I’ll give it a try.
I’m looking forward to his screenspace cast shadows, those looked really great for my usecase.

I did a quick test:

7mb gif:

This is lit with 2 directional lights only. One that shines through the windows and one that shouldn’t contribute anything because it faces the wrong direction, I only forgot to delete that one. So, it should look identical with just one directional light as a sun.
I used the new post effects stack with most features turned on, and a ton of baked reflection probes. You could theoretically bake the probes at runtime, but it’ll take a while.
Also I cheated and added a slight amount of emissive light to all materials (and a larger amount to the emissive light block). And I set ambient light intensity to 0, so that the skybox doesn’t bleed through everything.
No baked GI of any kind.

edit: 1 light, no geometry set to “static”, rebaked all probes

1 Like

If you do get around to coding a SEGI solution I’d love something for mac :slight_smile:
Keep us informed.