Skip to main content

Avatar Optimizer 的基本概念

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

什么是 Avatar Optimizer?

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

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

Avatar Optimizer 的目标是什么?

此工具旨在帮助您优化虚拟形象的性能,且不对外观产生太大影响。
因此,它不会意图更改虚拟形象行为。

虚拟形象行为中所有未配置的更改都被视为 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 中,修复它们可能会广泛改变组件的行为。
为了修复此类错误,我们通常会添加新标志以启用新行为。
通过默认禁用已添加组件的标志,我们保留了已添加组件的行为,并且通过默认启用新添加组件的标志,我们修复了新添加组件的错误。

组件行为稳定性几乎没有例外。

  • 仅用于调试组件的功能不保证遵循上述规则。
    例如,Debug Options 上的 AAO Trace and Optimize 组件在未来任何版本中都可能发生更改。
  • 标记为实验性的功能不保证遵循上述规则。
  • 通过实施新的优化,可能会更改 AAO Trace and Optimize 组件的行为。
    但是,AAO Trace and Optimize 组件的默认设置永远不会更改头像的行为和外观,因此更改不得影响虚拟形象。

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