3d游戏开发特性名词_Bloom

Bloom(辉光)是游戏开发中最常用的后处理效果之一。它模拟了摄像机镜头或人类眼睛在直视强光时的光学散射现象,让原本只是“亮白色”的像素点看起来真的在向外“发光”。

1. Bloom 的核心原理

Bloom 的实现过程可以简单理解为“提取—模糊—叠加”三个步骤:
1.1 亮度提取 (Thresholding)
程序会检查屏幕上所有像素的亮度。只有超过特定阈值(Threshold)的像素才会被提取出来。

  • 非 HDR 模式: 亮度范围是 0 到 1。
  • HDR 模式(推荐): 亮度可以远超 1。这能更精准地识别太阳、激光或爆炸等真实高亮区域,而不至于让白色的墙壁也跟着发光。
    1.2 降采样与模糊 (Downsampling & Blurring)
    为了让光晕看起来柔和且覆盖范围广,我们需要对提取出的高亮部分进行模糊。
  • 降采样: 为了性能和模糊范围,通常会将图片缩小几倍。
  • 多级模糊: 现代做法(如 Unity URP)通常采用 高斯模糊 (Gaussian Blur) 或 双重滤波 (Dual Filtering)。它会生成一系列不同分辨率的模糊层(金字塔结构),从小到大层层叠加,从而产生从核心到边缘平滑过渡的光晕。
    1.3 混合 (Composition)
    将处理后的模糊光晕图片,以“加色(Additive)”或“屏幕(Screen)”的方式叠加回原始的场景画面上。

2. 在 Unity URP 中实现 Bloom

在 URP 中,Bloom 已经集成在 Volume 系统中,不需要自己写 Shader,只需几个配置步骤:

第一步:开启后处理功能
  • 在 URP Asset 中: 找到你正在使用的 Universal Render Pipeline Asset,确保 HDR 已勾选(非常重要,否则效果很死板)。


    HDR
  • 在 Camera 上: 选中主摄像机,在 Inspector 面板中勾选 Post Processing 开关。


    Post Processing
第二步:创建 Volume
  • 在 Hierarchy 窗口右键:Volume > Global Volume。
  • 在 Volume 组件中,点击 New 创建一个新的 Profile。
  • 点击 Add Override > Post-processing > Bloom。


    Bloom

    夸张效果
第三步:参数调优

开启 Bloom 后,你会看到以下核心参数:

参数 说明 建议
Threshold 阈值。亮度超过多少才开始发光。 若开启了 HDR,建议设为 1.0 左右。
Intensity 强度。光晕的整体亮度。 建议根据氛围微调,不宜过高。
Scatter 扩散。控制光晕向外发散的距离。 值越高,光晕越朦胧。
Tint 色调。给光晕染上一层颜色。 可用于营造夕阳(橙色)或科技感(蓝色)。
Dirt Mask 污渍贴图。模拟镜头上的灰尘。 增加真实感的神器。

3. 进阶技巧:如何让太阳效果更自然?

  • 配合 HDR 材质: 不要单纯通过提高 Bloom 的 Intensity 来增加亮度。你应该在材质的 Base Map 颜色拾取器中,将 Intensity 调高(例如 +2.0),这样只有这个物体会爆亮,而其他物体保持正常。
  • 使用 Lens Flares(镜头光晕): Bloom 解决的是“晕”,而太阳通常还需要“芒”。URP 现在有专门的 Lens Flare (SRP) 组件,可以模拟光线进入镜头的折射。
  • 抗锯齿 (Anti-aliasing): 开启 TAA(时域抗锯齿)可以有效减少高亮像素在移动时的闪烁(Fireflies)。

避坑指南: > 如果你发现屏幕变得雾蒙蒙的,通常是因为 Threshold 设得太低,导致中等亮度的区域也参与了发光。尝试调高 Threshold,只让最亮的点闪耀。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容