我们使用Navigation
进行AI的自动寻路
- 给环境添加
Navigation
,点击选中环境(或者你的地面什么的,任务行走的模型),然后按如下顺序Window
->AI
->Navigation
- 场景模型会出现
Navigation
面板,在其中设置Bake
即可
- 给场景中的AI物体添加
Nav Mesh Agent
组件 - 在脚本中获取该组件,并设置目标位置即可
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);
}
}