読者です 読者をやめる 読者になる 読者になる

いんでぃーづ

個人でゲーム開発してる上で吸収したモノたち紹介。UnityからGIMPまでなんでも。デザインとかゲーム論まで語っちゃうよ的なアレ。

MENU
{スポンサーリンク}

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

C# Tips Unity

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

経路の描画で使用するのは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

Amazon.co.jpアソシエイト