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 the screen. In general, it is the same as applying filters to a photo camera, but in Unity you can apply awesome image effects.
Foremost, 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.
Here is my result:
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 if you want to get the best possible image quality 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 ray tracing. 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 the 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.
Here is my final result:
Of course 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.