In this article I would like to talk about post-processing in Unity game engine and show my best practice results. Post-processing is the process of applying full-screen filters and effects to a camera’s image buffer before it is displayed to screen. In general it is the same as applying filters to a photo camera but in Unity you can apply awesome image effects.
First of all this is my test scene without any post-processing. As you can see the quality of graphics is really far away from next-gen:
Ok let’s go ahead and apply anti-aliasing first. As the name implies, anti-aliasing strives to reduce aliasing as much as possible by a variety of techniques. You can use fast approximate anti-aliasing (FXAA) technology or temporal anti-aliasing (TAA) technology from Unity Post-Processing Stack. Both these technologies have their pluses and minuses. But if you want to squeeze maximum image quality I can recommend you to use cinematic temporal anti-aliasing (CTAA) technology ->>> asset store link.
It’s a bit pricey but you really can get nice looking anti-aliasing with tons of parameters. The quality boost is astonishing without too high cost in frame rate. Here is my result with CTAA:
Next step is tone mapping and color grading. This is the process of altering or correcting the color and luminance of the final image. The new Unity Post-Processing Stack has good color grading as well as tone mapping but again if you want to get best possible image quality you need to pay for it. I recommend to use Amplify Color asset ->>> asset store link.
This asset was recommended to me by a very skilled game developer and he did not mislead me. When you start to play with it you can achieve something like this:
Now the graphics looks much better but is a bit flat. So the next step is the screen space ambient occlusion (SSAO). SSAO is a computer graphics technique for efficiently approximating the ambient occlusion effect in real time. Basically it is another post-processing layer we can use to make objects actually connect to the world and add real depth to scenes with minimal effort. Ground truth ambient occlusion (GTAO) is an improved version of SSAO and it can produce quality and accuracy closer to traditional raytracing. Amplify Occlusion asset ->>> asset store link – the tool you need for that.
This solution offers massive quality improvements to occlusion. The controls are comprehensive and performance is stellar. Here is my result:
And the last but not least important step is to add a bit of life to the scene. Let’s add some bloom. Blooming is the optical effect where light from a bright source (such as a glint) appears to leak into surrounding objects. With this effect applied graphics looks more natural. I recommend you to use Amplify Bloom asset ->>> asset store link.
It is just the best bloom available for Unity game engine. Easy to use, a lot of settings, great performance, you can't be wrong with this bloom plugin. Here is my final result:
Of cause with more fine adjustments and more time a better looking result can be achieved, but when you compare the final image with the first one you can really see the difference. So this is how important post-processing is in today’s game development. If you have something to add, please write a comment.