Hey, guys. I just wanted to share some screenshots of things I have been working on regarding graphics in Unity. I’m not satisfied with the way Unity calculates most of its lighting by default, but since Unity is so very easy to modify in this regard, I’ve been having a lot of fun doing so!

Firstly, I’ve been working on a bloom/lens effects shader. It’s a simple post process effect that simulates the airy disk (Airy disk - Wikipedia) of a camera lens. It correctly does not use threshold, and is energy-conserving. It also has a texture input that is used as a “lens dirt” effect. The texture adjusts scattering of light on the lens, but again, obeys conservation of energy to eliminate false highlights. The texture itself is something I whipped up just as a test.

These bright objecs are just simple emissive objects. Also, I’m using a custom tonemapping algorithm with a slightly more exaggerated toe and shoulder. You can also see very subtle screen-space reflections (on the left side of the cube).

I’d also like to show some comparisons of Unity’s built-in light attenuation and shaders vs my physically correct light attenuation and physically based shaders. The specular highlights are energy-conserving and also exhibit the fresnel effect for more true-to-life highlights. Light attenuation is calculated based on how light attenuates in real-life instead of Unity’s falloff. I decided to use a wet concrete material to show off the effects.



Cool!

Just one word : Amazing

amazing does it eat up framerate by any chance?

from what I’ve seen so far - he’s getting around 350fps in those scenes :stuck_out_tongue: and no, not on a Titan :wink:

What necromancy is this!? Superb.

Wooooo!!!

Very impressive. I’ll be following this :slight_smile:

JJ Abrams would be proud

lol :stuck_out_tongue:

Please tell me you’re planning on putting this on the asset store. :slight_smile:

Performance is very good so far on my system. I’m running a GTX 560 TI and getting ~300 fps in these scenes (of course, they’re quite simple). The bloom/dirty lens effect only takes about the cost of running two stacked default Unity bloom shaders, which is what I had been using previously to try to get a nice looking bloom (sometimes it would take three or four). The light attenuation and physically based shading probably isn’t even worth measuring since it’s basically already using available systems, just slightly differently. Of course, I am not aiming these effects for mobile, so no word on that.

Just another shot here with a dry concrete material applied instead.

Here’s an example of the dynamic range capable with this effect. Objects that are not many times brighter than the surrounding objects will not cause false bloom. So, you can go JJ Abrams style if you’d like, but you’re not bound to it.

Once again, looks great. Would love to be able to use these myself. :slight_smile:
Is it just a custom shader + bloom + tonemapping, or are there other stuff thrown in as well? Is the reflection mentioned in the OP part of the shader, or is it something else? I’m also curious: why does stacking default bloom effects have a better look?

Love it, can’t wait to see more of it. Or use it in my own projects, for that matter. :smile:

Hey guys, for those of you who are interested in this effect, I’ve just uploaded a live demo I put together in this thread here: http://forum.unity3d.com/threads/241440-Natural-Bloom-and-Dirty-Lens-Live-Demo?p=1599231#post1599231

God, this is amazing.
Are you a wizard by any chance?

INSANE… Love it… I wonder if these lights will work with Alloy… It looks INSANELY real

this looks gorgeous. Really love the lighting.

Stunning is not even the right word for this :slight_smile:

Is this coming to the asset store or is for internal use only ? It would be an instant buy if it did for sure.

Amazing work

good news - it will be on the asset store :slight_smile: and soon too :smile: