Bird
Raised Fist0
Unityframework~30 mins

Bloom and color grading in Unity - Mini Project: Build & Apply

Choose your learning style10 modes available
Bloom and Color Grading in Unity
📖 Scenario: You are creating a simple Unity scene where you want to enhance the visual look by adding bloom and color grading effects. These effects will make the scene look more vibrant and visually appealing, similar to how photos are edited to look brighter and more colorful.
🎯 Goal: Learn how to set up a Post Processing Volume in Unity and apply bloom and color grading effects using the Post Processing Stack. You will create a volume, configure bloom intensity, and adjust color grading to change the scene's mood.
📋 What You'll Learn
Create a Post Processing Volume in the scene
Add and configure a Bloom effect with intensity 5
Add and configure a Color Grading effect with increased saturation
Print confirmation messages after setting up each effect
💡 Why This Matters
🌍 Real World
Game developers use bloom and color grading to improve the visual quality and mood of their games, making scenes more immersive and attractive.
💼 Career
Understanding post processing effects is important for roles like Unity developer, game artist, and technical artist to create polished and professional game visuals.
Progress0 / 4 steps
1
Create a Post Processing Volume
Create a PostProcessVolume variable called postProcessVolume and assign it by adding a PostProcessVolume component to the current GameObject.
Unity
Hint

Use gameObject.AddComponent<PostProcessVolume>() to add the component and assign it to postProcessVolume.

2
Configure Bloom Effect
Create a Bloom variable called bloom, instantiate it, set its intensity to 5f, and add it to a new PostProcessProfile assigned to postProcessVolume.profile. Also, set postProcessVolume.isGlobal to true.
Unity
Hint

Create a new PostProcessProfile, add the bloom effect to it, and assign it to the volume's profile.

3
Add Color Grading Effect
Create a ColorGrading variable called colorGrading, instantiate it, set its saturation to 20f, and add it to the existing postProcessVolume.profile.
Unity
Hint

Instantiate ColorGrading, set saturation, and add it to the profile.

4
Print Confirmation Messages
Add two Debug.Log statements inside Start(): one printing "Bloom effect set with intensity 5" after setting bloom, and another printing "Color grading set with saturation 20" after setting color grading.
Unity
Hint

Use Debug.Log to print messages after setting each effect.

Practice

(1/5)
1. What does the Bloom effect do in Unity's post-processing?
easy
A. Adds a soft glow to bright areas to make lights look natural
B. Changes the color saturation of the entire scene
C. Sharpens the edges of objects in the scene
D. Removes shadows from the scene

Solution

  1. Step 1: Understand Bloom effect purpose

    Bloom adds a glow effect around bright parts of the image to simulate light scattering.
  2. Step 2: Compare options to Bloom definition

    Only Adds a soft glow to bright areas to make lights look natural describes adding a soft glow to bright areas, matching Bloom's function.
  3. Final Answer:

    Adds a soft glow to bright areas to make lights look natural -> Option A
  4. Quick Check:

    Bloom = Soft glow on bright areas [OK]
Hint: Bloom = glow around bright lights, not color changes [OK]
Common Mistakes:
  • Confusing Bloom with color grading
  • Thinking Bloom sharpens edges
  • Assuming Bloom removes shadows
2. Which of the following is the correct way to enable Bloom in a Unity Volume component via script?
easy
A. volume.profile.Enable<Bloom>();
B. volume.profile.TryGet<Bloom>(out Bloom bloom); bloom.active = true;
C. volume.profile.SetActive<Bloom>(true);
D. volume.profile.GetComponent<Bloom>().enabled = true;

Solution

  1. Step 1: Recall Unity Volume API for post-processing

    To access and enable Bloom, use TryGet to get the Bloom component and set its active property.
  2. Step 2: Analyze each option's syntax

    volume.profile.TryGet<Bloom>(out Bloom bloom); bloom.active = true; uses TryGet and sets bloom.active = true, which is correct. Others use invalid or non-existent methods.
  3. Final Answer:

    volume.profile.TryGet<Bloom>(out Bloom bloom); bloom.active = true; -> Option B
  4. Quick Check:

    Use TryGet and set active true [OK]
