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 而不是每次更新。
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 而不是每次更新。