【问题标题】:How to keep the parameters' values of the Animator when it attached GameObject became disable?Animator 附加的 GameObject 禁用时如何保留其参数值?
【发布时间】:2017-01-26 15:26:37
【问题描述】:

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

或者唯一可以做到这一点的方法是手动保存它们?

【问题讨论】:

  • 当一个 Animator 组件或父 GameObject 被禁用时,它会被重置 - 在禁用 GameObject 之前,您必须编写自己的方法来保存 Animator 中的所有参数,并在禁用 GameObject 时应用它们你再次启用它。

标签: c# unity3d gameobject


【解决方案1】:

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

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

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

public enum AnimatorControllerParameterType
{
    Float = 1,

    Int = 3,

    Bool = 4,

    Trigger = 9
}

所以现在,我们可以简单地在一个循环中调用GetBool、GetFloat等方法来获取所有变量,然后再用另一个循环通过调用SetBool、SetFloat等方法来设置它们

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-25
    • 2012-08-21
    • 1970-01-01
    • 1970-01-01
    • 2021-02-23
    • 1970-01-01
    • 2021-11-08
    • 1970-01-01
    相关资源
    最近更新 更多