方法1: Animatorコンポーネントを直接変更する方法
-
アニメーターコンポーネントを持つゲームオブジェクトを取得します。
Animator animator = GetComponent<Animator>();
-
アニメーターコンポーネントのruntimeAnimatorControllerプロパティに新しいアニメーターコントローラーを割り当てます。
public RuntimeAnimatorController newController; // 新しいアニメーターコントローラーの参照 animator.runtimeAnimatorController = newController;
方法2: AnimatorOverrideControllerを使用する方法
-
AnimatorOverrideControllerを作成します。
public AnimatorOverrideController overrideController; // AnimatorOverrideControllerの参照 public RuntimeAnimatorController newController; // 新しいアニメーターコントローラーの参照 overrideController.runtimeAnimatorController = newController;
-
アニメーターコンポーネントのruntimeAnimatorControllerプロパティにAnimatorOverrideControllerを割り当てます。
animator.runtimeAnimatorController = overrideController;
方法3: アニメーターコントローラーのアセットを直接ロードする方法
-
Resources.Loadを使用して、アニメーターコントローラーのアセットをロードします。
public string controllerPath = "AnimatorControllers/NewController"; // アニメーターコントローラーのパス RuntimeAnimatorController newController = Resources.Load<RuntimeAnimatorController>(controllerPath);
-
アニメーターコンポーネントのruntimeAnimatorControllerプロパティに新しいアニメーターコントローラーを割り当てます。
animator.runtimeAnimatorController = newController;
これらの方法を使用することで、スクリプトからUnityでアニメーターコントローラーを変更することができます。適切な方法を選択し、プロジェクトの要件に合わせてコードを調整してください。