Unity 之NavMeshAgent 组件(导航和路径寻找的组件)

文章目录

  • **作用**:
  • **属性和方法**:
  • **用途**:
  • **注意事项**:

在这里插入图片描述

NavMeshAgent 是Unity引擎中用于导航和路径寻找的组件。它可以使游戏对象在场景中自动找到可行走的路径,并在避免障碍物的情况下移动到目标位置。
以下是关于NavMeshAgent 组件的详细解释:

作用

  • NavMeshAgent 负责控制游戏对象的导航行为。它使用场景中的导航网格(NavMesh)来寻找到达目标位置的最佳路径,并自动处理避免障碍物。

属性和方法

  • destination:这是一个属性,用于设置或获取NavMeshAgent的目标位置。游戏对象将自动寻找一条路径以到达这个目标位置。

  • speed:控制NavMeshAgent移动的速度。

  • acceleration:设置加速度,影响移动的开始和停止。

  • angularSpeed:控制游戏对象旋转的速度,用于面向目标或调整方向。

  • stoppingDistance:指定到达目标位置的距离,当游戏对象接近这个距离时会减速并停止。

  • isStopped:一个布尔属性,用于检查或控制游戏对象是否停止移动。

  • SetDestination(Vector3 destination):一个方法,用于设置NavMeshAgent的目标位置。

  • Move(Vector3 offset):在当前位置基础上移动游戏对象,不会影响目标位置。

用途

  • 游戏中角色的自动导航:您可以将NavMeshAgent附加到角色对象上,使其能够根据玩家的输入或其他条件自动找到路径并移动。

  • NPC(非玩家角色)行为:将NavMeshAgent附加到NPC上,使其能够在游戏世界中自动导航,如在城市中行走、巡逻等。

  • 游戏中的机器人、怪物等的移动:让这些对象通过NavMeshAgent在场景中进行智能的自动导航,避免障碍物。

注意事项

  • 在使用NavMeshAgent之前,您需要在Unity中生成导航网格(NavMesh)。导航网格是一个表示可行走区域的三维网格,NavMeshAgent将在此基础上计算路径。

  • 要在游戏对象上使用NavMeshAgent,您需要在场景中创建一个NavMeshAgent组件,并将其拖放到游戏对象上。通常,在场景中只需要一个NavMeshAgent,因为您可以通过代码来控制不同对象的导航行为。

总之,NavMeshAgent是Unity中用于实现自动导航和路径寻找的重要组件,可用于实现游戏中的角色和对象的智能移动。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/81943.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

VB6创建ActiveX exe简单方法

VB6创建的COM即可以是线程内的DLL,也可以是线程外独立的EXE,有些32位的旧东西做activex.exe封装后在新硬件新软件x64位上用还是可以的。其实activex DLL和activeX EXE主要功能并不需要改变。activex DLL可以是如下的样子: 一个主工程文件&…

Android OpenCV(七十四): Android OpenCV SDK 升级至 4.8.0

前言 如昨日文章所述,OpenCV 4.8.0 已经发布,虽然系列文章已经停更很久,但是版本升级工作笔者是很乐意快速完成的。 OpenCV 4.8.0 Android SDK:https://github.com/opencv/opencv/releases/download/4.8.0/opencv-4.8.0-android-sdk.zip 更新日志:https://github.com/o…

CSS中的字体属性有哪些值,并分别描述它们的作用。

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ font-style⭐ font-weight⭐ font-size⭐ font-family⭐ font-variant⭐ line-height⭐ letter-spacing⭐ word-spacing⭐ font⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专…

飞机打方块(二)游戏界面制作

