Full source-code for Amplify Occlusion plugin for Unity
While this package is provided, as is, for free, we develop and maintain professionally created solutions used by thousands of developers. We invite you to check our current projects, and to join our growing Discord Community.
Amplify Shader Editor - Award-winning node-based shader creation tool
Amplify Impostors - 1-Click Impostor Creator
Amplify LUT Pack - 200+ LUTs for Amplify Color and Unity PPS
Amplify Occlusion was the first industry-grade, full-featured screen-space ambient occlusion solution to be released on the Asset Store in 2016, at a time when Unity itself lacked a decent SSAO implementation. It managed to remain the fastest SSAO solution for Unity released a built-in implementation of "Multi-scale Volumetric Occlusion" as part of their Post-processing Stack.
The first version of this plugin was using a technique known as HBAO, or "Horizon-Based Ambient Occlusion", based on a 2008 paper titled "Image-Space Horizon-Based Ambient Occlusion" by Louis Bavoil, Miguel Sainz and Rouslan Dimitrov.
The second version, which improved upon the first iteration on both quality and performance was using a technique known as GTAO, or "Ground-Truth Ambient Occlusion", based on a 2016 paper titled "Practical Realtime Strategies for Accurate Indirect Occlusion" by Jorge Jimenez, Xian-Chun Wu, Angelo Pesce and Adrian Jarabo.
This package was for sale on the Unity Asset Store between 2016 and 2019 with an average rating of 5 stars. It is now deprecated and we no longer support it, so we are releasing it to open-source world under the MIT License.
Amplify Occlusion sets out to deliver a new industry standard for fast, high-quality Screen-Space Ambient Occlusion in Unity; delivering state of the art Ground Truth Ambient Occlusion (GTAO) and bringing quality and accuracy closer to traditional raytracing. A true all-in-one package, providing a highly-robust and efficient way to simulate ambient occlusion and contact shadowing. Now you can attenuate reflections in occluded areas, make objects actually connect to the world and add real depth to your scenes with minimal effort.
1) Select and apply “Image Effects/Amplify Occlusion” to your main camera.
2) Adjust the Intensity and Radius.
3) Adjust the blur values until you are satisfied with the results.
Scriptable Render Pipeline How-to
1) Install packages dependencies: Window -> Package Manager, Advanced -> Show preview packages Select and install:
Render-Pipelines.Core Render-Pipelines.High-Definition Render-Pipelines.Lightweight Post Processing
2) Go to "Assets/Import Package/Custom Package..." and select "Assets/AmplifyOcclusion/Packages/PostProcessingSRP_XXX.unitypackage"
3) How to set up an SRP project example:
3.a) Create SRP asset via Assets menu:
Create/Rendering/High Definition Render Pipeline Asset
Create/Rendering/Lightweight Render Pipeline Asset
3.b) Set Edit->ProjectSettings/Player/Other settings/ColorSpace to Linear (necessary for HD SRP)
3.c) Edit->ProjectSettings/Graphics/Scriptable Render Pipeline Settings: select the RenderPipelineAsset created in 3.a)
3.d) On Camera, using Lightweight Render Pipeline, disable MSAA
3.e) Camera->Add Component->Post-Process Layer
3.f) Camera->Post-Process Layer->Layer: Everything (as example)
3.g) Camera->Add Component->Post-Process Volume
3.h) Camera->Post-Process Volume->Is Global: check (as example)
3.i) Camera->Post-Process Volume->Profile: New
3.j) Camera->Post-Process Volume->Add effect... AmplifyCreations->AmplifyOcclusion
Please refer to the following website for an up-to-date online manual:
AO v2.0 was developed by the talented Mário Luzeiro: