创建 Bifröst 用户缓存

准备 Bifröst 模拟以进行用户缓存

若要在生成用户缓存时减少不必要的计算和内存要求,请执行以下操作:

  1. 如果场景中有多个 Bifröst 模拟,则可暂时关闭未在进行用户缓存的模拟。若要执行此操作,请在主容器节点的“容器属性”(Container Attributes)组中取消选中“启用”(Enable)
  2. 同时确保 Bifröst 不使用或创建临时缓存。若要进行修改,请执行下列操作:
    • 选择“Bifrost” > “Bifrost 选项”(Bifrost Options),然后关闭“启用后台处理”(Enable Background Processing)。系统在启用后台处理后始终会使用临时缓存。
    • 关闭临时缓存。您可以在主容器节点的“模拟属性”(Simulation Attributes)组中关闭“临时缓存”(Scratch Cache),或者在“Bifrost 选项”(Bifrost Options)对话框中关闭“启用临时缓存”(Enable Scratch Caching),以影响场景中的所有 Bifröst 模拟。
      注: 即使您已在“Bifrost 选项”(Bifrost Options)对话框中关闭“启用临时缓存”(Enable Scratch Caching)“临时缓存”(Scratch Cache)也可能会在各个主容器节点中处于启用状态。再次打开“启用临时缓存”(Enable Scratch Caching),然后关闭,以确保为所有节点关闭“临时缓存”(Scratch Cache)

为场景中的所有可缓存对象创建用户缓存

此方法同时为场景中的所有可缓存对象创建了单独的用户缓存,包括液体、Aero、泡沫和碰撞对象的缓存。如果计划通过将新缓存的帧附加到现有用户缓存来扩展模拟的帧范围,请使用此方法。请参见附加到现有 Bifröst 用户缓存

  1. 为要缓存的模拟选择容器。
  2. 选择“Bifrost” > “计算并缓存到磁盘”(Compute and Cache to Disk) >
  3. 确保设置符合需要。例如:
    • “压缩格式”(Compression format)设置为相应的质量。
    • “缓存时间范围”(Cache time range)设置为以主容器节点的“模拟属性”(Simulation Attributes)组中所设置模拟的“开始帧”(Start Frame)开始。
    • “写入模式”(Write Mode)设置为“全部写入”(Write All)

    请参见计算和缓存选项

  4. 单击“创建”(Create)“应用”(Apply)

    “启用后台处理”(Enable Background Processing)处于禁用状态时,请求的帧将发送到 Bifröst 计算服务器(一次一帧),必须等待它们全部处理完,您才可以在 Maya 中进行交互。

    用户缓存将写入到磁盘中。此外,将发生以下情形:
    • 在时间轴上以蓝色显示已计算并缓存的帧。
    • 对于每个可缓存的对象,在对象的主特性节点的“缓存”(Caching)属性组中设置了“缓存目录”(Cache Directory)“缓存名称”(Cache Name)属性。
    • “启用”(Enable)已激活,且“缓存控制”(Cache Control)设置为 1(读取模式)。
  5. 如果需要,您可以重新打开“临时缓存”(Scratch Cache),以便更快速地拖动和播放。
注: 使用缓存时,在“动力学”(Dynamics)首选项中关闭“预备运行到当前时间”(Run up to current time)

为各个 Bifröst 对象创建用户

通过设置“缓存”(Caching)属性,可以为各个 Bifrost 对象创建用户缓存。当模拟中不需要其他对象的用户缓存时,缓存单个对象可以减少不必要的计算。这意味着,如果扩展整个模拟的帧范围,则需要重新对其进行缓存。无法附加到此用户缓存。

重要:“设置 > 时间滑块”(Settings > Time Slider)首选项中,确保“循环”(Looping)设置为“一次”(Once)。否则,Bifröst 将在循环播放到开始帧时重新缓存模拟。
  1. 为要缓存的模拟选择主容器。
  2. “属性编辑器”(Attribute Editor)中,单击要缓存对象的主特性节点对应的选项卡。
  3. 在对象的“缓存”(Caching)组中,将“缓存控制”(Cache Control)设置为 2(写入模式)。

    确保根据需要设置所有其他缓存属性。请参见 Bifröst 缓存属性

  4. 从开始帧起播放模拟,以创建用户缓存。

    Bifröst 会计算并缓存对象的帧,然后将其保存到指定位置。

  5. “缓存控制”(Cache Control)设置为 1(读取模式)。
  6. 预览模拟。

停止读取用户缓存

  1. 将模拟回放到开始帧。
  2. 在 Bifröst 对象的主特性节点的“缓存”(Caching)属性组中禁用“启用”(Enable)

    “缓存控制”(Cache Control)仍然设置为 1(读取模式)。但是,Maya 将计算模拟而不是读取用户缓存。