Unity中实现自动寻路
如何使用Unity自带的AI寻路功能。
1.首先在场景中创建3个物体(平面,一个敌人胶囊体,一个玩家物体)(注意添加刚体组件)
2.给地面添加寻路组件(Nav Mesh Obstacle)
设置为静态导航
添加导航并点击烘焙
可以看到烘焙过后的地面上面像贴了一层塑料膜一样
3.选中敌人添加(Nav Mesh Agent)
4.编写寻路脚本
using UnityEngine;
using UnityEngine.AI;public class MovetoPlayer : MonoBehaviour
{// 声明 NavMeshAgent 组件private NavMeshAgent myNavMeshAgent;public GameObject player;void Start(){// 获取 NavMeshAgent 组件myNavMeshAgent = gameObject.GetComponent<NavMeshAgent>();}void Update(){myNavMeshAgent.destination = player.transform.position;}
}
5.将脚本加到敌人身上并将玩家拖入到对应位置
6.运行游戏在场景中拖动玩家的位置就会发现敌人自动追踪玩家了
7.补充
NavMeshAgent中还提供有移动速度控制加速度控制等变量可以修改,感兴趣的可以去看官网。
unity官网解释NavMesh 代理组件参考 |人工智能导航 |1.1.7