缓存几何体

 
 
 
注意

几何缓存仅存储对象的顶点的 XYZ 位置,而不存储对象的变换节点的平移、旋转或缩放

创建或导入几何缓存

您可以为对象创建一个或多个几何缓存,其中每个几何缓存都可以由单个帧、多个帧或一系列帧组成。如果为某个对象创建多个几何缓存,您可以混合其缓存以创建各种变形效果。请参见混合和设置几何缓存的权重

除创建新几何缓存外,您还可以导入以前创建的几何缓存。导入几何缓存(甚至是已在场景中使用的几何缓存)将不会覆盖或替换附加到对象的任何现有缓存数据。

创建新几何缓存

  1. 选择要为其创建几何缓存的一个或多个对象。
  2. “动画”(Animation)菜单集中,选择几何缓存 > 创建新缓存(Geometry Cache > Create New Cache)
  3. (可选)如果在“创建几何缓存选项”(Create Geometry Cache Options)窗口中指定的目录下已存在同名几何缓存文件,则此时将显示“创建缓存警告”(Create Cache Warning)消息。

    执行下列操作之一:

    • 单击“重命名”(Rename),更改要创建的新缓存的名称。此时将显示“创建几何缓存选项”(Create Geometry Cache Options)窗口。在“缓存名称”(Cache Name)字段中,为新缓存键入一个新名称,然后单击“创建”(Create)
    • 单击“自动重命名”(Auto-rename),创建一个新几何缓存文件,将该新缓存文件保存到磁盘上的新文件夹中,将对象的当前几何缓存文件与其缓存节点分离,然后将该新几何缓存文件附加到该对象的缓存节点。
    • 单击“取消”(Cancel),退出“创建新缓存”(Create New Cache)操作。
    • 单击“替换现有文件”(Replace Existing),创建一个新几何缓存文件,使用该新缓存文件替换对象在磁盘上的当前几何缓存文件,然后将该新几何缓存文件附加到该对象的缓存节点。

    对象的变形是使用“创建几何缓存选项”(Create Geometry Cache Options)窗口的当前设置进行缓存的。请参见几何缓存 > 创建新缓存(Geometry Cache > Create New Cache)

    单个或多个 .mc 文件和一个 .xml 描述文件将生成并放置在您在“创建几何缓存选项”(Create Geometry Cache Options)窗口中指定的文件目录中,cacheFile 节点(默认情况下,名为 objectShape#Cache#)将添加到您的对象并且您的所有对象的当前几何缓存节点将禁用,以便在播放时仅显示新缓存。

    注意

    “一个文件”(One File)“每个几何体一个文件”(One File per Geometry)缓存超出 2 GB 几何缓存大小限制时,会自动分割该缓存并混合最终缓存分段。

    如果选择了单个对象,将创建下列文件

    文件分布 已创建的 Maya 缓存文件数 已创建的 XML 描述文件数 已创建的几何缓存节点数

    一个文件

    1

    1

    1

    每帧一个文件

    多个,每帧 1 个

    1

    1

    如果选择了多个对象,将创建下列文件

    文件分布 已创建的 Maya 缓存文件数 已创建的 XML 描述文件数 已创建的几何缓存节点数

    一个文件

    1

    1

    多个,每个对象一个

    每帧一个文件

    多个,每帧一个

    1

    多个,每个对象一个

    一个文件/每个几何体一个文件

    多个,每个对象一个

    多个,每个对象一个

    多个,每个对象一个

    每帧一个文件/每个几何体一个文件

    多个,每帧一个,每个对象一个

    多个,每个对象一个

    多个,每个对象一个

导入几何缓存

  1. 选择要为其从磁盘导入现有几何缓存的对象。
  2. “动画”(Animation)菜单集中,选择几何缓存 > 导入缓存(Geometry Cache > Import Cache)

    将出现“导入文件浏览器”(Import file browser)窗口。请参见几何缓存 > 导入缓存(Geometry Cache > Import Cache)

  3. 导航到要附加到对象的几何缓存文件,然后执行下列操作之一:
    • 对于单个几何缓存文件,为要导入到当前对象的“一个文件”(One File)缓存选择 .mc 缓存文件或 .xml 描述文件。
    • 对于多个几何缓存文件,为要导入到当前对象的“每帧一个文件”(One File Per Frame)缓存文件选择 .xml 描述文件。
      注意

      要导入的几何缓存必须是从选定对象的同一拓扑生成的

  4. 单击“导入”(Import)

    将为已导入的几何缓存创建一个新的 cacheFile 节点,并且该节点将自动附加到选定对象的 cacheBlend 节点。这样,您就可以将已导入的缓存与选定对象的任何现有缓存组合。

重命名几何缓存

重命名几何缓存

  1. 选择要重命名其几何缓存的对象。
  2. “属性编辑器”(Attribute Editor)中,选择要重命名的几何缓存的节点。
  3. “cacheFile”字段中,删除当前名称,为缓存键入一个新名称,然后按 键。

    选定的几何缓存节点及其对应的缓存片段的名称将更改为您在 cacheFile 字段中键入的名称。

替换几何缓存

您可以替换整个几何缓存文件,也可以战略性地替换几何缓存文件中的各个缓存帧。例如,通过对特定帧处的对象若干部分进行重新建模并替换对象的几何缓存文件中的相应帧,您可以改善对象的缓存变形。

替换几何缓存

  1. 选择要替换其几何缓存的对象。
    注意

    无法为包含多个附加缓存的对象替换几何缓存。

  2. “动画”(Animation)菜单集中,选择几何缓存 > 替换缓存(Geometry Cache > Replace Cache)
  3. (可选)如果在“替换几何缓存选项”(Replace Geometry Cache Options)窗口指定的目录下已存在同名几何缓存文件,则此时将显示“创建缓存警告”(Create Cache Warning)消息。

    执行下列操作之一:

    • 单击“重命名”(Rename),更改要创建的替换缓存的名称。此时将显示“替换几何缓存选项”(Replace Geometry Cache Options)窗口。在“缓存名称”(Cache Name)字段中,为替换缓存键入一个新名称,然后单击“替换”(Replace)
    • 单击“自动重命名”(Auto-rename),创建一个新几何缓存文件,将该新缓存文件保存到磁盘上的新文件夹中,将对象的当前几何缓存文件与其缓存节点分离,然后将该新几何缓存文件附加到该对象的缓存节点。
    • 单击“取消”(Cancel),退出“替换缓存”(Replace Cache)操作。
    • 单击“替换现有文件”(Replace Existing),创建一个新几何缓存文件,使用该新缓存文件替换对象在磁盘上的当前几何缓存文件,然后将该新几何缓存文件附加到该对象的缓存节点。

    将为选定对象创建一个缓存,以便替换该对象的在“替换几何缓存选项”(Replace Geometry Cache Options)窗口中指定的时间范围内的当前缓存。请参见几何缓存 > 替换缓存(Geometry Cache > Replace Cache)

替换几何缓存帧

  1. 选择要为其替换各个几何缓存帧的对象。
    注意

    无法为包含多个几何缓存节点的对象替换几何缓存帧。

  2. “动画”(Animation)菜单集中,选择几何缓存 > 替换缓存帧(Geometry Cache > Replace Cache Frame)

    将为“替换几何缓存帧选项”(Replace Geometry Cache Frames Options)窗口中指定的帧或一系列帧创建一个缓存,替换您的对象的在指定时间范围内的当前缓存,并将生成原始未更改的缓存和描述文件的备份(默认情况下,名为 backup#_originalCacheName)。

    请参见几何缓存 > 替换缓存帧(Geometry Cache > Replace Cache Frame)

撤消替换几何缓存帧操作

当您替换几何缓存帧时,系统将自动生成原始缓存数据的备份文件,并通过在原始缓存文件名称前面加上 backup_、backup1_ 等前缀对这些备份文件进行命名

撤消“替换几何缓存帧”(Replace Geometry Cache Frames)操作

  1. 将生成的备份文件重命名为原始文件名。

    例如,若要对名为“Ball”的几何缓存执行撤消“替换几何缓存帧”(Replace Geometry Cache Frames)操作,您需要将其 backup_Ball.xml 和 backup_Ball.mc 备份文件分别重命名为 Ball.xml 和 Ball.mc。

    注意

    如果“删除备份文件”(Delete backup files)在您原先替换几何缓存帧时处于启用状态,则无法撤消“替换”(Replace)操作,因为原先替换的帧也已从磁盘中删除。

替换“每帧一个文件”(One File Per Frame)缓存上的几何缓存帧时,将仅备份替换的帧。若要对“每帧一个文件”(One File Per Frame)缓存执行撤消“替换几何缓存帧”(Replace Geometry Cache Frames)操作,则需要将生成的备份帧文件重命名为原始帧文件名。例如,若要对名为BallFrame1BallFrame2BallFrame3的几何“每帧一个文件”(One File Per Frame)缓存执行撤消“替换几何缓存帧”(Replace Geometry Cache Frames)操作,则需要将其 backup_Ball.xml 文件重命名为 Ball.xml,将替换的帧备份文件 backup_BallFrame1.mc、backup_BallFrame2.mc 和 backup_BallFrame3.mc 分别重命名为 BallFrame1.mc、BallFrame2.mc 和 BallFrame3.mc。

附加几何缓存

附加到几何缓存

  1. 选择要将一个几何缓存帧或一系列帧附加到的对象。
  2. “属性编辑器”(Attribute Editor)中,启用要附加到的几何缓存并禁用所有其他几何缓存。
  3. “动画”(Animation)菜单集中,选择几何缓存 > 附加到缓存(Geometry Cache > Append to Cache)。请参见几何缓存 > 附加到缓存(Geometry Cache > Append to Cache)

    将为在“附加到几何缓存选项”(Append to Geometry Cache Options)窗口中指定的帧或一系列帧创建一个几何缓存并将其添加或附加到已启用的缓存

    如果附加的缓存帧在时间上与已启用的几何缓存重叠,它们将自动与该缓存混合。但是,如果已启用的几何缓存和附加的缓存帧之间存在时间间距,则将对该间距进行线性插值,而且不会将该间距的任何缓存数据保存到附加的缓存。

分离几何缓存文件

分离所有几何缓存文件

  1. 选择要将其所有几何缓存文件与其分离的对象。
  2. “动画”(Animation)菜单集中,选择几何缓存 > 删除缓存(Geometry Cache > Delete Cache) >

    此时将显示“删除几何缓存选项”(Delete Geometry Cache Options)窗口。请参见几何缓存 > 删除缓存(Geometry Cache > Delete Cache)

  3. 启用“保持文件”(Keep Files),然后单击“删除”(Delete)“应用”(Apply)

    对象的所有选定的几何缓存节点和片段将删除,它们在磁盘上的对应的缓存文件将与对象分离。

分离单个或多个几何缓存文件

  1. 选择要将几何缓存文件与其分离的对象。
  2. “动画”(Animation)菜单集中,选择几何缓存 > 删除缓存(Geometry Cache > Delete Cache) >

    此时将显示“删除几何缓存选项”(Delete Geometry Cache Options)窗口。请参见几何缓存 > 删除缓存(Geometry Cache > Delete Cache)

  3. 启用“保持”(Keep)文件”。
  4. 在“选择要删除的缓存”列表中,执行下列操作之一:
    • 单击 () 要与对象分离的单个几何缓存的名称。
    • 按住 并单击 () 要与对象分离的多个几何缓存的名称。
  5. 单击“删除”(Delete)“应用”(Apply)

    选定几何缓存的节点和片段将删除,它们在磁盘上的关联的缓存文件将于其对象分离。

启用或禁用几何缓存

启用或禁用对象的所有几何缓存

  1. 选择要启用或禁用其所有几何缓存的对象。
  2. “动画”(Animation)菜单集中,执行下列操作之一:

    当前对象的所有活动几何缓存节点和缓存片段都将变为非活动状态,并且现在其对象在播放时并不使用

    当前对象的所有非活动几何缓存节点和缓存片段都将变为活动状态,并且现在由其对象在播放时使用。

启用或禁用各个几何缓存

  1. 选择要启用或禁用其各个几何缓存的对象。
  2. “属性编辑器”(Attribute Editor)中,选择要启用或禁用的几何缓存的节点。
  3. “缓存文件”(Cache File)区域中,执行下列操作之一:
    • 启用“启用”(Enable)以激活缓存节点。

    几何缓存节点及其对应的缓存片段将变为活动状态且现在由其对象在播放时使用。

    • 禁用“启用”(Enable)以取消激活缓存节点。

    几何缓存节点及其对应的缓存片段将变为非活动状态且现在不再由其对象在播放时使用

删除几何缓存

删除所有几何缓存

  1. 选择要删除其所有几何缓存的对象。
  2. “动画”(Animation)菜单集中,选择几何缓存 > 删除缓存(Geometry Cache > Delete Cache)

    对象的所有几何缓存节点和对应的缓存片段都将被删除。对象在磁盘上的几何缓存文件是否也将被删除取决于当前的“删除几何缓存选项”(Delete Geometry Cache Options)窗口设置。请参见几何缓存 > 删除缓存(Geometry Cache > Delete Cache)

删除几何缓存帧

  1. 选择要从中删除各个几何缓存帧或一系列帧的对象。
  2. “属性编辑器”(Attribute Editor)中,启用要从中删除帧的几何缓存并禁用所有其他缓存。
  3. “动画”(Animation)菜单集中,选择几何缓存 > 删除缓存帧(Geometry Cache > Delete Cache Frame)。请参见几何缓存 > 删除缓存帧(Geometry Cache > Delete Cache Frame)

    “删除几何缓存帧选项”(Delete Geometry Cache Frames Options)窗口中指定的帧或一系列帧将从对象的几何缓存中删除。将对因删除帧而导致的几何缓存中的间距进行线性插值。

合并几何缓存

您可以合并多个几何缓存以将它们烘焙到单个缓存。要合并的缓存可以按时间顺序定位,也可以不按时间顺序定位。

如果要合并的缓存在时间上重叠,则重叠的缓存的区域将根据缓存的当前输入权重设置和其任何权重贴图进行混合。

如果要合并的缓存不重叠,而是彼此之间存在间距,则将对这些间距进行线性插值,而且不会将这些间距的任何缓存数据保存到合并的缓存。例如,有三个要合并的缓存:缓存 1(帧 15-25)、缓存 2(帧 25-35)和缓存 3(帧 40-50)。合并这些缓存时,生成的合并的缓存的长度将为帧 15-50,但帧 36-39 将不包含缓存数据。

合并几何缓存

  1. 选择要合并其几何缓存的对象。
  2. “属性编辑器”(Attribute Editor)中,启用要合并的缓存并禁用所有其他缓存。将仅合并对象的已启用的缓存。
  3. “动画”(Animation)菜单集中,选择几何缓存 > 合并缓存(Geometry Cache > Merge Caches) >

    此时将显示“合并几何缓存选项”(Merge Geometry Cache Options)窗口。请参见几何缓存 > 合并缓存(Geometry Cache > Merge Caches)

  4. 设定合并选项,然后单击“合并”(Merge)“应用”(Apply)
  5. 将根据“合并几何缓存选项”(Merge Geometry Cache Options)窗口中的设置合并对象的所有已启用的缓存,同时创建一个新几何缓存节点、一个缓存文件和一个 XML 描述文件。请参见几何缓存 > 合并缓存(Geometry Cache > Merge Caches)

    合并的几何缓存将禁用,它们在磁盘上的对应的缓存文件不会被覆盖或删除。

混合和设置几何缓存的权重

如果有多个几何缓存附加到某一对象,将自动创建 cacheBlend 节点以定义和管理该对象的多个几何缓存的权重。请参见 cacheBlend

当几何缓存在时间上重叠时,其重叠的缓存区域使用这些缓存的当前输入权重值在其 cacheBlend 节点上自动混合在一起

此外,缓存权重在两个重叠的缓存之间进行规格化。因此,如果两个重叠的缓存的权重值相同(即 1.0 和 1.0、0.5 和 0.5 等等),则在播放时,这两个缓存对其缓存混合区域中的变形有相等贡献。

混合几何缓存并设定其权重

  1. 选择要调整其几何缓存权重的对象。
  2. “属性编辑器”(Attribute Editor)中,选择cacheBlend 节点。
  3. “输入权重”(Input Weights)区域中,通过拖动相应的滑块或在权重字段中输入值,来调整各个对象缓存的权重值。

    当几何缓存的权重为 1.0 时,它将与当前对象的其他缓存混合,在播放期间对该对象的变形有百分之百的贡献。

    当几何缓存的权重为 0.0 时,它不会与当前对象的其他缓存混合,在播放期间对该对象的变形无贡献。

  4. (可选)为几何缓存的权重设置动画以随时间增加或减少它们对其混合变形的贡献。

    调整各个缓存的权重值后,在其权重属性上单击鼠标右键 () 并从显示的上下文相关菜单中选择“为选定项设置关键帧”(Key Selected)

    这将向几何缓存中添加关键帧以创建权重曲线。然后,您可以操纵这些权重曲线,使对象的重叠(混合的)缓存之间的过渡平滑。

绘制几何缓存权重

通过在对象的曲面上直接绘制对象的几何缓存权重,您可以采用交互方式应用、分配和混合单个对象中的多个缓存的权重。例如,您可以使用“绘制缓存权重工具”(Paint Cache Weights Tool)在两足动物模型的臂部绘制一个缓存,在该模型的胸部绘制另一个缓存,然后在该模型的肩部混合这两个缓存,以创建从臂部的几何缓存到胸部的几何缓存的平滑过渡。

绘制几何缓存权重

  1. 选择要绘制其几何缓存权重值的对象。
  2. “动画”(Animation)菜单集中,选择几何缓存 > 绘制缓存权重工具(Geometry Cache > Paint Cache Weights Tool) >

    “绘制缓存权重工具”(Paint Cache Weights Tool)设置将显示在“工具设置”(Tool Settings)窗口中。请参见几何缓存 > 绘制缓存权重工具(Geometry Cache > Paint Cache Weights Tool)

  3. “工具设置”(Tool Settings)窗口中,从缓存列表中选择要为其绘制权重的几何缓存。
  4. 选择一个绘制操作,然后调整工具的笔刷的“值”(Value)“不透明度”(Opacity)

    有关这些工具设置的描述,请参见手册的“Artisan”部分中的 Artisan 工具设置

  5. (可选)在工具设置的“属性贴图”(Attribute Maps)区域中,为要在对象上绘制其权重的几何缓存导入一个现有的几何缓存权重贴图。请参见手册的“Artisan”部分中的属性贴图区域
  6. 在场景视图中,沿对象的曲面拖动“绘制缓存权重工具”(Paint Cache Weights Tool)以逐顶点更改其几何缓存权重。
    注意绘制的几何缓存权重已进行规格化。

    这意味着如果任何几何缓存具有相同的绘制权重值(即 1.0 和 1.0、0.5 和 0.5 等等),则在播放时,这些缓存将对其对象变形有相等贡献。