RTS兵士AIの作り方|自動移動・攻撃を判断するAI処理

シミュレーションゲームの作り方

RTSの兵士AIは、自動で敵を探して攻撃します。

命令がないときは、待機します。

この記事では、実装方法を詳しく解説します。

この記事でわかること

  • 基本的な兵士AIの実装
  • ターゲット選択のアルゴリズム
  • 状態管理システムの実装
  • 自動攻撃システムの実装
  • 実装例とコード
ゲーム開発講師
ゲーム開発講師

兵士AIは、状態管理が重要です。待機・移動・攻撃の状態を明確にしましょう。

ゲーム制作をゼロから学びたいあなたへ
Unity入門の森を見る 初心者歓迎!動画×プロジェクト一式で本格ゲーム制作を学べる
ゲームを「遊ぶ側」から「作る側」へ

あなたのオリジナルゲーム、今年こそ完成させませんか?

RPG・アクション・ホラー…Unityで本格ゲームを作りたい人のための学習サイトです。

Unity入門の森|永久会員チケット

永久会員チケット|Unity入門の森

全講座ラインナップを見てみる

実際に完成するゲームを題材に、
ソースコード・素材・プロジェクト一式をすべて公開。
仕事や学校の合間の1〜2時間でも、
「写経→改造」で自分のゲームまで作りきれる環境です。

基本的な兵士AIの実装

rts-unit-ai-001

兵士AIは、状態に応じて行動を決定します。

実装方法を紹介します。

状態管理システム

このコードで、基本的な兵士AIが実装できます。

待機・移動・攻撃の状態を管理します。

ゲーム制作をゼロから学びたいあなたへ
Unity入門の森を見る 初心者歓迎!動画×プロジェクト一式で本格ゲーム制作を学べる

ターゲット選択のアルゴリズム

rts-unit-ai-002

ターゲット選択は、戦闘の核心です。

実装方法を紹介します。

最も近い敵を選択

このコードで、ターゲット選択が実装できます。

最も近い敵、最も弱い敵、優先度の高い敵を選択できます。

ターゲット選択の基準

  • 距離:最も近い敵を優先
  • HP:最も弱い敵を優先(倒しやすい)
  • 優先度:距離・HP・ユニットタイプを総合評価
ゲーム制作をゼロから学びたいあなたへ
Unity入門の森を見る 初心者歓迎!動画×プロジェクト一式で本格ゲーム制作を学べる

自動攻撃システムの実装

rts-unit-ai-003

自動攻撃は、兵士AIの核心です。

実装方法を紹介します。

攻撃システムの実装

このコードで、自動攻撃システムが実装できます。

攻撃範囲内の敵に、自動で攻撃します。

攻撃の種類

  • 近接攻撃:攻撃範囲が短い、ダメージが高い
  • 遠距離攻撃:攻撃範囲が長い、ダメージが低い
  • 範囲攻撃:複数の敵にダメージ
ゲーム開発講師
ゲーム開発講師

自動攻撃は、クールダウンを設定しましょう。毎フレーム攻撃すると、負荷が高くなります。

ゲーム制作をゼロから学びたいあなたへ
Unity入門の森を見る 初心者歓迎!動画×プロジェクト一式で本格ゲーム制作を学べる

実装例:完全な兵士AIシステム

rts-unit-ai-004

実際に使える、完全な兵士AIシステムの実装例を紹介します。

このコードで、完全な兵士AIシステムが実装できます。

状態管理、ターゲット選択、自動攻撃を統合しています。

ゲーム制作をゼロから学びたいあなたへ
Unity入門の森を見る 初心者歓迎!動画×プロジェクト一式で本格ゲーム制作を学べる

よくある質問(FAQ)

rts-unit-ai-005

Q: 兵士AIが敵を見つけられません。どう修正すればいいですか?
A: レイヤーマスクを確認しましょう。敵に正しいレイヤーが設定されているか、detectionRangeが適切か確認します。また、Physics.OverlapSphereが正しく動作しているかも確認しましょう。
Q: 自動攻撃の頻度をどう調整すればいいですか?
A: attackCooldownを調整しましょう。値を大きくすると攻撃頻度が下がり、小さくすると上がります。1秒前後が標準です。
Q: 複数の兵士が同じ敵を攻撃します。どう分散させればいいですか?
A: ターゲット選択に「既に他の兵士が攻撃している」というペナルティを追加します。これにより、ターゲットが分散します。
Q: 兵士AIの更新が重いです。どう最適化すればいいですか?
A: 更新頻度を下げましょう。毎フレーム更新せず、0.5秒ごとに更新します。また、距離が遠い敵は検出しないようにすることも有効です。
Q: 命令と自動攻撃、どちらを優先すべきですか?
A: 通常は命令を優先します。ただし、敵が非常に近い場合は、自動攻撃を優先することも有効です。状況に応じて切り替えましょう。
ゲーム制作をゼロから学びたいあなたへ
Unity入門の森を見る 初心者歓迎!動画×プロジェクト一式で本格ゲーム制作を学べる
ゲームを「遊ぶ側」から「作る側」へ

あなたのオリジナルゲーム、今年こそ完成させませんか?

RPG・アクション・ホラー…Unityで本格ゲームを作りたい人のための学習サイトです。

Unity入門の森|永久会員チケット

永久会員チケット|Unity入門の森

全講座ラインナップを見てみる

実際に完成するゲームを題材に、
ソースコード・素材・プロジェクト一式をすべて公開。
仕事や学校の合間の1〜2時間でも、
「写経→改造」で自分のゲームまで作りきれる環境です。

まとめ

rts-unit-ai-006

兵士AIは、状態管理が重要です。

待機・移動・攻撃の状態を明確にしましょう。

今日から始める3ステップ

  • ステップ1:状態管理システムを実装する(所要2時間)
  • ステップ2:ターゲット選択システムを実装する(所要2時間)
  • ステップ3:自動攻撃システムを実装する(所要2時間)

本格的にUnityを学びたい方は、Unity入門の森で実践的なスキルを身につけましょう。

あなたのペースで、少しずつ進めていけば大丈夫です。

ゲーム制作をゼロから学びたいあなたへ
Unity入門の森を見る 初心者歓迎!動画×プロジェクト一式で本格ゲーム制作を学べる

コメント

タイトルとURLをコピーしました