Hint: Use TryGet to access and activate Bloom in Volume profile [OK]
Common Mistakes:
  • Using GetComponent instead of TryGet
  • Calling non-existent Enable or SetActive methods
  • Setting enabled instead of active property
3. Given this code snippet in Unity, what will be the effect on the scene's color grading?
var volume = GetComponent<Volume>();
if (volume.profile.TryGet<ColorAdjustments>(out var colorAdjust)) {
    colorAdjust.saturation.value = -100f;
    colorAdjust.contrast.value = 50f;
}
medium
A. The scene colors become fully desaturated with increased contrast
B. The scene colors become more saturated and less contrasty
C. The scene brightness increases but colors stay the same
D. No change happens because values are invalid

Solution

  1. Step 1: Understand colorAdjust properties set

    Saturation is set to -100, which means no color (black and white). Contrast is increased to 50, making differences stronger.
  2. Step 2: Predict visual effect on scene

    The scene will look grayscale with stronger contrast between light and dark areas.
  3. Final Answer:

    The scene colors become fully desaturated with increased contrast -> Option A
  4. Quick Check:

    Saturation -100 + Contrast 50 = grayscale + strong contrast [OK]
Hint: Negative saturation means grayscale; contrast >0 means stronger contrast [OK]
Common Mistakes:
  • Thinking negative saturation increases color
  • Confusing contrast with brightness
  • Assuming no effect from these values
4. You wrote this code to enable Bloom but it doesn't show any effect:
var volume = GetComponent<Volume>();
if (volume.profile.TryGet<Bloom>(out var bloom)) {
    bloom.enabled.value = true;
}
What is the likely problem?
medium
A. You need to set bloom.intensity.value to a positive number
B. TryGet is incorrect; use GetComponent instead
C. Bloom effect must be added to the camera, not the volume
D. You should set bloom.active = true, not bloom.enabled.value

Solution

  1. Step 1: Check how Bloom is enabled

    Bloom is enabled by setting bloom.active = true (Bloom has no 'enabled' property).
  2. Step 2: Identify missing or wrong property

    The code sets non-existent bloom.enabled.value, so Bloom is not enabled (compile error).
  3. Step 3: Understand correct fix

    Use bloom.active = true instead, as stated in You should set bloom.active = true, not bloom.enabled.value. (Also ensure intensity > 0 for visibility.)
  4. Final Answer:

    You should set bloom.active = true, not bloom.enabled.value -> Option D
  5. Quick Check:

    Bloom uses active, not enabled [OK]
Hint: Use bloom.active = true, not enabled.value [OK]
Common Mistakes:
  • Not setting intensity value
  • Confusing enabled with active property
  • Trying to add bloom to camera instead of volume
5. You want to create a night scene with a blue tint and soft glowing street lights using Unity's Volume system. Which combination of settings achieves this best?
hard
A. Set Color Adjustments temperature to 50, saturation to 50; disable Bloom
B. Set Color Adjustments contrast to 100; enable Bloom with intensity 0
C. Set Color Adjustments temperature to -50, saturation to -20; enable Bloom with intensity 1.5
D. Set Color Adjustments exposure to 5; disable Bloom

Solution

  1. Step 1: Choose color adjustments for blue tint and mood

    Lower temperature (negative) adds blue tint; slight desaturation (-20) softens colors for night mood.
  2. Step 2: Enable Bloom for glowing street lights

    Bloom intensity 1.5 adds soft glow around bright lights, perfect for street lamps.
  3. Step 3: Evaluate other options

    Set Color Adjustments temperature to 50, saturation to 50; disable Bloom warms colors (wrong for night), disables bloom; C sets bloom intensity 0 (no glow); D overexposes scene and disables bloom.
  4. Final Answer:

    Set Color Adjustments temperature to -50, saturation to -20; enable Bloom with intensity 1.5 -> Option C
  5. Quick Check:

    Blue tint + bloom glow = night scene effect [OK]
Hint: Blue tint = negative temperature; bloom intensity > 0 for glow [OK]
Common Mistakes:
  • Using positive temperature for blue tint
  • Setting bloom intensity to zero
  • Overexposing scene for night effect
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard