いんでぃーづ

ゲームいろいろ、いろいろ自由

Unity : NavMeshAgentで、これから通る経路を描画する

ゲームの効果として、キャラクターがこれから通る道を線で描画してみるなど。

経路の描画で使用するのはLineRendererです。

public class NavMeshPathTest : MonoBehaviour {

    [SerializeField]
    Transform target;     // 目標地点
    [SerializeField]
    NavMeshAgent agent;
    [SerializeField]
    LineRenderer line;

    NavMeshPath path;

    void Start () {
        // NavMeshAgent に目的地を設定する
        agent.SetDestination (target.position);

        // 経路取得用のインスタンス作成
        path = new NavMeshPath ();
        // 明示的な経路計算実行
        agent.CalculatePath (target.position, path);

        // LineRendererで経路描画!
        line.SetVertexCount (path.corners.Length);
        line.SetPositions (path.corners);
    }

    void Update () {
    }
}

NavMeshAgentで経路を計算すると、cornersプロパティにVector3の配列として格納されます。 それをLineRendererで描画するだけ。

f:id:sugar_affordance:20160520094501g:plain


“Unity” and Unity logos are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere, and are used under license.


免責事項

当サイトの広告バナー、リンクによって提供される情報、サービス内容について、当サイトは一切の責任を負いません。

また、当サイトの情報を元にユーザ様が不利益を被った場合にも、当サイトは一切の責任を負いません。

すべて自己責任でお願いします。