优化 Substance Painter 中的工作流程,让 CPU 的工作更轻松
注:如果是高版本SP打开低版本SP的文件比较卡顿,那么比较推荐文末的最后一种方法,使用资源更新器更新所有旧版的滤镜和图层,然后保存文件重新打开。
介绍
Victor Andreyenkov 分享了一些关于使 Substance Painter 成为计算机要求较低的任务的技巧,并解释了如何在不降低工作质量的情况下完成这项工作。
缓存性能
Substance Painter 有一个资源数据库(材质、Alpha、画笔、智能材质等),这些资源根据其用途分布在货架上。您 shelf 的每个资源本质上都是位于驱动器上的一个文件。为了显示资源的缩略图,Substance Painter 应该读取、处理并为其生成预览图标(缩略图)。生成的缩略图存储在缓存文件中,以便立即再次显示,而无需重复此漫长的过程(读取、处理、生成)。如果生成了新的缩略图,并且超出了本地缓存预算,则最旧的缩略图将替换为最新的缩略图。您可以在 Edit > Settings 菜单中找到缓存设置。
为了缓解旧缩略图不断被新缩略图覆盖的问题,应根据库的大小(位于书架上的所有资源的数量)增加本地缓存预算选项(以 MB 为单位)。明智的决定是将其设置为大约 2000MB 的值。
另一个主要问题是缓存文件的存储位置。如今,SSD 驱动器几乎无处不在地用于安装作系统,因此如果您没有更快的驱动器/RAID,您可以在 C 驱动器上将本地缓存目录值保留为默认值。否则,最好在系统最快的驱动器上为本地缓存文件创建一个文件夹,以便立即查看 Substance Painter 工具架的内容。
这同样适用于 Substance Painter 临时文件的 Cache 目录。他们所在的驱动器越快,您的工作就越舒适。
着色器质量
着色器质量设置对于在 Substance Painter 视口中正确显示纹理非常重要,因为它设置了用于镜面反射贡献计算的样本数。使用低设置时,您肯定会错误地显示金属和反光表面,并且 Substance Painter 视口显示将与使用导出纹理的最终渲染不同。因此,将此值设置为图形卡性能可以承受的最高值非常重要。以下是 Substance Painter 的默认“Low”(低)设置(16 个样本)和 Ultra(极致)设置(256 个样本)的示例。
为了满足不同显卡的性能速率,在“低”和“超”之间有几个设置,例如“中等”(32 个样本)、“高”(64 个样本)和“非常高”(128 个样本)。
烘焙贴图分辨率
烘焙贴图(也称为网格贴图)可能会不合理地使项目文件比实际文件大得多。有一些提示可以帮助您在不影响其质量的情况下减小它们的大小。
建议 法线贴图(Normal Map) 为 16 位颜色。此地图上的颜色渐变对于模型光照非常重要,因此将其设置为小于 16 位可能会导致光照质量下降。这是唯一一个不仅可能以与最终纹理贴图相同的分辨率烘焙,而且可能比最终纹理贴图大 2 倍的贴图。这取决于您的特定硬件的性能。此贴图的质量对于 Substance Painter 中的生成器和游戏中的生成器都极为重要。特别是如果模型包含许多小细节。
建议 Position Map 为最终纹理贴图分辨率的一半。此贴图只是一个渐变,对分辨率没有影响,并且仅由 Substance Painter 生成器使用。如果以 16 位或 8 位 Color 烘焙,则没有太大区别,因此完全取决于您的喜好。
建议 Ambient Occlusion Map、Curvature Map 和 Thickness Map 与最终纹理贴图的分辨率相同,即 16 位灰度。
建议世界空间法线贴图和 ID 贴图与最终纹理贴图的分辨率相同,即 16 位颜色。
在烘焙过程之前,无法为 Substance Painter 中的每个烘焙贴图单独设置这些参数,因此在烘焙它们之后,应使用标准的“网格贴图”预设将它们导出为 16 位 PNG 文件。
然后,应在您选择的任何适当的图像编辑软件中编辑每张地图。使用上述参数保存贴图后,可以将它们导入回 Substance Painter,并将它们分配给 Texture Set Settings 的 Mesh Maps 部分中的相应插槽。
大功告成!它不仅会优化项目的文件大小,还会提高使用这些烘焙贴图的进程的性能。它还将减少项目文件内存占用。不要忘记使用 File > Clean 函数来完全摆脱最初烘焙的贴图(请参阅本文下面对此函数的描述)。
纹理工作流程优化
使用 Substance Painter 进行纹理处理时,明智的做法是始终记住,项目文件应尽可能少,并且应尽可能少地使用显卡的内存。但是,磁盘上文件的大小可能不是其在显卡内存中占用空间那么重要的主题,因为在达到显卡可用内存的末尾时,部分纹理将存储在系统内存中。在这种情况下,Substance Painter 将大大减慢纹理处理过程,直到您降低当前工作纹理分辨率(对我们来说很好,我们可以导出任何分辨率的纹理而不会降低质量,但谁又想降低工作分辨率)。以下是一些提示,可以让您缩小项目文件并减少使用显卡的内存。
绘制图层
当您使用绘画图层时(它同样适用于材质和蒙版),请尽可能在不将触笔从绘图板上拉出的情况下进行更多描边。它将使您的项目文件更小,并且会占用更少的显卡内存。
锚
锚点不仅是一项非常有用的功能,它允许您使用现有的蒙版并根据它们创建变体,而且还是一种节省一些显卡内存和磁盘空间的方法。
锚点的作用与 Microsoft Windows作系统中文件的快捷方式相同。它们不包含除目标对象位置之外的任何数据。3D 艺术家熟悉的另一个类比是对象的实例:实例(如 Anchor)存储其属性所需的内存甚至不如对象本身多,因为它仅包含指向对象的链接并继承其参数。使用 Anchors 不是一个品味问题,而是一个理性问题。
隐藏图层
Substance Painter 允许您在视口中隐藏某些图层或文件夹的内容。隐藏它们可以让您比较几个版本的纹理,并为您保存一个选项,以备将来选择,如果您不确定现在最好的选择是什么。但是,当您完成项目并且无需对项目文件进行更多更改时,明智的做法是检查您的文件夹和图层是否有隐藏的并删除它们以减小项目文件大小。如果有人向您支付 Substance Painter 项目文件的费用,那么拥有干净的文件夹/图层结构而没有任何垃圾也很重要,因为其他人可能会在之后对其进行处理。
导入的蒙版和模板图像分辨率
在蒙版或使用模板时,您可能希望使用来自 Internet 的图片。图像分辨率多种多样,通常,我们使用其中任何一种并不真正关心它们是否真正满足我们的需求或它们是否足够大。但是,明智的做法是更改导入的蒙版/模板分辨率,使其与最终纹理映射分辨率相对应。
例如,如果您打算在最后导出 1K 纹理贴图,则无需将整个 8K 纹理作为蒙版导入。8K 蒙版/模板会在您的项目文件中占用大量空间,除非您的最终纹理贴图是 4K 或更高,否则您不会以任何方式从它的清晰度中受益。相反,您可以降低分辨率或裁剪导入图像的一部分,将其重新存储为 2K(如果最终纹理映射为 1K)。这将为您提供高质量的蒙版/模板,同时项目文件不会增长很多。
摆脱未使用的资源
在进行纹理处理时,您可以导入某些资源,如蒙版、模板、烘焙贴图或 Substance Painter 支持的其他类型的资源。但是,在纹理过程结束时,您最终可能会发现一些资源根本没有使用。在这种情况下,应清理项目文件。要清理项目文件,请选择 File > Clean。
在使用此功能之前,请确保您已将所需的所有导入资源分配给适当的图层/蒙版,否则您将不得不在需要时再次导入它们。您可能会不时使用此功能,但强烈建议在保存项目文件的最终版本之前使用它,以确保在加载场景时不会保存不需要的资源(即各种意义上的垃圾)占用驱动器空间和内存。
保存和压缩
当您使用 Ctrl+S 组合时,项目文件存档可能会很碎片化。虽然这不会导致项目文件损坏,但这可能会在项目文件中引入空白区域,从而导致文件大小不必要地增加。但是,Substance Painter 中有一个函数可以重新构建项目文件以压缩其内容 – Save 和 Compact。
根据您在项目上的积极程度,应该不时使用它。它对单个文件中的数据进行碎片整理。我建议每次在关闭项目文件之前保存项目文件时使用它。
资源更新器
如果您使用在早期版本的 Substance Painter 中创建的项目文件,则 Painter 的某些资源可能在最新版本中已更新,因此项目文件包含过时的资源(画笔、贴图、着色器等)。要检查项目文件中是否有新版本的资源,您可以启动 Resources Updater。
在 Resource Updater 中,您可以检查某些工具架资源或着色器是否已过时,并将它们更新到最新版本。如果您在 Status 下拉菜单中选择 “Outdated” 会更容易做到。
然后,您将看到过时资源的列表,这些资源可能会通过每个资源右侧的 “Update” 按钮进行更新。将资源更新到最新版本的目的与更新 Substance Painter 本身的目的相同 – 修复错误、优化性能和视觉质量。
转载自80.lv一篇文章,应该能帮到你。