GameObjectを無効にすると、Animator内のすべての値がデフォルトになることがわかりました。それで、GameObjectを有効にした後に、それらを保持する方法や回復する方法はありますか?GameObjectにアタッチしたときにAnimatorのパラメータの値を保持する方法は無効になっていますか?
これを行うには、手動で保存する方法がありますか?
GameObjectを無効にすると、Animator内のすべての値がデフォルトになることがわかりました。それで、GameObjectを有効にした後に、それらを保持する方法や回復する方法はありますか?GameObjectにアタッチしたときにAnimatorのパラメータの値を保持する方法は無効になっていますか?
これを行うには、手動で保存する方法がありますか?
まあ、各パラメータを手動で保存せずにこの問題を解決できる方法があります。
まず、Animator.parameters
(Documentation)を使用して、Animatorのすべてのパラメータを取得できます。値には含まれないことに注意してください。
Animator.parameters
は列挙型であるAnimatorControllerParameterType type
と呼ばれるプロパティが含まクラスAnimatorControllerParameter
、の配列です:
public enum AnimatorControllerParameterType
{
Float = 1,
Int = 3,
Bool = 4,
Trigger = 9
}
だから今、私たちは単にループで、このようなGetBool、GetFloatをなどのメソッドを呼び出すことができますすべての変数を取得し、別のループを使用してSetBoolやSetFloatなどのメソッドを呼び出して設定します
Animatorコンポーネントまたは親GameObjectが無効になっている場合、リセットされます。保存する独自のメソッドを記述する必要がありますAnimatorのすべてのパラメータGameObjectを有効にし、再度有効にするときに適用します。 – Serlite