Unity navMeshAgent 不适用于地形

Unity navMeshAgent not working on terrain

Unity Navmeshagent 不工作!在地形上!。我对 unity 还很陌生,需要有关 navmesh 代理的帮助。

只要实体或瘦长的人不动就好了。它实际上在检查器中,但每秒只有 0.0001。 Bake 和 navmesh 代理设置是照片。

脚本:

using UnityEngine;
using UnityEngine.AI;

public class enemymovement : MonoBehaviour
{
    private NavMeshAgent nma;
    public Transform player;
    private void Awake()
    {
        nma = GetComponent<NavMeshAgent>();
        StartCoroutine("followpath");
    }

    private IEnumerator followpath()
    {
        while (true)
        {
            nma.SetDestination(player.position);
            yield return new WaitForSeconds(0.1f);
        }
    }
}

您需要使用nma.SetDestination(player.position)

并且不要将其放入更新中,因为这意味着您的代理将尝试在每一帧中计算新路径。我建议使用一个协程,它会不时调用 SetDestination 而不是每次更新。