跳转到内容

色调映射

相关参考:

色调映射用于控制 HDR 到屏幕输出的最终观感,尤其会影响模型高光、对比度和整体风格。

API

js
await api.setToneMapping(api.constants.aces_filmic, 1);

第二个参数是曝光强度,默认值为 1

当前内置常量

api.constants 提供了以下值:

js
api.constants = {
  no: 0,
  linear: 1,
  reinhard: 2,
  cineon: 4,
  aces_filmic: 5,
};

常见选择

no

关闭色调映射。适合做最原始的对照测试。

linear

比较直接、保守。

reinhard

传统且稳定,适合做基础压缩。

cineon

整体更偏胶片风格。

aces_filmic

通常是现代 PBR 场景里较常用的选择,也是很多模型展示里更容易得到“顺眼结果”的一档。

推荐调试方式

  1. 固定灯光
  2. 固定环境贴图
  3. 只切换 tone mapping
  4. 再微调 exposure

这样更容易判断究竟是哪一层参数在影响最终视觉。