如何使用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

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