INDIE INDEX

レベル:入門

NPC とは|プレイヤーが操作しないキャラクター

言葉の意味

NPC は non-player character の略です。ゲームの中の仕組みが動かすキャラクターを指します。プレイヤーを助けるか、プレイヤーに挑む味方や敵などのほか、環境を埋めるキャラクターもいます。プレイヤーのキャラクターは、ここに入りません。

たとえば Unity の Unity Behavior でも、この意味で使われています。NPC、ゲームプレイのロジック、物、場面とのやりとりを制御する動きを、見た目で組み立てるツールです。Unity Behavior の用例には、敵・仲間・群衆などの NPC の動きの仕組みがあります。

作り手がこの語を使う場面は、Unreal Engine と Roblox にもあります。Unreal Engine では、Behavior Trees のアセットを、プロジェクトの NPC の AI を作るために使えます。Roblox では、最も基本的な NPC は、ゲームの設計上の役目を果たすために、ジオメトリを持つ Model といくつかのスクリプトだけが要ります。

キャラクターをゲームの世界の中で動かす仕組みは、エンジンの側にも用意されています。Unity の AI Navigation パッケージは、シーンのジオメトリから自動で作られるナビゲーションメッシュを使い、ゲームの世界の中を動き回るキャラクターを作るためのものです。動的な障害物で、実行中にキャラクターの移動の経路を変えられます。

Godot の NavigationAgent は、Node2D か Node3D を継承する親のノードのために、経路探索・経路に沿った移動・回避の機能をまとめた補助のノードです。目標の位置を設定すると、経路を問い合わせます。

Godot の NavigationAgent を使うときの注意

ナビゲーションの仕組みは、NavigationAgent の親のノードを動かしません。動かす処理は、自分のスクリプトで書きます。NavigationAgent のノードは必須ではなく、同じ働きをスクリプトと NavigationServer の API の直接の呼び出しで置き換えることもできます。

敵が見回り・追いかけ・攻撃の3つの状態で動くゲームの行を読む手順は、ゲーム数学を読む|ベクトル・角度・状態機械・経路探索にあります。

次に読む

情報源

関連ページ2

このページの内容の誤りは、問い合わせの窓口で受け付けています。