Unity编辑器允许您在传统的伽玛色彩空间以及线性色彩空间中工作。即使在您的纹理渲染GameObject、Sprite或UI元素时使用的图像。纹理常应用于网格表面,以增加其视觉细节。更多信息
在词汇表中查看处于伽玛色彩空间时,您也可以在线性色彩空间中工作。
欲了解更多信息,请参阅有关以下内容的文档:
注意:如果您的纹理处于线性色彩空间,您需要禁用sRGB采样。有关更多信息,请参阅线性纹理的相关文档。
线性渲染会给渲染后的场景包含游戏的环境和菜单。每个独特的场景文件都代表一个独特的级别。在每个场景中,您放置环境、障碍物和装饰,实际上是将游戏拆分设计并构建。更多信息
在词汇表中查看一个不同的外观。当您为一个项目编写以便在伽玛空间渲染时看起来很好,切换到线性渲染时可能看起来不佳。因此,如果您从伽玛渲染切换到线性渲染,可能需要一些时间来调整项目以保持其原有质量。然而,这种转换最终可以使渲染更一致和逼真,所以可能值得花费时间。您可能需要调整纹理、材质和灯光。
光照贴图器Unity中的一个工具,根据您的场景中光源和几何形状的排列烘焙光照贴图。更多信息
在词汇表中查看中的光照计算始终在线性空间中进行(有关更多信息,请参阅色彩空间)。光照贴图始终存储在伽玛空间。这意味着无论是在伽玛还是线性色彩空间中,光照贴图纹理都是相同的。
当您处于线性色彩空间时,在采样纹理时会将纹理采样值从伽玛空间转换为线性空间。当您处于伽玛色彩空间时,不需要进行转换。因此,在更改色彩空间设置时,您必须重新烘焙光照贴图:此操作在Unity的照明设置为自动烘焙(默认值)时自动完成。
Unity创建的EXR格式轻量图文件中的数据位于线性空间。在导入过程中,它们会被转换为gamma空间。当从外部光影贴图器导入轻量图时,请将轻量图标记为《纹理类型》: 光影贴图一种预先渲染的纹理,其中包含了光源对场景中静态物体的效果。光影贴图叠加在场景几何形状上,以产生光照效果。更多信息
在词汇表中查看 在《纹理导入器》中。此设置确保在导入时跳过sRGB采样。
并非所有平台都支持线性渲染。支持该特性的构建目标包括:
当设备不支持线性渲染时,没有回退到gamma。在这种情况下,播放器将退出。您可以通过查看 QualitySettings.activeColorSpace 来检查活动颜色空间。
在Android上,线性渲染至少需要OpenGL ES 3.0图形API和Android 4.3。
在iOS上,线性渲染需要Metal图形API。
在 WebGL一种在浏览器中渲染2D和3D图形的JavaScript API。Unity WebGL构建选项允许Unity将内容发布为使用HTML5技术和WebGL渲染API运行的JavaScript程序。更多信息
在词汇表中查看 上,线性渲染至少需要WebGL 2.0图形API。
在满足最低要求之前,编辑器将阻止您构建播放器并显示通知。这是为了避免将无法正确在用户设备上渲染的游戏部署到数字商店。
当使用 HDR高动态范围
在词汇表中查看 时,渲染是在线性空间中执行到浮点缓冲区中。这些缓冲区具有足够的精度,以在每次访问缓冲区时不需要转换到和从gamma空间。这意味着在线性模式下渲染时,您使用的帧缓冲区存储的颜色在线性空间中。因此,所有混合和后处理效果都是隐式地在线性空间中执行。当将最终的后缓冲区写入时,应用伽玛校正。
当启用线性色彩空间且未启用HDR时,使用一种特殊的帧缓冲区类型,支持sRGB读取和sRGB写入(读取时从伽玛转换为线性,写入时从线性转换为伽玛)。当这种帧缓冲区用于混合或绑定为纹理时,在使用之前将值转换为线性空间。当写入这些缓冲区时,正在写入的值将转换为伽玛空间。如果您在线性模式和非HDR模式下渲染,所有后期处理效果都使用sRGB读取和写入启用创建源和目标缓冲区,以便 后期处理一种在图像出现在屏幕上之前应用过滤器和使用效果的过程,可以改进产品视觉效果。您可以使用后期处理效果来模拟物理照相机和电影属性,例如光晕和景深。 更多信息 后期处理,postprocessing,postprocess
查看术语表 和后期处理混合都在线性空间中。
2017–06–19 页面修订
在 2017.2 添加了针对WebGL的线性渲染 NewIn20172