编辑颜色空间指定规则

OpenColorIO 颜色空间指定规则会根据文件名或路径中的字符串模式为输入图像文件自动指定初始颜色空间。您可以根据常用的颜色空间和文件命名约定编辑这些规则。将基于图像的纹理从指定输入空间转换到渲染空间,以进行明暗处理计算。当指定图像用作场景中的纹理时,如果自动指定的颜色空间不正确,则随时可以手动指定其颜色空间。

可以在颜色管理设置的“输入图像文件”区域中编辑规则。仅当使用基于 OCIO 的颜色管理模式时,这些规则才可用。有三种类型的规则:
  • 基本规则使用全局语法来匹配文件完整路径和名称中的模式,和/或其扩展名中的模式。这些规则易于理解和创建,但缺乏灵活性 - 例如,匹配 .jpg.jpeg 扩展名就需要使用两个单独的规则。
  • 正则表达式规则使用正则表达式来匹配文件完整名称中任意位置的模式,包括其路径和扩展名。如果您熟悉正则表达式,此方式还便于使用其他功能。
  • “默认”规则无法移动或删除,但您可以更改其指定的颜色空间。在没有其他规则匹配的情况下,始终最后应用“默认”规则。在 3ds Max 的默认配置中,该规则将图像指定给具有“默认”角色的颜色空间(在默认配置下为 sRGB)。
  1. 在表格单元中双击可更改规则的“名称”、“模式”、“扩展名”、“正则表达式”字符串及其指定的“颜色空间”。可以使用基本规则或基于正则表达式的规则,但不能同时使用两者 - 如果设置“模式”或“扩展名”,则“正则表达式”列将自动清除,反之亦然。
  2. 拖动表标题中的垂直分隔符可调整列的大小。
  3. 如果活动 OCIO 配置文件中存储的规则已修改,可以单击“重置为 OCIO 配置”放弃所有修改。
  4. 单击“添加新规则”可在表格顶部添加另一行新规则。
  5. 设置“区分大小写匹配”,以控制在匹配文件名时是否将“模式”和“正则表达式”字符串视为区分大小写。“扩展名”字符串不区分大小写,除非包含全局标记 - 例如,[e][x][r] 与“exr”匹配,但与“EXR”不匹配。
  6. 拖动行左侧的夹钳可对规则重新排序。按从上到下的顺序对规则进行测试。第一个与文件匹配的规则即为要应用的规则。
  7. 拖动底部水平栏可调整表格的大小。
  8. 单击垃圾桶图标可删除相应的规则。

规则的名称仅用于标识。它会出现在“选择位图图像文件”对话框等处,以指示由哪个规则自动指定颜色空间。每个名称必须唯一。

每当规则更改时,颜色空间设置为“自动”的任何现有纹理都会相应地重新指定。手动设置颜色空间的纹理不会更改。

基本规则

要编辑基本规则,请使用全局语法在“模式”和“扩展名”列中输入要匹配的字符串。如果希望规则仅考虑扩展名,请将“模式”设置为 *;如果希望规则仅考虑文件的路径和名称,请将“扩展名”设置为 *

下表汇总了用于匹配字符串的全局语法:

字符串 模式 示例
? 任意一个字符。 ?pecular 可匹配 specularSpecular 以及 Xpecular 等许多字符串。
* 零个或多个字符。 *diffuse 可匹配路径结尾处的 diffuse

diffuse* 可匹配路径开头处的 diffuse

*diffuse* 可匹配路径中任意处的 diffuse

提示: 在每种模式的开头放置一个星号,使图像文件在任何目录中均匹配。
[chars] 指定字符中的任何一个。 *[nN]ormal* 可匹配路径中任意处的 normalNormal
[char1-char2] 范围内的任何字符。 *[0-9] 可匹配以数字结尾的任何路径。
[!chars_or_range] 除指定字符之外的任何字符。 *[0-9] 可匹配与不以数字结尾的任何路径。
/ 将下一个字符转义,即,将下一个字符视为文字,而不是模式匹配语法的一部分。 */[*/]* 可匹配路径中任意位置的一对方括号。

正则表达式规则

要编辑正则表达式规则,请在“正则表达式”列中输入有效的正则表达式。例如,.*\.jpe?g 与扩展名为 jpgjpeg 的任何文件匹配,如下所示:
  • .* 匹配任意次数的任意字符(在此情况中即匹配任意路径和文件名);
  • \. 匹配文字句点;
  • jp 匹配字母 j 后跟字母 p;
  • e? 匹配可选字母 e;
  • g 匹配最后一个字母 g。
注: 如上例所示,在表中输入反斜杠字符 \ 时,请勿双写。这与手动编辑配置文件的 YAML 语法不同。

在场景之间共享规则

通过从一个场景导出规则,然后将其导入到其他场景中,可以在场景之间共享规则。场景应该使用相同的配置,或者至少自动指定的颜色空间应该在场景使用的所有配置中以相同的名称存在。如果导入的规则引用未在当前配置中定义的颜色空间,则自动指定的空间将设置为默认空间,并且渲染消息窗口的“颜色管理”选项卡上将显示消息。

作为这些过程的替代方法,您可以设置所有颜色管理设置,然后单击“另存为系统默认值”。这样,包括规则在内的所有设置都将由新场景使用。然后,要将规则和所有其他设置导入到现有场景中,请打开该场景,然后单击“加载系统默认值”

导出颜色空间指定规则

  1. 编辑颜色空间指定规则,以尽可能匹配文件命名约定和通常使用的颜色空间。
  2. 单击“导出 OCIO 规则”
  3. 为导出的配置选择文件名和位置。新的 .ocio 文件包含当前规则以及当前配置的空间、变换和其他设置。

    请注意,如果要将新文件单独用作配置,而不是仅用作传输规则的容器,应将其保存在与当前配置相同的文件夹中,以便可以在相同的相对位置找到任何外部定义的颜色变换的文件 - 使用 3ds Max 的内置配置时不需要这样做,因为变换已嵌入到文件中。

导入颜色空间指定规则

  1. 打开要替换规则的场景。
  2. 单击“导入 OCIO 规则”
  3. 选择包含要导入规则的 .ocio 或 .ocioz 文件。

    如果导入的规则引用未在当前配置中定义的颜色空间,则自动指定的空间将设置为默认空间,并且渲染消息窗口的“颜色管理”选项卡上将显示消息。