Version: 6000.3
语言: 中文
Unity 中的线性色彩空间简介
线性纹理

线性色彩空间中的伽玛纹理

Unity 编辑器允许您使用传统的伽玛色彩空间以及线性色彩空间。您可以在线性色彩空间中工作,即使您的纹理渲染游戏对象、精灵或 UI 元素时使用的图像。纹理通常应用于网格表面,以赋予其视觉细节。更多信息
请参阅术语表
位于伽马色彩空间中。

注意:如果你的纹理处于线性色彩空间中,则需要禁用sRGB采样。有关更多信息,请参阅有关线性纹理的文档。

线性渲染为渲染的场景场景包含游戏的环境和菜单。将每个唯一的场景文件视为一个独特的关卡。在每个场景中,你放置你的环境、障碍物和装饰品,基本上是将你的游戏设计和构建成碎片。更多信息
请参阅术语表
.当您创作的项目在伽玛空间中渲染时看起来不错时,当您更改为线性渲染时,它不太可能看起来很棒。因此,如果您从 Gamma 渲染转向线性渲染,则可能需要一些时间来调整项目,使其看起来和以前一样好。然而,该开关最终可以实现更一致和逼真的渲染,因此可能值得花时间在上面。你可能需要调整纹理、材质和光源。

光照贴图

中的光照计算lightmapper:Unity 中的一种工具,可根据场景中光源和几何体的排列来烘焙光照贴图。更多信息
请参阅术语表
始终在线性空间中完成(有关更多信息,请参阅色彩空间)。光照贴图始终存储在伽马空间中。这意味着lightmap:预渲染的纹理,包含光源对场景中静态对象的效果。光照贴图覆盖在场景几何体之上,以创建光照效果。更多信息
请参阅术语表
无论您是在伽玛色空间还是线性色彩空间中,纹理都是相同的。

当您处于线性色彩空间中时,纹理采样在对纹理进行采样时会从 gamma 转换为线性空间。当您处于伽玛色彩空间时,不需要转换。因此,当您更改色彩空间设置时,您必须重新烘焙光照贴图:当 Unity 的光照设置为自动烘焙(这是默认设置)时,这会自动发生。

导入光照贴图

Unity 创建的光照贴图 EXR 文件中的数据位于线性空间中。它在导入过程中被转换为伽玛空间。从外部光照贴图引入光照贴图时,在纹理导入器中将光照贴图标记为 纹理类型光照贴图。此设置可确保在导入时绕过 sRGB 采样。

线性支持平台

并非所有平台都支持线性渲染。支持该功能的生成目标包括:

  • Windows、Mac OS X 和 Linux(独立)
  • 人造人
  • iOS系统

当设备不支持线性渲染时,不会回退到 gamma。在这种情况下,玩家退出。您可以通过查看 QualitySettings.activeColorSpace 从脚本中检查活动色彩空间。

在 Android 上,线性渲染至少需要 OpenGL ES 3.0 图形 API 和 Android 4.3。

在 iOS 上,线性渲染需要 Metal 图形 API。

在 Web 上,线性渲染至少需要WebGL一种在 Web 浏览器中呈现 2D 和 3D 图形的 JavaScript API。Unity Web 构建选项允许 Unity 将内容发布为 JavaScript 程序,这些程序使用 HTML5 技术和 WebGL 渲染 API 在 Web 浏览器中运行 Unity 内容。更多信息
请参阅术语表
2.0 图形 API。

在满足最低要求之前,编辑器会阻止你构建播放器并显示通知。这是为了避免游戏在部署到数字商店的用户设备上呈现不正确。

Unity 编辑器可防止为渲染不正确的游戏构建播放器
Unity 编辑器可防止为渲染不正确的游戏构建播放器

线性色彩空间和 HDR

使用时HDR高动态范围
请参阅术语表
,则在线性空间中执行渲染到浮点缓冲区中。这些缓冲区具有足够的精度,无需在访问缓冲区时与 gamma 空间进行转换。这意味着在线性模式下渲染时,您使用的帧缓冲区将颜色存储在线性空间中。因此,所有混合和后期处理效果都是在线性空间中隐式执行的。写入最终后台缓冲区时,将应用伽玛校正。

线性色彩空间和非 HDR

当启用线性色彩空间且未启用 HDR 时,将使用支持 sRGB 读取和 sRGB 写入的特殊帧缓冲区类型(读取时从 gamma 转换为线性,写入时从线性转换为 gamma)。当此帧缓冲区用于混合或绑定为纹理时,这些值在使用之前会转换为线性空间。写入这些缓冲区时,正在写入的值将从线性空间转换为伽玛空间。如果在线性模式和非HDR模式下渲染,则所有后期处理效果都会在启用sRGB读写的情况下创建其源缓冲区和目标缓冲区,以便后处理在图像出现在屏幕上之前通过应用滤镜和效果来改善产品视觉效果的过程。你可以使用后期处理效果来模拟物理摄像机和胶片属性,例如泛光和景深。更多信息 后处理, 后处理, 后处理
术语表中查看
后期处理混合发生在线性空间中。


  • 2017–06–19 页面已修订

  • 2017.2 中添加了 Web 的线性渲染NewIn20172

Unity 中的线性色彩空间简介
线性纹理