AI Navigation导航系统_unity基础开发教程

这篇具有很好参考价值的文章主要介绍了AI Navigation导航系统_unity基础开发教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在unity编辑器中,有一个灰常好用的插件:Navigation。有了它1,你就可以实现人物自动走到你鼠标点击的位置,而且还会自动避开障碍物,下面就教大家如何进行创建与使用。(文章中unity版本:Unity2021.3.20f1c1)

安装插件

虽然unity编辑器里有自带,也够用,但是要知道有这个专业的插件,了解更加深入,可不安装直接跳过。

  1. 选择Window,点击Package Manager
    ai nav,Unity开发,unity,游戏引擎,unity开发,游戏开发
  2. 在窗口左上角点击加号,
    点击Add package by name…
    ai nav,Unity开发,unity,游戏引擎,unity开发,游戏开发
  3. 在name输入框中输入com.unity.ai.navigation
    然后回车
    ai nav,Unity开发,unity,游戏引擎,unity开发,游戏开发
  4. 然后卡顿一下(正常现象,不必担心),会出现安装的进度条,
    然后安装成功
    ai nav,Unity开发,unity,游戏引擎,unity开发,游戏开发
    ai nav,Unity开发,unity,游戏引擎,unity开发,游戏开发
  5. 如果关闭Package Manager的窗口后,你发现你的unity编辑器右上角会出现金色字样的小框框,不用担心,这是正常现象。
    由于这个package包里的部分模块处于实验状态,所以这个框框是为了提醒你。如果你想更详细的了解的话,可以点击这个金色字样的小框框,然后选择 Why am I seeing this
    ai nav,Unity开发,unity,游戏引擎,unity开发,游戏开发

烘焙导航系统

在烘焙导航系统之前先简单的创建一个场景(这里我直接使用的之前文章里创建的场景)
ai nav,Unity开发,unity,游戏引擎,unity开发,游戏开发

  1. 场景创建完成之后,
    选择Window,
    选择AI,
    点击Navigation
    ai nav,Unity开发,unity,游戏引擎,unity开发,游戏开发
    然后在编辑器右侧会出现一个Navigation窗口
    ai nav,Unity开发,unity,游戏引擎,unity开发,游戏开发
  2. 选中场景中的地板
    ai nav,Unity开发,unity,游戏引擎,unity开发,游戏开发
  3. 在Inspector监视器窗口中,点击Static旁边的下拉箭头
    点击Navigation Static,
    让场景地板变成导航静态
    ai nav,Unity开发,unity,游戏引擎,unity开发,游戏开发
  4. 还是在地板的选中状态下,
    点击Navigation窗口,选择Object,确认Navigation Area是Walkable可行区域(有的默认可能是Not Walkable)
    ai nav,Unity开发,unity,游戏引擎,unity开发,游戏开发
  5. 选择Back,点击下面的Back,烘焙地图
    ai nav,Unity开发,unity,游戏引擎,unity开发,游戏开发
  6. 此时会发现地板有一层蓝色,表示成功了,已经给地板挂上了导航系统,
    ai nav,Unity开发,unity,游戏引擎,unity开发,游戏开发

障碍物必不可少,下面在导航系统中创建一下障碍物

障碍物创建

我们把这个电视柜当作障碍物来创建,也可以直接创建一个立方体,

ai nav,Unity开发,unity,游戏引擎,unity开发,游戏开发

选中障碍物,
在Navigation窗口中,点击Object,
勾选Navigation Static,
Navigation Area属性选择Not Walkable不可行区域

ai nav,Unity开发,unity,游戏引擎,unity开发,游戏开发

然后再选中Bake选项,
点击下方Bake再次烘焙一下

ai nav,Unity开发,unity,游戏引擎,unity开发,游戏开发

然后障碍物的不可行区域就被切割出来了

ai nav,Unity开发,unity,游戏引擎,unity开发,游戏开发

人物的AI导航

  1. 选中人物,添加组件Add Components
    ai nav,Unity开发,unity,游戏引擎,unity开发,游戏开发
  2. 选择Navigation
    ai nav,Unity开发,unity,游戏引擎,unity开发,游戏开发
    3.选择Nav Mesh Agent
    ai nav,Unity开发,unity,游戏引擎,unity开发,游戏开发
    注意:
    (如果跳过插件安装步骤的话是之后三个选项,同样选择Nav Mesh Agent)
    ai nav,Unity开发,unity,游戏引擎,unity开发,游戏开发
  3. 在资源窗口空白处点击右键,
    选择Create,
    选择Folder,创建一个文件夹,用来存放脚本代码
    命名Script
    ai nav,Unity开发,unity,游戏引擎,unity开发,游戏开发
  4. 双击刚刚创建的文件夹,在空白处右键,
    选择Create,
    点击C# Script,创建一个人物导航脚本
    命名PlayerNav
    ai nav,Unity开发,unity,游戏引擎,unity开发,游戏开发
    ai nav,Unity开发,unity,游戏引擎,unity开发,游戏开发s
  5. 双击打开文件,输入以下代码,完成后记得Ctrl+S保存一下。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;

public class PlayerNav : MonoBehaviour
{
    private NavMeshAgent agent;
    void Start()
    {
        agent = GetComponent<NavMeshAgent>();
    }

    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            RaycastHit hit;

            if (Physics.Raycast(Camera.main.ScreenPointToRay(Input.mousePosition), out hit, 100))
            {
                agent.destination = hit.point;
            }
        }
    }
}

  1. 回到编辑器,将代码文件拖到Player身上,挂载脚本
    ai nav,Unity开发,unity,游戏引擎,unity开发,游戏开发
  2. 运行游戏,点击鼠标就可以看到效果了。
    ai nav,Unity开发,unity,游戏引擎,unity开发,游戏开发

