Unity中实现自动寻路
NavMeshAgent中还提供有移动速度控制加速度控制等变量可以修改,感兴趣的可以去看官网。可以看到烘焙过后的地面上面像贴了一层塑料膜一样。
·
如何使用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
更多推荐


所有评论(0)