ナビゲーション メッシュ
オフメッシュ リンク

キャラクターナビゲーションの有効化

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Sumbission failed

For some reason your suggested change could not be submitted. Please try again in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

ナビメッシュをセットアップし他とはキャラクターが使用できる準備をする必要があります。Nav Mesh Agent コンポーネントは経路探索およびキャラクターの制御の両方をハンドリングします。スクリプトでナビゲーションを目的地点の設定と同じくらい簡単に記述するのみです。ナビメッシュ エージェントが自動的にその後の処理をハンドリングします。

ナビメッシュ エージェント コンポーネントの追加はスクリプトまたはエディターから行ないます。(メニュー: Component -> Navigation -> Nav Mesh Agent)。コンポーネントの様々なプロパティは ナビメッシュエージェント で詳細に説明がありますが,試す際にはデフォルト値のままで十分です。

スクリプトでは,直接にアクセスするプロパティはないため NavMeshAgent コンポーネントへの参照を取得します:-

var agent: NavMeshAgent = GetComponent.<NavMeshAgent>();

次に,キャラクターを動作させるため SetDestination を一回呼び出しをします:-

agent.SetDestination(targetPoint);

目的地点はワールド座標で指定します。ナビゲーションシステム は自動的にナビメッシュにもっとも近い地点を見つけるため,ターゲット地点が正確にメッシュ表面になくとも問題ありません。

当然ナビゲーション システムによりゲームロジックの全てをハンドリングできないので,初めに目的地点を適切に選ぶ方法が必要です。これはゲームの特性に強く依存し,良くある方法は次のとおりです。

  • NPC キャラクターをプレイヤーの位置に移動すると攻撃を開始
  • キャラクターを事前配置した空のゲームオブジェクトで示すターゲットへ向かわせる(例.ビル出口や宝箱の場所)
  • マウスによりマップ地点へ移動
ナビゲーション メッシュ
オフメッシュ リンク