High Quality Post-processing effects for Unity. It is compatible with Unity 5.5, Unity 5.6, Unity 2017.1 and Unity 2017.2
Downloads:
Current Version <--
Developement Version
The main goal is to create high quality post-processing effects with only a small performance impact. Tested with Unity 2017.2.0f3.
There are currently 7 different post-processing effects included:
- Ambient Occlusion (AO)
- Stochastic Screen Space Reflections (SSR), Importance Sampled with contact hardening, specular elongation and retro reflections
- Depth of Field (DoF)
- Chromatic Aberration (CA)
- Bloom Effect with energy conservation
- Temporal Anti-Alialising (TAA)
- Color Grading (CG)
Download the newest version here, and import the Package via the menu Assets
→Import Package
→Custom Package...
.
For maximum awesomeness we recommend that you work in Linear + HDR. Some effects will look wired in Gamma or without LDR. Using the Deferred rendering path is also recommended (and required for some effects like Screen Space Reflections and Ambient Occlusion).
To add an effect to your camera, either
- Use the menu
Component
→Cat
→Post Processing
. Or - Use the
Add Component
button in the inspector.Add Component
→Cat
→Post Processing
.
- Intensity: The intensity of the ambient occlusion.
- Sample Count: How many samples should be taken? Try to keep it small.
- Radius: The search radius. Try to keep it small, too.
- Debug On: Visualizes the generated Ambient Occlusion.
For best Results use this effect together with Temporal Anti-Alialising.
Performance comparison, 2Kx2K resolution: | ms / frame |
---|---|
No SSR: | 10.5 - 12.3 ms |
SSR from Unitys Post Processing Stack: | 23.2 - 24.0 ms |
SSSR by cCharkes: | 21.8 - 22.3 ms |
Cat SSR: | 17.0 - 17.8 ms |
RayTracing
- Ray Trace Resol.: The Resolution of the generated hit texture. High Performance Impact!
- Step Count: The maximum amount of steps the ray tracer will take. High Performance Impact!
- Min Pixel Stride: The minimum size of a step im pixels.
- Max Pixel Stride: The maximum size of a step im pixels.
- Cull Back Faces: If selected rays towards camera are ignored. Can Increase performance a lot in indoor scenes
- Max Refl. Distance: The radius around the Player (in meters) in which reflections are calculated. mosly usfull in large outdoor scenes
Reflections
- Reflection Resol.: The Resolution of the generated reflection texture. Medium Performance Impact!
- Intensity: The intensity of the reflections.
- Distance Fade: Controls how soon reflections are faded out, based on distance to the camera.
- Ray Length Fade: Controls how soon reflections are faded out, based on length of ray.
- Screen Edge Fade: Controls how soon reflections are faded out, based on distance from the border of the screen.
- Retro Reflections: Controls whether retro-reflections are used or not. Very low, if any performance impact.
Importance sampling
- Sample Count: Amount of samples per pixel (usually
4
). Medium Performance Impact! - Bias (Spread): Controls how far the samples are spread out. Physically correct is a value of
1
, but that can lead to artifacts - Use Mip Map: Mip Maps have a surprisingly low impact on performance. They can de-noise the Reflections substantially, but the can also lead to some subtle artifacts.
Temporal
- Use Temporal: Temporally de-noises the importance sampled reflections. But this can currently lead to strong artifacts when an object moves in front of a highly reflective background.
- Response: TBD.
- Tolerance Margin: TBD.
Debugging
- Debug On: TBD.
- Debug Mode: TBD.
- Mip Level For Debug: TBD.
- f-Stop f/n: Also: f-number. Describes the size of the aperture. A smaller value means a larger aperture and you get a smaller depth of field. See Wikipedia.
- Focus Distance: The Distance of object in focus (S1). Not to be confused with the focal length f.
- Radius: a value of
5
semms to work pretty well. - Debug On: Shows the Focus Distance in red .
- Intensity: The intensity of the bloom.
- Dirt Intensity: Only effective when a Dirt Texture is selected
- Dirt Texture: The dirt on the lense. (RGB)
- Min Luminance: Minimum luminance required for the bloom to appear.
- Knee Strength:
- Debug On: Visualizes the Bloom only.
- Sharpness: Artificially sharpens the image. High values can look cheap.
- Velocity Scale: Controls how sensitive it reacts when pixels move along the screen.
- Response: Controls how fast a pixel responds to a change of color.
- Tolerance Margin:
- Jitter Matrix: What jitter sequence should be used to shake the camera. (Halton Sequence recomended)
- Halton Seq. Length: The length of the Halton Sequence if selected.
- Exposure: Artificially darkens / brightens the image (post exposure).
- Contrast: Changes the contrast without altering the saturation.
- Saturation: Changes the colorfullness of the image.
Color Correction
- Temperature: Blue / Orange.
- Tint: Lime Green / Pink.
Curves
- BlackPoint: Moves the black point of the image.
- MidPoint: Moves the mid grays of the image.
- WhitePoint: Moves the white point of the image.
- Shadows: Strengthens / weakens the shadows.
- Highlights: Strengthens / weakens the highlights.
Download Cat-Post Processing Effects for Unity