# 曝光效果

明亮的光源和区域经常很难向观察者表达出来,因为监视器的亮度范围是有限的。一种区分明亮光源的方式是使它们在监视器上发出光芒,光源的光芒向四周发散。这样观察者就会产生光源或亮区的确是强光区。(注:这个问题的提出简单来说是为了解决这样的问题:例如有一张在阳光下的白纸,白纸在监视器上显示出是出白色,而前方的太阳也是纯白色的,所以基本上白纸和太阳就是一样的了,给太阳加一个光晕,这样太阳看起来似乎就比白纸更亮了)。
光晕效果可以使用一个后处理特效泛光来实现。泛光使所有明亮区域产生光晕效果。下面是一个使用了和没有使用光晕的对比(图片生成自虚幻引擎): avatar

# 添加效果

通过BloomEffect实现曝光效果。

import { BloomEffect, PostprocessingRenderPipeline } from '@tx3d/postprocessing';

// 获取场景渲染器
const { sceneRenderer } = engine;

// 获取后处理渲染管线
const renderPipeline = sceneRenderer.renderPipeline as PostprocessingRenderPipeline;

// 创建曝光后处理效果
const bloomEffect = new BloomEffect( {

    intensity: 0.5,
    radius: 0.35,
    luminanceThreshold: 0.0,
    luminanceSmoothing: 0.025,

} );

// 添加到渲染管线
renderPipeline.addEffect( bloomEffect );
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

提示

该效果为 postprocessing 库的内置效果,详细的初始化&属性介绍请参考:BloomEffect

Last Updated: 10/20/2025, 4:51:00 PM