[Unity6] NavMesh Linkを使って、離れた足場へAgentを移動させる方法。

(2025/02/18)
[Unity6] NavMesh Linkを使って、離れた足場までAgentを運ぶ方法。

開発環境
  • Unityのバージョン : 6000.0.36f1
  • NavMesh Linkとは?

    NavMesh Linkは、NavMeshで接続されていないエリア間を繋ぐことができるコンポーネントです。
    NavMesh Linkを使えば、NavMeshエリアが繋がっていない離れた足場同士とつなげ、Agentが行き来できるようにすることが出来ます。

    NavMesh Linkの使い方

    ここでは例として下の画像のような離れた足場を作り、NavMesh SurfaceでBakeします。
    ここでは、赤色のオブジェクトにNav Mesh Agentがアタッチされており、青色のオブジェクトの位置が目的地に設定されています。

    [Unity6] NavMesh Linkを使って、離れた足場までAgentを運ぶ方法。

    二つの足場の中心に、空のゲームオブジェクトを設置し、Add Componentから
    Navmesh Linkを追加します。 Navmesh LinkコンポーネントのPositionのZの値を調整して、二つの足場の上に円形の目印が表示されるようにします。

    [Unity6] NavMesh Linkを使って、離れた足場までAgentを運ぶ方法。

    この状態でシーンを実行すると、赤色のAgentが青色のオブジェクトがある足場まで渡れているのが確認できます。

    [Unity6] NavMesh Linkを使って、離れた足場までAgentを運ぶ方法。

    任意のオブジェクトの場所から別のオブジェクトの場所をつなげる方法

    今回は例として、先ほどのサンプルシーンに二つのCubeを追加し、この二つのCubeをリンクの始点と終点にしようと思います。

    [Unity6] NavMesh Linkを使って、離れた足場までAgentを運ぶ方法。

    Navmesh LinkコンポーネントのPositionのStart Transformにリンクの始点に赤色のAgent側のCube、End Transformにリンクの終点の青色のオブジェクト側のCubeをそれぞれアタッチします。

    [Unity6] NavMesh Linkを使って、離れた足場までAgentを運ぶ方法。

    以下の画像のようにリンクが表示されれば成功です。

    [Unity6] NavMesh Linkを使って、離れた足場までAgentを運ぶ方法。

    シーンを実行すると、赤色のAgentが正しくリンクの位置を認識しているのが確認できます。

    [Unity6] NavMesh Linkを使って、離れた足場までAgentを運ぶ方法。