一、背景 1.新建bg节点 二、飞机节点功能实现 1.移动 1.新建plane节点 2.新建脚本GameController.ts,并绑定Canvas GameControll.ts const { ccclass, property } cc._decorator;ccclass export default class NewClass extends cc.Component {property(cc.Node)canvas:…

Unity导入google.protobuf失败,无法找到google命名空间

问题: 1.刚开始把protobuf的文件夹直接从其他项目里(unity2021)里复制到unity(2020)版本,当时报错protobuf.dll的依赖项system.memory版本不对。 2.没有使用原来的protobuf文件了。使用vs2019的NuGet管理包来下载Google.Protobuf ,仍然报错找…

操作系统练习:在Linux上创建进程,及查看进程状态

说明 进程在执行过程中可以创建多个新的进程。创建进程称为“父进程”,新的进程称为“子进程”。每个新的进程可以再创建其他进程,从而形成进程树。 每个进程都有一个唯一的进程标识符(process identifier,pid)。在L…

STM32--DMA

文章目录 DMA简介DMA特性 DMA框图DMA基本结构DMA请求数据宽度对齐DMA数据转运工程DMAADC多通道 DMA简介 直接存储器存取(DMA)用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。无须CPU干预,数据可以通过DMA快速地移动,这就节省了CPU的…

Debezium日常分享系列之:临时阻塞快照Ad-hoc blocking snapshots

Debezium日常分享系列之:临时阻塞快照Ad-hoc blocking snapshots 一、认识临时阻塞快照二、临时阻塞快照信号格式三、临时阻塞快照效果 一、认识临时阻塞快照 增量快照于大约两年前在 Debezium 1.6 中首次引入,并且在社区中仍然非常受欢迎,用…

Python:逢七拍腿游戏

场景模拟: 通过在 for 循环中使用 continue 语句实现计算拍腿次数,即计算从1到100(不包括100),一共有多少个尾数为7或7的倍数这样的游戏,代码如下: total 99 # 记…

使用swoole实现实时消息推送给客户端

一. 测试服务端 //测试服务端public function testServer(){$server new Server(192.168.0.144, 9501, SWOOLE_BASE, SWOOLE_SOCK_TCP);$server->on(request, function ($request, $response) {$response->header(Content-Type, text/plain);$response->end("He…

小白的Node.js学习笔记大全---不定期更新

Node.js是什么 Node. js 是一个基于 Chrome v8 引擎的服务器端 JavaScript 运行环境Node. js 是一个事件驱动、非阻塞式I/O 的模型,轻量而又高效Node. js 的包管理器 npm 是全球最大的开源库生态系统 特性 单一线程 Node.js 沿用了 JavaScript 单一线程的执行特…

Collada .dae文件格式简明教程【3D】

当你从互联网下载 3D 模型时,可能会在格式列表中看到 .dae 格式。 它是什么? 推荐:用 NSDT编辑器 快速搭建可编程3D场景。 1、Collada DAE概述 COLLADA是COLLAborative Design Activity(中文:协作设计活动&#xff09…

高效解决Anaconda Prompt报错Did not find VSINSTALLDIR这类问题

文章目录 回忆问题解决问题step1step2 回忆问题 类似于划红线部分然后还有很多行的报错信息,最后一行肯定是红色划线部分 解决问题 step1 找到 D:\Anaconda\envs\pytorch\etc\conda\activate.d在这个文件夹内会有两个文件,删除 vs2017_compiler_v…

vue3生命周期

原理 vue3也提供了Composition API形式的生命周期钩子,与vue2.x中钩子对应关系如下: beforeCreate setup() created setup() beforeMountonBeforeMount mountedonMounted beforeUpdateonBeforeUpdate updat…

AI百度文心一言大语言模型接入使用(中国版ChatGPT)

百度文心一言接入使用(中国版ChatGPT) 一、百度文心一言API二、使用步骤1、接口2、请求参数3、请求参数示例4、接口 返回示例 三、 如何获取appKey和uid1、申请appKey:2、获取appKey和uid 四、重要说明 一、百度文心一言API 基于百度文心一言语言大模型…

【MaxKey对接一】对接gitlab的oauth登录

MaxKey的Oauth过程 引导进入 GET http://{{maxKey_host}}/sign/authz/oauth/v20/authorize?client_idYOUR_CLIENT_ID&response_typecode&redirect_uriYOUR_REGISTERED_REDIRECT_URI 登录后回调地址 YOUR_REGISTERED_REDIRECT_URI/?code{{code}} 换取Access Token GET…

React 调试开发插件 React devtools 的使用

可以在谷歌扩展应用商店里获取这个插件。如果不能访问谷歌应用商店,可以点此下载最新版 安装插件后,控制台出现 “Components” 跟 “Profiler” 菜单选项。 查看版本,步骤: 下面介绍 react devtools 的使用方式。 在 Component…

安装jenkins-cli

1、要在 Linux 操作系统上安装 jcli curl -L https://github.com/jenkins-zh/jenkins-cli/releases/latest/download/jcli-linux-amd64.tar.gz|tar xzv sudo mv jcli /usr/local/bin/ 在用户根目录下,增加 jcli 的配置文件: jcli config gen -ifalse …

如何快速制作解决方案PPT

如何快速制作解决方案PPT 理解客户的需求 在开始制作解决方案PPT之前,需要对客户的需求进行深入了解和分析。这包括客户需要解决的问题、目标、预算和时间限制等。 需求分析 客户需要解决的问题客户的目标预算限制时间限制 确定解决方案 基于客户的需求&#x…

小程序-基于vant的Picker组件实现省市区选择

一、原因 因vant/area-data部分的市/区数据跟后台使用的高德/腾讯省市区有所出入,故须保持跟后台用同一份数据,所以考虑以下几个组件 1、Area 2、Cascader 3、Picker 因为使用的是高德地图的省市区json文件,用area的话修改结构代价太大&…
最新文章