使用 Arnold 时,最好使用通过 maketx 创建的 Mipmap 分片纹理格式,例如 .exr 或 .tx。  

.tx 纹理具有以下特点: 

  1. 已分片(通常分片是 64×64 像素)。
  2. 已进行 Mipmap 处理。

如果您已拥有通过其他渲染器创建的 Mipmap 分片 exr,则无需将这些文件转化为 .tx

 

由于 (1),Arnold 纹理系统可以根据需要每次加载一个分片,而不必将整个纹理贴图加载到内存中,从而造成浪费。这有助于减少纹理加载时间,因为如果 texel(纹素)永远都不出现在渲染的图像中,甚至不会加载这些元素。除了改进速度以外,只有最近用过的分片才会保留在内存中,即,默认大小为 512 MB 的纹理缓存(可以通过 options.texture_max_memory_MB 调整)。长时间未用过的分片会直接从内存中丢弃,以便为新分片留出空间。Arnold 占用的内存从不会超过 512 MB,即便您使用数百个甚至数千个 4k 和 8k 图像也不例外。不过,如果您仅使用少量 1k 纹理,这一点就无关紧要。

 

由于 (2),即使 AA 采样设置较低,纹理也会进行抗锯齿处理。JPEG 或其他未进行分片/MIP 处理的格式不可能具有其中任一特点(除非您指示 Arnold 对纹理进行自动分片和 MIP 处理,但是这种方法非常低效,因为必须对渲染的每一帧执行该操作,而不是通过 maketx 进行一次性预处理)。

 

需要指出的是,.tx 文件基本上是已重命名为 .tx 的 .exr 或 .tif 文件。这意味着图像编辑器可以读取 .tx 文件,但您可能需要将该文件重命名为 .exr 或 .tif,以便图像编辑器加载它。但是,.tx 文件设置了几个额外的自定义属性,可以提高渲染速度,而这些属性通常不包括在 .exr/.tif 文件中。例如,它们将包括一个哈希,这样如果您尝试加载两个包含相同数据的不同文件,Arnold 仅需加载这些数据一次即可。


以下示例表明,与 .jpg 文件相比,使用 .tx 文件可以将速度提升 7 倍:

手动生成 TX 纹理

过程很简单。您将需要 maketx.exe 工具、要转化的纹理和 DOS shell。以下示例说明如何将 .tif 文件转化为 .tx 文件。

介绍此过程的教程位于此处

自动生成 TX 纹理

默认情况下,系统将为每个图像着色器自动生成已分片和已进行 Mipmap 处理的 TX 纹理。生成的 TX 将放置在原始纹理文件旁边。当纹理文件名包含 UDIM 等标记时,系统将为每个子分片生成 TX 纹理。

将纹理转化为 TX 可能需要一些时间,特别是对于存储在网络共享中的大型纹理,但通常只有在第一次渲染时才执行此操作。对于后续渲染,如果检测到现有的匹配 TX 纹理,则不会重新生成,除非源纹理内容或颜色空间已更改。另请注意,如果输入纹理文件名已经具有扩展名 .tx,则将保留原样。

禁用自动生成

可以在 Arnold 渲染设置的纹理选项卡中找到禁用自动生成 .tx 纹理的开关,以全局禁用 TX 自动生成。此外,使用 Ai 图像 着色器和 Maya 文件节点上的自动生成 TX 纹理(Auto-generate TX Textures)开关,也可针对每个纹理禁用此行为。

线性化

此外,TX 纹理将根据 Maya 中颜色管理(Color Management)设置中的颜色空间规则进行线性化。

 

如果不使用经过 mipmap 处理的纹理,则没有纹理过滤。这会导致存在一些差异,特别是对于放射性贴图和置换贴图。

 

 

  • No labels