Version: 2020.3
采用线性渲染的伽马纹理
高动态范围

使用线性纹理

当纹理处于伽马颜色空间时,sRGB 采样允许 Unity Editor 在线性颜色空间中渲染着色器。当您选择使用线性颜色空间时,Editor 默认使用 sRGB 采样。如果纹理处于线性颜色空间,则需要使用线性颜色空间并为每个纹理禁用 sRGB 采样。要了解如何执行此操作,请参阅以下的禁用 sRGB 采样

如需进一步阅读这方面的信息,请参阅以下相关文档:

旧版 GUI

旧版 GUI 系统元素的渲染始终在伽马空间中完成。这意味着,对于旧版 GUI 系统,__Texture Type__ 设置为 Editor GUI and Legacy GUI 的纹理在导入时不会移除其伽马校正。

线性创作的纹理

同样重要的是,如果查找纹理、遮罩和其他纹理存在有特殊意义且未应用伽马校正的 RGB 值,则必须绕过 sRGB 采样。这样可以防止被采样纹理的值在用于着色器之前删除不存在的伽马校正,确保使用磁盘上存储的原始值进行计算。Unity 假设 GUI 纹理和法线贴图纹理都是在线性空间中创作的。

禁用 sRGB 采样

为确保将纹理作为线性颜色空间图像导入,请在纹理的 Inspector 窗口中执行以下操作:

  • 为纹理的预期用途选择适当的 Texture Type

  • 取消选中 sRGB (Color Texture)(如果显示了此选项)。

纹理的 Inspector 窗口。注意已取消选中 sRGB (Color Texture) 的设置。这样做可确保将纹理作为线性颜色空间图像导入
纹理的 Inspector 窗口。注意已取消选中 sRGB (Color Texture) 的设置。这样做可确保将纹理作为线性颜色空间图像导入
采用线性渲染的伽马纹理
高动态范围