AnimatorOverrideController を制御するインターフェースです。
AnimatorOverrideController is used to override clips from a controller to specialize some animations for a given avatar.
Swapping Animator.runtimeAnimatorController with an AnimatorOverrideController based on the same AnimatorController at runtime doesn't reset state machine's current state.
using UnityEngine;
public class SetupAnimatorOverrideController : MonoBehaviour { public RuntimeAnimatorController GetEffectiveController(Animator animator) { RuntimeAnimatorController controller = animator.runtimeAnimatorController;
AnimatorOverrideController overrideController = controller as AnimatorOverrideController; while (overrideController != null) { controller = overrideController.runtimeAnimatorController; overrideController = controller as AnimatorOverrideController; }
return controller; }
public void OverrideAnimationClip(string name, AnimationClip clip) { Animator animator = GetComponent<Animator>();
AnimatorOverrideController overrideController = new AnimatorOverrideController(); overrideController.runtimeAnimatorController = GetEffectiveController(animator); overrideController[name] = clip; animator.runtimeAnimatorController = overrideController; } }
clips | コントローラーからの元のクリップや上書きされたクリップの一覧を返します。 |
runtimeAnimatorController | AnimatorOverrideController が上書きするコントローラー |
this[string] | 設定されているクリップやクリップ名から上書きするクリップを取得します。 |
hideFlags | オブジェクトは非表示、シーンに保存、ユーザーが編集可能、などを設定する。 |
name | オブジェクト名 |
animationClips | コントローラーで使用しているすべての AnimationClip を取得します。 |
GetInstanceID | オブジェクトのインスタンス ID を返します |
ToString | ゲームオブジェクトの名前を返します |
Destroy | ゲームオブジェクトやコンポーネント、アセットを削除します |
DestroyImmediate | オブジェクト obj を破棄します。 |
DontDestroyOnLoad | 新しいシーンを読み込んでもオブジェクトが自動で破壊されないように設定します |
FindObjectOfType | タイプ type から最初に見つけたアクティブのオブジェクトを返します |
FindObjectsOfType | タイプから見つけたすべてのアクティブのオブジェクト配列を返します |
Instantiate | original のオブジェクトをクローンします |
bool | オブジェクトが存在するかどうか |
operator != | 二つのオブジェクトが異なるオブジェクトを参照しているか比較します |
operator == | 2つのオブジェクト参照が同じオブジェクトを参照しているか比較します。 |