Skip to main content

Avatar Optimizer 的基本概念

本章节介绍 Avatar Optimizer 的基本概念。

什么是 Avatar Optimizer?

Avatar Optimizer 是一个帮助你优化虚拟形象的工具。 此工具最初是为 VRChat 虚拟形象设计的,但它也可用于 NDMF 支持的其它模型。

非 VRChat 虚拟形象的支持完全基于社区,Avatar Optimizer 开发团队可能不会支持。

Avatar Optimizer 的目标是什么?

此工具旨在帮助你优化模型的性能,且不对外观产生太大影响。
因此,它不会试图更改模型的行为。

模型行为中所有未配置的更改都被视为 bug,即使它在某些用例中可能有用。
如果该 bug 不影响大多数用例,我们可能会暂时暂停修复该 bug。
但其他组件可能不会考虑该 bug 的行为。

例如,AAO Merge Skinned Mesh 的 1.7.x 或更早版本组件会合并具有相同名称的 BlendShapes。
此行为被视为 bug,因为这样就无法单独对它们进行动画处理。
你可以使用此 bug 将蒙皮网格渲染器的 BlendShape 动画与另一个蒙皮网格渲染器同步。
但这是不受支持的行为,其它的一些组件因此可能会破坏该行为。
例如,Automatically Freeze BlendShape 的 AAO Trace and Optimize 组件将冻结 BlendShapes,该 BlendShapes 可能会通过被 AAO Merge Skinned Mesh 组件合并来使用此错误行为进行动画处理。

Avatar Optimizer 的行为在未来版本中如何稳定?

Avatar Optimizer 使用 语义化版本控制 进行版本控制,并且主要将语义化版本控制的规则应用于组件的行为。

这意味着已附加到模型中的组件,其行为可以保证不会在同一主要版本中发生变化。
但是,我们可能会为已经实装的组件添加新的行为,并且这些新功能的表现可能会有所不同。

对于某些 bug,修复它们可能会显著改变组件的行为。
在这种情况下,我们通常会添加新选项以便选择启用新行为。
对于已附加到头像的组件,默认情况下可以禁用此选项以保持与以前的行为一致。
默认情况下,新添加到头像的组件将具有新行为,并修复了错误,只需启用对应的选项。

维护这些组件的行为有一些例外。

  • 专用于调试组件的功能不保证遵循上述规则。
    例如,AAO Trace and Optimize 组件上的 Debug Options 在未来任何版本中都可能发生更改。
  • 标记为实验性的功能不保证遵循上述规则。
  • AAO Trace and Optimize 组件的行为会因为新的优化方案而被更改。
    但是,AAO Trace and Optimize 组件的默认设置永远不会更改模型的行为和外观,因此其更改不会影响模型。

当你遇到除这些例外情况以外的任何不自然或奇怪的行为时,请先查看 常见问题解答