管道缓存工作流

 
 
 

在 Maya 中,用于 Alembic 和 GPU 缓存的文件导入和导出选项可在这两种缓存类型之间互换使用。例如,您可以将 Maya 场景保存为标准的 Alembic 类型(“管道缓存 > Alembic 缓存 > 将所有内容导出到 Alembic”(Pipeline Cache > Alembic Cache > Export All to Alembic)),然后作为 GPU 缓存导入文件(“管道缓存 > GPU 缓存 > 导入”(Pipeline Cache > GPU Cache > Import))。默认情况下,会将 Alembic 和 GPU 缓存保存到当前设置的 Maya 项目的 cache\alembic 文件夹中。

通过“导入 Alembic”(Import Alembic)命令导入缓存文件时,将按原始对象层次表示对象。您可以指定 Alembic 导入选项,通过这些选项可以将场景中选定的对象设置为导入的 Alembic 对象的父对象。通过“合并”(Merge)选项,可以添加或移除与导入的几何体相匹配的场景几何体。请参见管道缓存 > Alembic 缓存 > Alembic 导入(Pipeline Cache > Alembic Cache > Alembic Import)

导入到场景后,GPU 缓存文件由单个 gpuCache 节点表示(在“大纲视图”(Outliner)中通过 图标表示),并且 GPU 缓存的几何体在场景中显示为虚线框。“属性编辑器”(Attribute Editor)显示一个以对象命名的“变换”(Transform)节点,该节点合并了所有单个源对象“变换”(Transform)节点。以对象命名的形状节点还提供其他属性,如“缓存文件名”(Cache File Name)“几何体路径”(Geometry Path)和缓存重新加载按钮。

对 GPU 缓存文件进行更改(在其首次导入场景之后)时,可以单击 图标以重新加载更新的缓存文件。无需使用“GPU 缓存 > 导入”(GPU Cache > Import)命令重新导入文件。

注意“重新加载更新的缓存”命令是一项 Maya 2013 Extension 功能。

Alembic 和 GPU 缓存文件求值

标准 Alembic 文件的内容作为 Maya 几何体进行求值,并且可以使用多边形、NURBS 和细分曲面编辑工具进行修改。GPU 缓存通过 gpuCache 节点进行读取,该节点将数据发送到系统显卡进行处理。缓存数据不通过 Maya 依存关系图进行求值,从而缓解了许多打开和播放包含大量数据集的大型场景时而引起的性能问题。

注意您可以通过指定 MAYA_GPUCACHE_MAX_TOTAL_VBO_MB 值覆盖 GPU 缓存插件可用的默认显卡内存量。请参见 MAYA_GPUCACHE_MAX_TOTAL_VBO_MB

可以使用“捕捉到点”(Snap to points)工具操纵 GPU 缓存的对象。这包括捕捉到其他 GPU 缓存的多边形对象及未缓存的多边形对象的点。不能将 GPU 缓存的对象作为 Maya 几何体进行编辑。请参见将一个对象捕捉到另一个对象

递归 GPU 缓存

您可以递归缓存以前 GPU 缓存的对象,这意味着您可以将多个 GPU 缓存导入到场景中,以及将所有对象导出到单个 GPU 缓存文件中。该缓存工作流解决了许多处理包含大量数据集的大型场景时而引起的性能问题。例如,您可以选择分组的几何体并将每个组导出为一个 GPU 缓存。然后,可以通过导入 GPU 缓存来组合场景,并将整个场景导出到单个 GPU 缓存文件中。

将缓存文件导入到新的 Maya 场景中时,您会注意到视口交互性和播放速度提高了(这在原始版本的场景中不可能实现)。可以快速移动、旋转和缩放 GPU 缓存对象。合并的 GPU 对象的枢轴点为组的中心,而不在世界空间中。

相关主题