【问题标题】:Maya file format to improve playback speed提高播放速度的 Maya 文件格式
【发布时间】:2017-08-08 08:49:07
【问题描述】:

在 Maya 中提高播放速度的最佳文件格式是什么?

我在 Maya Autodesk 文档中读到 GPU 缓存文件已针对 Maya 中的快速播放性能进行了优化。

GPU 缓存文件最适合它吗?

非常感谢

【问题讨论】:

  • gpu 缓存主要用于模拟运行或超复杂场景的烘焙结果。它们是一种在场景中执行其他工作时保存和重新播放过于复杂而无法实时运行的结果的方法。它们本身并不是一种“文件格式”。

标签: performance gpu maya playback alembic


【解决方案1】:

在播放方面,GPU 缓存将为您带来一些最快的性能。这是因为在创建 GPU 缓存时,Maya 将绕过依赖关系图并直接移植到显卡。如 cmets 中所述,它们主要用于模拟,但您可以缓存任何地理 - 大型集、角色动画等。

GPU 缓存存储为 Alembic 文件 (.abc)。您可以将同一文件作为 Alembic 缓存GPU 缓存 导入。

在我运行的测试中,使用 GPU 缓存通常会在无意中听到将缓存加载到显卡上的成本,但播放速度比使用 Alembic 缓存快得多,而且肯定比使用 Alembic 缓存快得多使用原始装备/sim。

不过,使用 GPU 或 Alembic 有利有弊。由于 GPU 缓存的主要好处是播放优化,因此使用它们会失去一些东西:

  • 有限的材质支持:GPU 缓存仅支持基本的 Lambert 和 Phong 材质。我相信在导出缓存之前这些需要存在于网格上,但我没有对此进行测试。我知道事后将材料分配给缓存是行不通的。
  • 有限帧范围: GPU Caches 只会缓存指定帧范围内的动画;它不会循环或允许更改缓存速度和偏移量。当您将 Alembic 文件导入为 Alembic 缓存时,它确实具有此功能 - 但 GPU 缓存只会播放缓存的帧然后停止。
  • 无层次信息: GPU 缓存是在单个节点下创建的(并跳过依赖图),因此您将在导入时丢失所有层次信息。另一方面,作为 Alembic 缓存导入将保留该层次结构。
  • 开销成本:在我的测试中,我发现我在场景中使用的单个缓存越多,加载更多缓存所需的时间就越长。您可以通过组合多个 GPU 缓存到单个 GPU 缓存中来解决这个问题 - 我发现这通常比加载大量单独的片段更快。

总之,GPU 缓存非常适合播放和可视化,但可能过于局限,无法实际用于最终渲染。

要了解更多信息,您可以查看 Maya 的文档here。 (这适用于 Maya 2017,但大部分信息对以前的版本同样有效。请务必查看 Maya 网站以获取有关您的版本的最准确信息。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-25
    • 2012-12-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多