Skip to main content

Trace And Optimize / 跟踪和优化

在旧版本中,此组件名称为“Automatic Configuration”(自动配置)。

此组件将自动优化你的模型。你可以使用复选框来启用或禁用某些自动优化功能。

此组件应当被添加到模型根对象中。(参考分类:模型全局组件

Trace and Optimize 在“绝对不要让它影响到外观”的前提下进行了精心设计。
所以,如果出现任何问题,例如外观受到影响或者某些插件不正常运行,它们都是由 AAO 引起的错误,无一例外。
因此,如果你在使用此组件时遇到任何问题,请向我们反馈。我们会尽可能的去修复它。

目前,此组件会自动应用以下优化:

  • Automatically Freeze BlendShape
    自动冻结未使用的 Blendshape,即在动画播放等行为中,数值始终是相同的或未被使用的 Blendshape。
  • Remove unused Objects
    通过扫描模型的动画,自动删除未使用的物体(例如:游戏对象、组件等)。
    此外,如果 PhyBone 组件仅开关对象使用,这将自动切换它们。
    • Preserve EndBone
      防止移除父级未被移除的末端骨骼(1)
  • Optimize Physbone Settings
    优化 Physbone 设置以获得更好的性能,这将执行以下优化:
    • 将具有完全相同属性的 PhysBone Collider 合并到同一个 PhysBone Collider 中。
    • 如果不需要,请取消选中 Is Animated
  • Optimize Animator
    优化 Animator Controller。有关详细信息,请参阅末尾的“动画优化器”部分。
  • Merge Skinned Meshes
    合并不需要分离的蒙皮网格。
    在某些情况下,部分网格可能不会自动合并,因此如果有必要,请使用 Merge Skinned Mesh 来手动合并。
    • Allow Shuffing Material Slots
      通过调整材质槽,你可以减少模型的绘制调用次数。材质槽的顺序通常无关紧要,但在极少数情况下可能会影响绘制顺序。

当然,你可以使用以下设置调整优化。

  • MMD World Compatibility
    通过考虑与 MMD 世界的兼容性进行优化。例如:避免冻结 MMD 世界需要使用的 BlendShape。

此外,还有以下高级优化。

  • Automatically Remove Zero Sized Polygons
    移除面积为零的面。 这可能会破坏一些着色器或动画行为,因此请谨慎使用。

同时,还有 Debug Options 用于解决一些错误,但它不稳定且未经充分测试。有关更多详情,请参阅提示文本或参考案例。

component.png

Animator Optimizer(动画优化器)

此功能目前应用以下优化。

  • 将 Entry-Exit 转换为 BlendTree(混合树)
    这将尝试将 Animator Controller 图层尽可能地转换为 BlendTree。
  • 合并 BlendTree 图层
    这会将多个 BlendTree 图层合并为单个 Direct BlendTree 图层。
  • 删除无意义的图层
    这将删除没有动画状态或过渡的图层。

  1. AAO 目前假设任何名称以 end(忽略大小写)结尾的骨骼都是末端骨骼。