unity中AI的自动追踪

我们使用Navigation进行AI的自动寻路

  1. 给环境添加Navigation,点击选中环境(或者你的地面什么的,任务行走的模型),然后按如下顺序Window->AI->Navigation
  2. 场景模型会出现Navigation面板,在其中设置Bake即可
    在这里插入图片描述
  3. 给场景中的AI物体添加Nav Mesh Agent组件
  4. 在脚本中获取该组件,并设置目标位置即可NavMeshAgent.SetDestination(Vector3 position)

具体例子如下:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;

public class EnemyBunnyMove : MonoBehaviour
{
    //自动追踪angent
    private NavMeshAgent _mNavMeshAgent;
	
	//AI要追踪的物体,我们的玩家的位置
	private Transform _playerTransform;
    // Start is called before the first frame update
    
    void Start()
    {
        _mNavMeshAgent = GetComponent<NavMeshAgent>();

		//设置追踪停止的最近距离,小于等于这个具体,就不会在进行追踪,但是一超过就会继续追踪
        _mNavMeshAgent.stoppingDistance = 2.0f;

    }

    // Update is called once per frame
    void Update()
    {
    	//设置目标位置
        _mNavMeshAgent.SetDestination(_playerTransform.position);
    }
}

发布了201 篇原创文章 · 获赞 210 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_40666620/article/details/104694405