当 Animator 附加 GameObject 变为禁用时,如何保留其参数值?

How to keep the parameters' values of the Animator when it attached GameObject became disable?

当我禁用一个游戏对象时,我发现 Animator 中的所有值都变成了默认值。那么有什么方法可以保留它们,或者在启用游戏对象后恢复它们?

或者唯一的方法是手动保存它们?

好吧,我发现有一种方法可以解决这个问题,而无需手动保存每个参数。

首先,通过使用Animator.parametersDocumentation),我们可以得到Animator中的所有参数。请注意,它不包括值。

Animator.parameters 是 classAnimatorControllerParameter 的数组,其中包含一个名为 AnimatorControllerParameterType type 的 属性,它是一个枚举:

public enum AnimatorControllerParameterType
{
    Float = 1,

    Int = 3,

    Bool = 4,

    Trigger = 9
}

所以现在,我们可以简单地调用GetBool, GetFloat in a loop to get all the variable, then use another loop to set them by calling the method such as SetBool和SetFloat

等方法