Skip to main content

约束 Constraint

在介绍完Animator控制器之后,我很高兴能说一些一些较为简单的内容了。虽然约束的情况看似奇怪,但它们的行为实际上是可预测的。

计算启用的约束总数(类型无关),然后结合用下图来确定帧时间。你会发现帧时间开销会缓慢的上升,直到某一点后出现跳跃式增长。当VRChat设定约束的数量限制时,他们选择了681这个数字,以避免遭遇那个显著的增长。我认为这一选择非常合理,因为帧时间的消耗从1.7毫秒跃升到了2.4毫秒(图中的0点是2毫秒)。

如果你想要达到90 fps,单独的这个跃升就会占用你预算的6%,而这还不包括约束本身的性能开销。

image.png

注意:停用约束的约束组件不计入总图。这里的禁用指的是:

- GameObject被关闭 (Disabled)
- Constraint组件被关闭 (Disabled)
- Constraint设置为“关闭” (Disabled)

单纯将权重设置为0而不是上述的关闭,约束仍然会影响性能!