2017-01-26 17 views
1

Когда я отключил GameObject, я обнаружил, что все значения внутри Animator становятся стандартными. Так можно ли их сохранить или восстановить после включения GameObject?Как сохранить значения параметров Animator при присоединении GameObject к отключению?

Или единственный способ сделать это вручную сохранить их?

+0

Когда компонент Animator или родительский GameObject отключен, он получает сброс - вам придется написать свой собственный метод для сохранения все параметры в Animator, прежде чем вы d можно использовать GameObject и применять их при повторном включении. – Serlite

ответ

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