0

NavMesh で NPC プレハブをグリッド形式でインスタンス化しようとしています。プレハブにはコンポーネント NavMeshAgent があり、NavMesh がベイクされています。エラーが発生しています:

"SetDestination" can only be called on an active agent that has been placed on a NavMesh.
UnityEngine.AI.NavMeshAgent:SetDestination(Vector3)

"GetRemainingDistance" can only be called on an active agent that has been placed on a NavMesh.
UnityEngine.AI.NavMeshAgent:get_remainingDistance()

これは、NavMesh の上に配置された空のゲームオブジェクトで次のスクリプトを使用します。

 // Instantiates a prefab in a grid

    public GameObject prefab;
    public float gridX = 5f;
    public float gridY = 5f;
    public float spacing = 2f;

    void Start()
    {
        for (int y = 0; y < gridY; y++)
        {
            for (int x = 0; x < gridX; x++)
            {
                Vector3 pos = new Vector3(x, 0, y) * spacing;
                Instantiate(prefab, pos, Quaternion.identity);
            }
        }
    }
4

3 に答える 3