包含此页的版本:
不含此页的版本:
高动态范围 (HDR) 是一种生成比标准动态范围 (SDR) 图像具有更大亮度动态范围的图像的技术,从而可以真实地描绘颜色和亮度。
在标准渲染中,的红色、绿色和蓝色值像素计算机图像中的最小单位。像素大小取决于您的屏幕分辨率。像素光照是在每个屏幕像素下计算的。更多信息
请参阅术语表使用 0 到 1 之间的 8 位值进行存储,其中 0 表示零强度,1 表示显示设备的最大强度。这种有限的值范围并不能准确反映我们在现实生活中感知光的方式,并且当存在非常明亮或非常暗的元素时,会导致图像不切实际。
在HDR高动态范围
请参阅术语表渲染时,像素值使用浮点数存储。这允许更大的值范围,更准确地表示人眼感知颜色和亮度的方式。
在 Unity 中,您可以使用 HDR 图像进行内部渲染计算。此功能称为 HDR 渲染。启用 HDR 渲染后,Unity 会渲染场景场景包含游戏的环境和菜单。将每个唯一的场景文件视为一个独特的关卡。在每个场景中,你放置你的环境、障碍物和装饰品,基本上是将你的游戏设计和构建成碎片。更多信息
请参阅术语表到 HDR 图像缓冲区,并执行渲染作,例如后处理在图像出现在屏幕上之前通过应用滤镜和效果来改善产品视觉效果的过程。你可以使用后期处理效果来模拟物理摄像机和胶片属性,例如泛光和景深。更多信息 后处理, 后处理, 后处理
在术语表中查看效果,使用该 HDR 图像。这意味着计算是使用现实值进行的,这可以带来更真实的结果。
在某些兼容平台上,Unity 支持将该 HDR 图像发送到显示设备。此功能称为 HDR 输出。
HDR 具有多种优点和缺点,您在使用 HDR 之前应考虑这些优点和缺点,以确保它是正确的选择。
HDR 具有以下优势:
HDR 具有以下缺点:
有关 URP 中的 HDR 渲染和 HDR 输出的信息,请参阅 URP 中的 HDR 输出。
有关HDRP中的HDR渲染和HDR输出的信息,请参阅HDRP中的HDR输出。
有关在可编写脚本中支持HDR渲染和HDR输出的任何其他信息渲染管线(Render Pipelines) 获取场景内容并将其显示在屏幕上的一系列作。Unity 允许您从预构建的渲染管道中进行选择,或编写自己的渲染管道。更多信息
请参阅术语表URP 和 HDRP,请参阅渲染管线功能比较。
色调映射是将颜色值从一个范围映射到另一个范围的过程。使用 HDR 时,必须使用色调映射来转换 HDR 图像缓冲区中的颜色,以便这些值在显示设备可以处理的范围内。如果不使用色调映射,则可能会丢失图像中的大部分细节和颜色信息,尤其是在非常明亮的区域。
将 HDR 渲染与 SDR 输出一起使用时,必须使用色调映射将 HDR 图像缓冲区转换为 SDR 图像以进行显示。Unity 提供了色调映射后处理效果,可让您执行此作:Post-Processing Stack V2 包、URP 集成后处理解决方案和 HDRP 集成后处理解决方案都包含色调映射效果。
将 HDR 渲染与 HDR 输出一起使用时,您可以:
创建您自己的色调映射解决方案,将 HDR 图像缓冲区直接转换为兼容的 HDR 格式以进行显示
使用 Unity 的色调映射后处理效果将 HDR 缓冲区转换为 SDR 图像(如上所述),然后使用 Unity 的自动输出色调映射将该 SDR 图像转换为合适的输出格式。有关 Unity 自动输出色调映射的更多详细信息,请参阅 HDROutputSettings.automaticHDRTonemapping 的文档。
2020.1 新增 HDROutputSettings API 20201