真的是这样的吗_

真的是这样的吗_

概述

在游戏的制作过程中,寻路功能一定是非常重要的部分,他可以为主角寻路,也可以运用到敌人追击等,相比于自己实现的难度,使用寻路组件就显得简单的多,那接下来就开始学习这部分的内容吧


1.安装AI Navigation组件

我使用的Unity版本是2022.3.15f1c1,(我记得低版本的Navigation组件是直接安装到Unity的,我这个版本需要在Window/Package Manager中下载)

Unity Navigation 入门(新版)-LMLPHP

2.制作一个Player

1.创建一个Capsule(胶囊体)

Unity Navigation 入门(新版)-LMLPHP

2.添加NavMeshAgent组件

Unity Navigation 入门(新版)-LMLPHP

3.创建一个导航地面

创建一个Plane

Unity Navigation 入门(新版)-LMLPHP

1.添加地图烘焙组件

Unity Navigation 入门(新版)-LMLPHP

4.烘焙地面和添加控制脚本

1.烘焙地面,点击刚才创建平面添加的NavMeshSurface组件的Bake

Unity Navigation 入门(新版)-LMLPHP

2.烘焙成功后是这样的

Unity Navigation 入门(新版)-LMLPHP

3.添加控制脚本

Target 就是你想指定的目标物体,我这里使用的是一个Cube

using UnityEngine;

using UnityEngine.AI;

public class NavigationMove : MonoBehaviour

{

    NavMeshAgent agent;

    public GameObject Target;

    // Start is called before the first frame update

    void Start()

    {

        agent = GetComponent<NavMeshAgent>();

        agent.SetDestination(Target.transform.position);

    }

}

然后把这个脚本挂载capsule(胶囊体)上,指定一下Target(你想移动到的目标点)。然后点击运行,导航组件就运行起来了。

(快速入门部分结束线,以下部分是作者的对比吐槽 --------------------------------------------------)

1: 如果你接触过旧版的Navigation组件,你会使用起来相比于新版来说会麻烦很多,首先地面烘焙就很麻烦,需要勾选静态的,烘焙地面还比较慢,我感觉都没有延迟,一下就生成好了。

2:障碍物的划分,现在只需要直接把障碍物放在平面上烘焙就可以生成了,相比于之前的方便多了。如下,这个cube就是最简单的cube什么都没有添加,就可以生成导航障碍物(非常好用)

Unity Navigation 入门(新版)-LMLPHP


作者的一点废话 

学习了这部分的内容赶紧运用到你的项目吧。

如果帮助到你就请点个赞吧,你的支持是我创作的动力!!
日志:
2024年5月5日 23:23//上传Unity Navigation 入门 上传,五一节玩耍了几天,这里给大家迟到的五一节祝福啦!这部分的详细内容,我之后再补,现在的快速入门部分,常见的使用应该是够了。

05-06 14:49