• 资料
  • 相关概念
    • LDR
      • LDR = Low Dynamic Range
        • 8位精度
          • 对于8位精度的补充:8位 = 28= 256(0~255)
        • 单通道0-1
        • 常用LDR图片存储的格式有jpg/png等
        • 常用DCC工具中的拾色器、一般的图片、电脑屏幕都是LDR
          • 例如拾色器中0-255(256)
        • 因为不同的厂家生产的屏幕亮度(物理)实际上是不统一的,那么我们在说LDR时,它是一个0到1范围的值,对应到不同的屏幕上就是匹配当前屏幕的最低亮度(0)和最高亮度(1)
    • 动态范围
      • Dynamic Range(动态范围)=最高亮度/最低亮度
    • ToneMapping
      • 将超高的动态范围(HDR)转换到我们日常显示的屏幕上的低动态范围(LDR)的过程
  • HDR的作用
    • LDR只能将现实中的颜色压缩再呈现出来,HDR可以有更好的色彩,更高的动态范围和更丰富的细节。
    • 可以有效防止画面过曝,超过1的亮度值的色彩也能很好地表现,像素光亮度变得很正常,视觉传达更真实
    • HDR才有超过1的数值,才会有光晕(bloom)效果,高质量的bloom效果能体现出画面的渲染品质
  • Unity中的HDR
    • 1.Camera中的HDR设置
      • 开启的话,会将场景渲染为HDR图像缓冲区
      • 下一步进行屏幕后处理:
      • Bloom和ToneMapping
        • 在ToneMapping过程中,会把HDR转换为LDR
        • LDR的图像会发送给显示器
    • 2.Lightmap的HDR设置
      •  
        • 选择High Quality将启用HDR光照贴图的支持,选择Normal Quality将切换为使用RGBM编码
        • RGBM编码:将颜色存储在RGB通道中,将乘数(M)存储在Alpha通道中
    • 3.拾色器的HDR设置
      •  
        • 如果将Property的颜色参数的前边加上[HDR]就会将其标识为HDR
      •  
        • 颜色设置为HDR,那么拾色器中就会出现一个Intensity的滑条用来调整强度
        • 滑条每增加1,提供的光强度增加一倍。
    • 4.HDR的优点、缺点
      • 优点
        • 画面中亮度超过1的部分不会被截掉,增加了亮部的细节,减少了曝光
        • 减少画面暗部的色阶感
        • 更好的支持bloom效果
      • 缺点
        • 渲染速度慢,需要更多显存
        • 不支持硬件抗锯齿
        • 部分低端手机不支持
  • HDR与Bloom
    • Bloom的作用
      • Bloom用来表现光晕的效果
    • Bloom实现过程
      • 渲染出原图
      • 计算超过某个阈值的高光像素
      • 对高光的像素进行高斯模糊
      • 然后叠加光晕、成图
  • HDR与ToneMapping
    • ToneMapping的概念:
      • 想要在显示器上表现更高动态范围的颜色,就要把HDR转换为LDR(这个过程就是ToneMapping),这种映射关系就是色调映射。
      •  
        • 但这并不符合我们对真实世界的理解,因此,基本上所有的映射最后都是通过一个s曲线来实现。
      • ACES曲线
        • 定义
          • Academy Color Encording System学院颜色编码系统是最流行、最被广泛使用的ToneMapping映射曲线
          • 效果:对比度提高,能很好的保留暗部和亮部的细节
        • 其他类型的ToneMapping曲线
  • LUT(Lookup Table)
    • 定义
      • 滤镜,通过LUT,你可以将一组RGB值输出为另一组RGB值,从而改变画面的曝光与色彩
      • 和ToneMapping不同,LUT是在LDR之间做变化。 而ToneMapping是对HDR做变换的。
    • 格式有如下几种
      •  
        • 调整RGB三通道的LUT被称为3D LUT
Logo

分享前沿Unity技术干货和开发经验,精彩的Unity活动和社区相关信息

更多推荐