动态障碍物

在前面障碍物制作步骤,针对静态的障碍物,例如墙体、树木等,像垃圾桶和座椅属于可移动的动态障碍物,用上面的做法也可以,缺点就是移动一下障碍物就需要Bake烘焙一下,麻烦,不如一劳永逸。

下面就是动态障碍物的制作方法:
(其实很简单,只需要添加一个组件即可)文章来源地址https://www.toymoban.com/news/detail-833372.html

  1. 随便创建一个立方体
    ai nav,Unity开发,unity,游戏引擎,unity开发,游戏开发
  2. 调整一下大小,摆放到合适位置
    ai nav,Unity开发,unity,游戏引擎,unity开发,游戏开发
  3. 点击右下角Add Component,选择Navigation
    ai nav,Unity开发,unity,游戏引擎,unity开发,游戏开发
  4. 选择Nav Mesh Obstacle
    ai nav,Unity开发,unity,游戏引擎,unity开发,游戏开发
  5. 完成了,真就添加一个组件即可
    ai nav,Unity开发,unity,游戏引擎,unity开发,游戏开发

到了这里,关于AI Navigation导航系统_unity基础开发教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity AI 导航系统

    AI导航系统让角色能够理解自身需要走楼梯才能到达二楼或跳过沟渠。智能地移动游戏中的角色(或者 AI 行业中所称的代理)时,必须解决两个问题: 如何_推断_关卡来寻找目标, 然后如何_移动_到该位置。 这两个问题是紧密相关的,但性质却截然不同。关卡推断问题更具全

    2024年02月21日
    浏览(31)
  • Unity AI Navigation自动寻路

    Unity是一款强大的游戏开发引擎,而人工智能(AI)导航是游戏中至关重要的一部分。通过Unity的AI Navigation系统,开发者可以轻松地为游戏中的角色实现自动导航功能。本文将介绍Unity中AI Navigation的基础内容,帮助开发者快速入门。 Unity中的AI Navigation是一套用于游戏开发的导

    2024年04月16日
    浏览(25)
  • unity的AI自动寻路navigation基本用法

     1.场景中的地面和障碍物都设置成静态的,  2.给需要寻路的AI物体添加Nav Mesh Agent 组件, 3在window下面找到navigation,打开选all,调好参数后点击bake 4.运行时用代码实现鼠标点击屏幕一点,AI就自动避让障碍物到达(代码在下面)      

    2024年02月11日
    浏览(33)
  • unity关于navigation使用的问题——Window没有AI选项以及Navigation烘焙没有效果

    在Window中Package Manager的unity register下载AI Register包,然后你就发现window中有AI选项了 这个我看了其他人的解决方法都没用,然后我自己捣鼓出来了,希望可以给其他遇到这种情况的朋友一点帮助。  1.Gizmos一定要选上为蓝色,也就是右上角的那个类似地球的图标 2.Show only Selec

    2024年02月08日
    浏览(27)
  • Unity AI Muse 基础教程

    Unity AI 内测资格申请链接: Unity AI Package Manager Muse Sprite 安装 Muse Texture 安装 Muse Sprite:为Unity创建者提供了一种有趣的方式,可以直接在Unity编辑器中生成生产质量的Sprite资产,并将其与产品无缝集成。使用Muse Sprite生成精灵就像输入自然语言文本提示符并点击“Generate”一样简

    2024年02月05日
    浏览(31)
  • Unity AI Sentis 基础教程

    Sentis 是 AI 模型的本地推理引擎,它利用最终用户设备上的计算,而不是云服务器。它可以在可以部署 Unity 运行时的任何位置运行。它取代了 Barracuda 并解决了我们在 Barracuda 处于早期原型阶段时收到的许多反馈。最重要的是,Sentis 可以以游戏速度运行许多神经网络。Sentis 目

    2024年02月04日
    浏览(35)
  • unity中没有AI导航/导航网格怎么办

    ###1.1 很多初学unity的小伙伴,在学到地形导航网格的时候会发现自己没有AI的面板,这是什么原因呢? 2.1 因为unity为了让大家的项目体积小一点,打开更快,很多内置的包并不会直接加到你的项目中。而是根据个人需求添加。 2.2只需要在 窗口-包管理器-unity注册表 里面找到对

    2024年02月08日
    浏览(39)
  • 【Unity】导航 Navigation 设置:窄桥、隧道、斜坡、台阶、坠落、跳跃

    Navigation 是导航网格的核心模块,可以实现对 Agent(代理)、Area(区域)、Bake(烘焙)、Object(对象)的配置。 烘焙设置可以调整烘焙的方式,如代理半径、可移动斜坡角度等。 Agent Radius :代理半径,这个代理半径决定了烘焙路面距离墙面的距离,有时两面墙距离过近时可

    2024年02月04日
    浏览(42)
  • unity-AI自动导航

    给人物导航 一.地形创建 1.首先我们在Hierarchy面板中创建一个地形对象terrian,自行设定地形外貌,此时我们设置一个如下的地形外观。  二.创建导航系统 1.在主人公的Inspector、面板中添加Nav Mesh Agent (导航网格代理),而后点击windows-AI-Navigation(航行器),则会出现如下面板

    2024年02月09日
    浏览(24)
  • Unity3D学习记录03——Navigation智能导航地图烘焙

    首先还是在Package Manager中安装AI Navigation 接着选择我们场景的地面,右键,找到AI的NavMesh Surface,它会为我们的Ground添加一个叫NavMesh Surface的子物体 在Inspector窗口中可以看到它的详细的参数: 图中的R,H为你人物的参数,45°为你的人物可以爬行的最大角度 Agent Type里面可以改

    2024年02月08日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包