【UE5】ゲームAI、難しく考えすぎです|巡回・追跡AIは3つの要素で動きます

この記事では、UE5のゲームAIを「シーケンス・パターン・評価ロジック」の3つに分けて整理します。

巡回、発見、追跡、見失うという基本的なAIを例に、ゲームAIを難しく考えすぎないための見方を解説します。

ゲームAIと聞くと、かなり難しそうに感じるかもしれません。

複雑な計算が必要そう。
機械学習が必要そう。
高度な知性を作らないといけなさそう。

でも、実際のゲームAIに必要なのは、そこまで複雑なものではありません。

少なくとも、最初に理解すべき本質はかなりシンプルです。

ゲームAIは、次の3つで考えると一気に理解しやすくなります。

  • シーケンス
  • パターン
  • 評価ロジック

今回は、UE5で「巡回 → 発見 → 追跡 → 見失う → 巡回に戻る」というAIを題材に、ゲームAIの基本を整理していきます。


目次

ゲームAIに高い知性は必要ない

まず大事なのは、ゲームAIに高い知性は必ずしも必要ないということです。

ゲームAIは、人間と同じように考える必要はありません。

必要なのは、プレイヤーから見て、

それっぽく行動しているように見えること

です。

たとえば、警備兵AIなら、

  1. 決められた場所を巡回する
  2. プレイヤーを見つける
  3. 追いかける
  4. 見失ったら巡回に戻る

これだけでも、ゲーム上では十分に「警備している敵」に見えます。

ゲームAIは、複雑な知能を作るというより、

状態に応じて、適切な行動を選ぶ仕組み

として考えた方がわかりやすいです。


ゲームAIを理解する3つの要素

ゲームAIの本質は、次の3つです。

  • シーケンス
  • パターン
  • 評価ロジック

スライドでも、シーケンスは「行動の順番」、パターンは「行動そのもの」、評価ロジックは「どれを使うか決めるもの」と整理しています。


シーケンス:行動の順番

シーケンスとは、行動の順番です。

今回のAIで言えば、

巡回 → 発見 → 追跡 → 見失う → 巡回に戻る

という流れがシーケンスです。

ゲームAIは、この行動の流れがあるだけで、それっぽく見えます。

逆に言うと、AIの挙動が不自然に見えるときは、行動そのものよりも、シーケンスのつながり方が悪いことがあります。

たとえば、

  • いきなり追跡をやめる
  • 見失った瞬間に即座に元の行動へ戻る
  • 状況に合わない行動へ急に切り替わる

こういう挙動は、AIが機械的に見える原因になります。


パターン:行動そのもの

パターンとは、AIが実際に行う行動です。

今回なら、

  • 巡回する
  • プレイヤーを追跡する

がパターンです。

ゲームAIは、最初から大量の行動パターンを作る必要はありません。

まずは、

  • 巡回
  • 追跡
  • 攻撃
  • 待機
  • 逃走

のような基本行動を用意し、それらをどの順番で使うかを考えるだけで十分です。


評価ロジック:どの行動を選ぶか決める

評価ロジックとは、どの行動を使うか決める条件です。

今回なら、

  • プレイヤーが視野角内にいるか
  • プレイヤーを見失ったか
  • 一定時間、見えない状態が続いたか

のような判定が評価ロジックです。

つまり、評価ロジックは、

今、巡回を続けるべきか
追跡に切り替えるべきか
追跡をやめるべきか

を決めるための仕組みです。


ゲームAIと生成AIは別物

最近はAIという言葉を聞くと、ChatGPTのような生成AIを想像する人も多いと思います。

しかし、ゲームAIと生成AIは目的が違います。

生成AIは、新しい文章、画像、音声などのデータを作る仕組みです。

一方で、ゲームAIは、キャラクターの行動を制御する仕組みです。

簡単に言えば、

種類目的
ゲームAI状態に応じて行動を選ぶ
生成AI新しいデータを作る

ゲームAIの根幹に必要なのは、「新しい何かを生成すること」ではなく、

