Unity Free Bloom

Current Version: 2.0

Hello! I am a single working developer that recently got the idea that Unity Free needs some bloom post process action. So I started up a project that solves this.

The way it works is the camera sends out a number of rays (The number depends on how high quality the bloom is set to be) and detects if it hit nothing (Sky), a normal object (No bloom), or a bloom object (Glowing game object).
If the ray for pixel 1 hits nothing, then it renders that pixel as the sky color which is defined in the inspector. If it hits a normal object, then it’s rendered as black, or nothing in other words. If it hits a bloom object, (An object with the Bloom Object component attached) then it renders that pixel as the color defined in that objects Bloom Object component. Brightness is also an option. After that texture is finished being processed, it’s blurred by a number (In pixels) also set in the inspector.

Light Shafts:

Bloom:

All of it is right here:
https://dl.dropbox.com/u/99046525/PostProcesses2.0.unitypackage

Let me know what you think and what other features you guys would like in this! Note that this isn’t only going to be bloom. I’m probably going to add DOF as well if I can.

If you ask me to make a post process effect, make sure it’s one that doesn’t require sharp images (Twirl, Fish Eye, Color Correction, etc). DOF will probably just use an alpha map to blend the original scene with the blurred texture. Thanks!

NOTE: The effects only takes place once the game is running.
NOTE 2: Using a quality level over 150 is usually not acceptable. For blooming, you could easily get away with a quality of 40.

4 Likes

Actually looks really nice! Look forward to seeing updates.

Indeed, it does. Tagging this to keep an eye on it.

When I clicked the second png link, I was amazed!

1 Like

Thanks you guys!

@HyeMyNamels

“On the 7th Day God Clicked Render”. I love that line quite a lot! xD

1 Like

Yeah I read that somewhere awhile back, just trying to keep it alive.

this looks quite cool, never thought you could use rays like this, so basically you are sending out for example 256 x 256 rays ? making a total of 65 536 rays?
Thats alot of rays, how does it affect performance.

(sorry havent downloaded the package yet, dont have that much time)
anyway nice to see such a cool thing :slight_smile:
You could also do some oldschool realtime shadows :slight_smile: rendered to a projector :wink: did this kind of stuf back in blitz3d :smile:
Also about dof, i’m not sure because you need to get access to depth values, tho you could render the color depending on how far the object is in a range of 256 tones, and then apply the blurrines depending to the tone you are in :slight_smile:

A lot actually. Just tried it. It looks good, but is way too expensive to use it an a game the way it is right now,

1 Like

Looks cool! For a second there I was hoping you might have found a way to make a “performance free” bloom effect :stuck_out_tongue:

A man can dream, though. A man can dream!

1 Like

well in theory you can make it faster :slight_smile: cuting down the rays 2x with a rectangular section and blending through the missing ones, should give a extra performance boost…

Edit: by rectangular i ment like

010
101
010
1 Like

How high are you setting the quality values? I can set it to 0.02 or 0.03 with 2 or 3 blur iterations and works fine on a 1360x760 screen maximized. I disabled it with nearly no difference in speed at all to see how much it changed. (And the scene I tested it in was filled with Mesh Colliders and Bloom Objects).

Keep in mind that a Quality value of 0.3 is really over doing it. The default was set to 0.05.
Also, the size of the texture adapts to fit the screen better, so bigger screens makes for a larger amount of rays. I’ll be working on making a way to get around that soon.

Thanks for your responses!

Haha, you’re right. I don’t know what I did wrong earier. It works pretty good right now.

@primaerfunktion

Okay, good! After posting my last reply to the thread, I was worried my computer was much more powerful compared to normal PCs and laptops.

The problem is the resolution. Both Screenshots have the same Settings: Quality is 0.03 and Blur Iterations are 2. This small change of resolution has a huge impact on performance.

Bloom + DOF and i would be happy to pay/donate for such an asset for UFree!
Is chromatic aberration possible in your opinion?

One thing is that the larger one is a little more then 2 times larger compared to the smaller one. That means it’s casting 2 times more rays. But I’m making changes so that it has a limit to how large it can go, and still keep the same aspect ratio.

On the unrelated matter: I noticed that you have a lot of draw calls in your scene. I think you should try to find a way to cull out objects that aren’t visible. ; )

@nukeD

Not completely sure. It’s a possibility. I’ll see what I can do!
Is that scene a UFree scene you made? Looks nice!

Just finished version 1.01! It now has an option for brightness in the main bloom component, which has a more direct approach to brightening. I also fixed primaer’s complaint where more rays are cast on larger screen sizes.

Keep those updates coming, when devs are on top of their creations, it shows the community and myself that the dev(s) are on top of it.

This is much better.