Top Related Projects
Post Processing Stack
Unity Graphics - Including Scriptable Render Pipeline
A light shafts (volumetric shadows) effect for Unity.
Unity Post Processing Stack Library | Unity引擎的高品质后处理库
Quick Overview
KinoBloom is a high-quality bloom effect implementation for Unity. It provides a more advanced and customizable bloom effect compared to Unity's built-in post-processing stack, offering improved performance and visual quality.
Pros
- High-quality bloom effect with customizable parameters
- Better performance compared to Unity's built-in bloom effect
- Easy integration with Unity projects
- Supports both forward and deferred rendering paths
Cons
- Requires Unity 2018.3 or later
- May not be compatible with all rendering pipelines (e.g., HDRP)
- Limited documentation and examples
- Potential learning curve for users unfamiliar with post-processing effects
Code Examples
- Adding the Bloom effect to a camera:
using Kino;
public class BloomExample : MonoBehaviour
{
void Start()
{
var bloom = GetComponent<Camera>().gameObject.AddComponent<Bloom>();
bloom.intensity = 1.0f;
bloom.threshold = 0.5f;
}
}
- Adjusting Bloom parameters at runtime:
using Kino;
using UnityEngine;
public class BloomController : MonoBehaviour
{
public Bloom bloom;
void Update()
{
bloom.intensity = Mathf.Sin(Time.time) * 0.5f + 1.0f;
bloom.threshold = Mathf.Cos(Time.time * 0.5f) * 0.25f + 0.5f;
}
}
- Creating a pulsating bloom effect:
using Kino;
using UnityEngine;
public class PulsatingBloom : MonoBehaviour
{
public Bloom bloom;
public float pulseSpeed = 1.0f;
public float minIntensity = 0.5f;
public float maxIntensity = 2.0f;
void Update()
{
float t = Mathf.PingPong(Time.time * pulseSpeed, 1.0f);
bloom.intensity = Mathf.Lerp(minIntensity, maxIntensity, t);
}
}
Getting Started
- Clone or download the KinoBloom repository from GitHub.
- Copy the
Assets/Kino
folder into your Unity project'sAssets
folder. - Add the Bloom component to your camera:
using UnityEngine; using Kino; public class BloomSetup : MonoBehaviour { void Start() { Camera.main.gameObject.AddComponent<Bloom>(); } }
- Adjust the Bloom parameters in the Inspector or via script to achieve the desired effect.
Competitor Comparisons
Post Processing Stack
Pros of PostProcessing
- Comprehensive suite of post-processing effects, including bloom, depth of field, color grading, and more
- Official Unity package with regular updates and support
- Extensive documentation and community resources
Cons of PostProcessing
- Potentially higher performance overhead due to the wide range of effects
- More complex setup and configuration compared to KinoBloom's focused approach
Code Comparison
KinoBloom:
[SerializeField, Range(0, 1)] float _threshold = 0.8f;
[SerializeField, Range(0, 1)] float _softKnee = 0.5f;
[SerializeField, Range(1, 7)] float _radius = 2.5f;
[SerializeField, Range(0, 1)] float _intensity = 0.7f;
PostProcessing:
public FloatParameter threshold = new FloatParameter { value = 0.9f };
public FloatParameter softKnee = new FloatParameter { value = 0.5f };
public FloatParameter clamp = new FloatParameter { value = 65472f };
public FloatParameter diffusion = new FloatParameter { value = 7f };
public FloatParameter anamorphicRatio = new FloatParameter { value = 0f };
Summary
PostProcessing offers a more comprehensive set of post-processing effects with official Unity support, while KinoBloom focuses specifically on bloom effects with a simpler setup. The choice between the two depends on project requirements and performance considerations.
Unity Graphics - Including Scriptable Render Pipeline
Pros of Graphics
- Comprehensive graphics package with multiple rendering features
- Official Unity repository, ensuring long-term support and updates
- Extensive documentation and integration with Unity's ecosystem
Cons of Graphics
- Larger codebase, potentially more complex to navigate and modify
- May include unnecessary features for projects only needing bloom effects
- Steeper learning curve for developers new to Unity's rendering pipeline
Code Comparison
KinoBloom:
[SerializeField, Range(0, 1)] float _threshold = 0.8f;
[SerializeField, Range(0, 1)] float _softKnee = 0.5f;
[SerializeField, Range(1, 7)] float _radius = 2.5f;
[SerializeField] float _intensity = 0.7f;
Graphics:
public class BloomSettings
{
public float threshold;
public float intensity;
public float scatter;
public Color tint;
public bool highQualityFiltering;
}
Summary
KinoBloom is a lightweight, focused bloom effect solution, while Graphics offers a comprehensive package for Unity's rendering needs. KinoBloom may be easier to implement for simple projects, but Graphics provides more extensive features and official support for complex rendering requirements.
A light shafts (volumetric shadows) effect for Unity.
Pros of LightShafts
- Specifically designed for creating volumetric light effects
- Offers more control over light shaft parameters
- Includes options for customizing light color and intensity
Cons of LightShafts
- May have higher performance overhead for complex scenes
- Less frequently updated compared to KinoBloom
- Potentially more challenging to integrate into existing projects
Code Comparison
LightShafts:
public class LightShafts : MonoBehaviour {
public Light sunLight;
public int radialBlurIterations = 2;
public float sunShaftBlurRadius = 2.5f;
public float sunShaftIntensity = 1.15f;
public float maxRadius = 0.75f;
}
KinoBloom:
public class Bloom : MonoBehaviour {
public float threshold = 0.8f;
public float intensity = 1f;
public float softKnee = 0.5f;
public float radius = 2.5f;
public bool antiFlicker = false;
}
Both repositories offer image post-processing effects for Unity, but they focus on different aspects. LightShafts specializes in creating volumetric lighting effects, while KinoBloom provides a more general-purpose bloom effect. The code snippets show that LightShafts offers more specific parameters for light shaft customization, whereas KinoBloom provides options for fine-tuning the overall bloom effect.
Unity Post Processing Stack Library | Unity引擎的高品质后处理库
Pros of X-PostProcessing-Library
- Offers a wider range of post-processing effects beyond just bloom
- Provides more customization options for each effect
- Includes performance optimization techniques for better efficiency
Cons of X-PostProcessing-Library
- May have a steeper learning curve due to its extensive feature set
- Potentially higher performance overhead when using multiple effects
- Less focused on a single effect, which might impact bloom quality
Code Comparison
KinoBloom:
public float threshold = 0.8f;
public float softKnee = 0.5f;
public float radius = 2.5f;
public float intensity = 0.7f;
X-PostProcessing-Library:
public float threshold = 1.0f;
public float intensity = 1.0f;
public float softKnee = 0.5f;
public float diffusion = 7.0f;
public float anamorphicRatio = 0.0f;
Both libraries use similar parameters for bloom effects, but X-PostProcessing-Library includes additional options like anamorphic ratio for more advanced bloom customization. KinoBloom focuses on simplicity and ease of use, while X-PostProcessing-Library offers more flexibility at the cost of increased complexity.
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
KinoBloom
Bloom is an image effect for Unity that adds bloom/veiling glare effect to rendered frames.
System Requirements
Unity 5.5 or later versions.
Installation
Download one of the unitypackage files from the Releases page and import it to a project.
Effect Properties
-
Threshold - Filters out pixels under this level of brightness. This value should be given in the gamma space (as used in the color picker).
-
Soft Knee - Makes transition between under/over-threshold gradual (0 = hard threshold, 1 = soft threshold).
-
Intensity - Total intensity of the effect.
-
Radius - Controls the extent of veiling effects. The value is not related to screen size and can be controlled in a resolution-independent fashion.
-
High Quality - Controls the filter quality and the buffer resolution. On mobile platforms, it might strongly affect the performance of the effect, therefore itâs recommended to be unchecked when running on mobile devices.
-
Anti Flicker - Sometimes the effect introduces strong flickers (flashing noise). This option is used to suppress them with a noise reduction filter.
License
Top Related Projects
Post Processing Stack
Unity Graphics - Including Scriptable Render Pipeline
A light shafts (volumetric shadows) effect for Unity.
Unity Post Processing Stack Library | Unity引擎的高品质后处理库
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot