Unity - A计划(一年有效期) 扫二维码继续学习 二维码时效为半小时

(66评价)
价格: 1299.00元
1对1 答疑即时回复7天无理由退款30天价保提问必答

服务保障

1对1 答疑

提供专属的一对一在线答疑,快速答疑解惑。

即时回复

及时响应学习咨询,帮助解决问题。

7天无理由退款

购买后7天内可申请无理由退款。

30天价保

购买后30天内如遇降价,可申请价保。

提问必答

对于提问做到有问必答,帮您扫清学习过程中的种种障碍

秘密行动控制机器人巡逻只会移动到第一个目的地然后就不动了是怎么回事
猫懒发起了问答2018-10-30
3
回复
618
浏览
public class EnemyMoveAI : MonoBehaviour {

    public Transform[] wayPoints;
    public float patrolTime = 3f;
    private int index = 0;
    private float patrolTimer = 0;
    private NavMeshAgent navAgent;

    void Awake()
    {
        navAgent = GetComponent<NavMeshAgent>();
        navAgent.destination = wayPoints[index].position;
    }
	
	// Update is called once per frame
	void Update () {
        Patrolling();
	}

    private void Patrolling()
    {
        if (navAgent.remainingDistance < 0.5f)
        {
            navAgent.isStopped = true;
            patrolTimer += Time.deltaTime;
            if (patrolTimer > patrolTime)
            {
                index++;
                index %= 4;
                navAgent.destination = wayPoints[index].position;
                patrolTimer = 0;
            }
        }
    }
}

这边目的地也赋值了

所有回复
  • 老师_Trigger • 2018-11-01

    同学你好,单看这一个脚本是没问题的,老师感觉只寻找第一个点之后不去寻找应该是满足了移动条件或者停止了,同学可以下载一下老师的源码对比看一下,也可以自己Debug一下,看看我们代码哪里出了问题。

    • 猫懒 • 2018-11-01

      试了试把代码里的navAgent.isStopped设为false。就可以都移动到四个点了 这是怎么回事呢

      (0) 回复
    • 风客 • 2018-11-22

      回复 @ 猫懒: 估计是方法问题,旧版本的Stop方法只停止当前的节点的运动,到下个节点会继续运动,新版本的isStopped设置为true后整个Nav的运动都会停止,直到isStopped设置为false后再开始运动

      (0) 回复
    还有-3条回复,点击查看
    你还没有登录,请先登录或注册!
发表回复
你还没有登录,请先 登录或 注册!