色调映射 (Tonemapping)

色调映射 (Tonemapping) 通常可理解为将颜色值从 HDR(高动态范围)映射到 LDR(低动态范围)的过程。在 Unity 中,这对于大多数平台意味着,任意 16 位浮点颜色值会映射到处于 [0,1] 范围内的传统 8 位值。

请注意,仅当使用的相机支持 HDR 时,色调映射 (Tonemapping) 才能正常工作。还建议提供 高于普通强度值的光源以使用更大范围。正如实际情况一样,存在着更加巨大的亮度差异,我们的眼睛或任何捕获媒介只能对特定范围的亮度进行采样。

色调映射 (Tonemapping) 适合与启用 HDR 的高光溢出 (Bloom) 图像效果结合使用。确保在色调映射 (Tonemapping) 之前应用高光溢出 (Bloom),否则会丢失所有高范围。一般而言,可以从较高亮度获益的任何效果都应安排在色调映射器 (Tonemapper) 之前(另一个示例是视野深度 (Depth of Field) 图像效果)。

可通过不同方式将强度映射到 LDR(通过模式 (Mode) 进行选择)。此效果提供 了几种技术,其中有两种是自适应的AdaptiveReinhardAdaptiveReinhardAutoWhite),这表示会在强度变化完全注册时延迟执行颜色变化。相机和人眼都具有此效果。这样可实现有趣的动态效果,如对进入黑暗隧道或从中离开而进入明亮阳光中时发生的自然适应的模拟。

以下两个屏幕截图显示具有不同曝光值的照相色调映射 (Photographic Tonemapping)。请注意如何使用 HDR 相机避免出现条带。



与其他图像效果一样,此效果仅适用于 Unity 专业版,并且必须先安装 Pro Standard Assets 才能使用。

属性

属性:功能:
模式 (Mode)选择所需的色调映射 (Tonemapping) 算法。
曝光 (Exposure)模拟曝光,用于定义实际亮度范围。
平均灰度 (Average grey)定义结果强度的场景平均灰度值。
白色 (White)映射白色的最小值。
适应速度 (Adaption speed)所有自适应色调映射器 (Tonemapper) 的调整速度。
纹理大小 (Texture size)所有自适应色调映射器 (Tonemapper) 的内部纹理大小。较大值可在计算新强度时捕获更多细节,但是性能较低。

硬件支持

该效果需要带像素着色器 (2.0) 或 OpenGL ES 2.0 的显卡。 PC: 自 2003 年后的 NVIDIA 卡 (GeForce FX)、自 2004 年后的 AMD 卡 (Radeon 9500)、自 2005 年后的 Intel 卡 (GMA 900);移动: OpenGL ES 2.0;控制台: Xbox 360、PS3。

将自动禁用所有不被终端用户显卡支持的图像效果。

Page last updated: 2013-06-20