NavMeshを使ってみる その1

Unity

NavMeshとは?

ナビゲーションシステムによって、シーンのジオメトリから⾃動で⽣成されるナビゲーションメッシュを使⽤して、ゲーム世界の中を知的に動くキャラクターを作成することができる。

Unity公式より抜粋

公式の説明だと分かり難いが、目的地まで障害物を避けつつ移動することができるようなAI?的なもの。
移動できる範囲は予めベイクしなければならない。

使い方

1. NavmeshをBakeして移動範囲を決定。ただし障害物はStaticでなければならない。
2. 移動させたい対象にNavmesh Agentコンポーネントを追加する。

導入

Window > Navigation > [Bake]

Staticオブジェクトを障害物と認識し、移動範囲がベイクされる。

目的地まで移動させたい対象にNavmesh Agentを追加します。
AddComponent > Navigation > Nav Mesh Agent

目的地はスクリプトで決定します。

using UnityEngine.AI;

を忘れずに!

    public GameObject target;

    void Start()
    {
        var navMeshAgent = GetComponent<NavMeshAgent>();

        navMeshAgent.SetDestination(target.transform.position);
    }

コメント

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