状況に応じて、どの行動を選ぶか

です。

生成AIはランダム性やバリエーションを作る補助には使えるかもしれません。

しかし、ゲーム内で安定した挙動を作るには、まだ制御の難しさがあります。

そのため、まずは従来のゲームAIの考え方を理解するのが大事です。

生成AIは「作る」ためのAI。
ゲームAIは「選ぶ」ためのAIです。


今回作るAI:巡回・発見・追跡・見失う

今回作るAIは、次の流れです。

  1. 4つのポイントを巡回する
  2. 視野角内にプレイヤーが入ったら発見する
  3. プレイヤーを追跡する
  4. 視野角から外れた状態が続いたら見失う
  5. 巡回に戻る

とてもシンプルですが、ゲームAIの基本がかなり詰まっています。

このAIを3つの要素に分解すると、こうなります。

要素今回の例
シーケンス巡回 → 発見 → 追跡 → 見失う → 巡回
パターン巡回、追跡
評価ロジック発見判定、見失い判定

このように分けると、AIの挙動が一気に整理しやすくなります。


UE5でAIを作る主な機能

UE5には、AIを作るための主な機能がいくつかあります。

代表的なものは次の4つです。

機能役割
Blueprint行動そのものを実装する
Behavior Tree行動の流れや状態を管理する
EQS環境に基づいて判断する
NavMesh移動可能な範囲を定義する

スライドでも、Blueprintは行動そのもの、Behavior Treeは行動の管理、EQSは環境の評価、NavMeshは移動の地図として整理しています。

今回の例では、このうちBlueprintとNavMeshを使って、シンプルな巡回・追跡AIを作っています。

本格的なゲームではBehavior Treeを使って行動管理を整理することも多いですが、最初から全部使う必要はありません。

まずはBlueprintとNavMeshだけでも、ゲームAIの基本は理解できます。


巡回AIの作り方

巡回AIの仕組みはシンプルです。

今回の例では、円柱の周囲にTarget Pointを4つ置き、AIが順番に移動するようにしています。

流れは次の通りです。

  1. Target Pointのリストを用意する
  2. 現在の移動先Target Pointを取得する
  3. AI Move Toで移動する
  4. 到達したら数秒待つ
  5. 次のTarget Pointへ移動する
  6. これを繰り返す

これだけで、AIが巡回しているように見えます。

もちろん、本格的なゲームではもっと複雑な制御を入れることもあります。

しかし、本質は同じです。

決められた行動パターンを、順番に実行している

だけです。


プレイヤー発見:視野角判定はDot Productでできる

次に、プレイヤーを発見する仕組みです。

今回は、AIの視野角内にプレイヤーがいるかどうかで発見判定を行います。

このとき使えるのが、Dot Productです。

Dot Productは、2つのベクトルの向きがどれくらい一致しているかを数値で返してくれます。

今回なら、

  • AIが向いている方向
  • AIからプレイヤーへの方向

この2つを比較します。

2つの向きが近ければ、プレイヤーはAIの前方にいると判断できます。

逆に、向きが大きくズレていれば、プレイヤーは視野角外にいると判断できます。

つまり、Dot Productを使うことで、

AIがプレイヤーの方向を向いているか

を判定できます。


視野角はゲームの読み合いを作る

視野角は、単なる判定範囲ではありません。

ゲームの読み合いを作る重要なパラメーターです。

たとえば、視野角を広くすると、AIはプレイヤーを発見しやすくなります。

逆に、視野角を狭くすると、プレイヤーは横や背後から近づきやすくなります。

ステルスゲームや警備兵AIでは、この視野角の調整がかなり重要です。

視野角は単なる円錐ではなく、

プレイヤーがどう動けば安全か
どこから近づくと危険か
AIとの駆け引きがどう生まれるか

を作る設計パラメーターです。


プレイヤーを見失う仕組み

プレイヤーを見失う仕組みもシンプルです。

今回の例では、

追跡中に視野角判定から外れた状態が3秒続いたら、見失ったと判断する

