Unityでのスクリプトによるアニメーターコントローラーの変更方法


方法1: Animatorコンポーネントを直接変更する方法

  1. アニメーターコンポーネントを持つゲームオブジェクトを取得します。

    Animator animator = GetComponent<Animator>();
  2. アニメーターコンポーネントのruntimeAnimatorControllerプロパティに新しいアニメーターコントローラーを割り当てます。

    public RuntimeAnimatorController newController; // 新しいアニメーターコントローラーの参照
    animator.runtimeAnimatorController = newController;

方法2: AnimatorOverrideControllerを使用する方法

  1. AnimatorOverrideControllerを作成します。

    public AnimatorOverrideController overrideController; // AnimatorOverrideControllerの参照
    public RuntimeAnimatorController newController; // 新しいアニメーターコントローラーの参照
    overrideController.runtimeAnimatorController = newController;
  2. アニメーターコンポーネントのruntimeAnimatorControllerプロパティにAnimatorOverrideControllerを割り当てます。

    animator.runtimeAnimatorController = overrideController;

方法3: アニメーターコントローラーのアセットを直接ロードする方法

  1. Resources.Loadを使用して、アニメーターコントローラーのアセットをロードします。

    public string controllerPath = "AnimatorControllers/NewController"; // アニメーターコントローラーのパス
    RuntimeAnimatorController newController = Resources.Load<RuntimeAnimatorController>(controllerPath);
  2. アニメーターコンポーネントのruntimeAnimatorControllerプロパティに新しいアニメーターコントローラーを割り当てます。

    animator.runtimeAnimatorController = newController;

これらの方法を使用することで、スクリプトからUnityでアニメーターコントローラーを変更することができます。適切な方法を選択し、プロジェクトの要件に合わせてコードを調整してください。