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つの状態で動くゲームの行を読む手順は、ゲーム数学を読む|ベクトル・角度・状態機械・経路探索にあります。
次に読む
情報源
- Unity — Unity Behaviorhttps://docs.unity3d.com/Packages/com.unity.behavior@1.0/manual/index.html確認日 2026-10-22
- Unity — Introduction | Behaviorhttps://docs.unity3d.com/Packages/com.unity.behavior@1.0/manual/behavior-features.html確認日 2026-10-22
- Epic Games — Behavior Trees in Unreal Enginehttps://dev.epicgames.com/documentation/en-us/unreal-engine/behavior-trees-in-unreal-engine確認日 2026-10-22
- Roblox — Charactershttps://create.roblox.com/docs/characters確認日 2026-10-22
- Unity — AI Navigationhttps://docs.unity3d.com/Packages/com.unity.ai.navigation@2.0/manual/index.html確認日 2026-10-22
- Godot — Using NavigationAgentshttps://docs.godotengine.org/en/stable/tutorials/navigation/navigation_using_navigationagents.html確認日 2026-10-22