という形にしています。

ここで大事なのは、即座に見失った判定にしないことです。

もしプレイヤーが一瞬だけ視野角から外れただけで追跡をやめてしまうと、AIの挙動が不自然になります。

そこで、3秒の猶予を入れます。

この猶予によって、

  • 一瞬だけ視野外に出た
  • 障害物の陰に少し入った
  • 判定が一時的に外れた

という状況でも、すぐには追跡をやめません。

このような安定時間を入れるだけで、AIの動きはかなり自然になります。


AIにゆらぎを入れる

AIが機械っぽく見える理由のひとつは、動きが規則正しすぎることです。

たとえば、

  • 毎回同じ時間だけ止まる
  • 毎回同じタイミングで動き出す
  • 毎回同じ経路を同じ速度で移動する

こういう動きは、プレイヤーから見ると機械的に見えます。

そこで、待ち時間に少しランダム性を入れます。

Target Pointに到達したあと、毎回同じ秒数待つのではなく、ランダムな時間だけ待つようにします。

これだけでも、AIの動きは少し自然に見えます。


ランダム性は「文脈」を持たせると強い

ただし、ランダムにすれば何でも自然になるわけではありません。

本当に自然に見せるには、ランダム性にも文脈が必要です。

たとえば、人間の警備兵なら、

  • 基本的には一定のペースで巡回する
  • 疲れたら少し長めに休む
  • 警戒中は立ち止まる時間が短くなる
  • 何かを見つけた後は周囲を長めに確認する

といった変化があると自然に見えます。

つまり、単なるランダムではなく、

状況やキャラクター性に合ったランダム

にすることで、AIは一気に生きているように見えます。

これは、ゲームAIを調整するときにかなり大事な考え方です。


今回のAIを3要素で振り返る

最後に、今回作ったAIをもう一度3つの要素で整理します。

シーケンス

巡回して、プレイヤーを発見し、追跡し、見失ったら巡回に戻る。

これが行動の流れです。

パターン

巡回と追跡が、今回の主な行動パターンです。

評価ロジック

プレイヤーが視野角内にいるか。
視野角外の状態が一定時間続いたか。

この判定によって、行動を切り替えています。

このように見ると、ゲームAIはかなりシンプルに整理できます。


ゲームAIは「賢さ」ではなく「行動の設計」

ゲームAIを作るとき、最初から高度な知性を作ろうとすると難しくなります。

でも、実際に必要なのは、

  • どんな順番で行動するか
  • どんな行動パターンを持つか
  • どの条件で行動を切り替えるか

を整理することです。

ゲームAIは、賢い頭脳を作るというより、

プレイヤーから見て自然に見える行動の流れを設計すること

です。

シーケンス、パターン、評価ロジック。
この3つで考えるだけで、ゲームAIはかなり理解しやすくなります。


まとめ

今回は、UE5でゲームAIを作るときの基本を整理しました。

ポイントは次の通りです。

  • ゲームAIに高い知性は必ずしも必要ない
  • ゲームAIはシーケンス・パターン・評価ロジックで考える
  • シーケンスは行動の順番
  • パターンは行動そのもの
  • 評価ロジックはどの行動を選ぶか決める条件
  • UE5ではBlueprint、Behavior Tree、EQS、NavMeshなどを使ってAIを作れる
  • 巡回と追跡だけでも、ゲームAIの基本は理解できる
  • Dot Productを使うと視野角判定ができる
  • 3秒の猶予を入れると、見失い判定が自然になる
  • ランダム性には文脈を持たせると自然に見える

ゲームAIは、難しく考えすぎなくて大丈夫です。

まずは、

巡回する
見つける
追いかける
見失ったら戻る

このシンプルな流れを作るだけで、ゲームAIの基礎はかなり見えてきます。

Youtube での解説

動画では、実際にUE5上で巡回・発見・追跡・見失うAIを動かしながら解説しています。

Blueprintの流れや視野角判定のイメージを見たい方は、動画もあわせて見てみてください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次