Unity3D AI导航 Navigation
设置步骤:
- 调出Navigation面板:Window -> AI -> Navigation
- 选择所有环境物体(静止物体),勾选【Navigation Static】,如果是不连接的对象勾选【Navigation OffMesh】
- 设置环境物体(静止物体)是否能通过,山体、墙设置【Not Walkable】,平面设置【Walkable】
- 其他数据都调整完成后,可以点击【back】按钮。(圆柱体的半径越小,导航的边缘空白越小)
- 选择移动物体,添加 Navigation -> Nav Mesh Agent,还有刚体(Rigidbody)
设置脚本
- 脚本调用navigation组件,必须先引用包:
using UnityEngine.AI;
- 通过摄像机屏幕点击获取射线对象:
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
- 射线是否有碰撞对象:
Physics.Raycast(ray,out hit, 20)
“hit”是射线碰撞的点对象,“20”是射线最远距离 - 设置导航组件的终点:
nav.SetDestination(hit.point);
public class NavigationTest : MonoBehaviour
{//先引用UnityEngine.AI包private NavMeshAgent nav;// Start is called before the first frame updatevoid Start(){//获取导航组件nav = GetComponent<NavMeshAgent>();}// Update is called once per framevoid Update(){//判断用户是否按鼠标左键if (Input.GetButtonDown("Fire1")){//通过摄像机屏幕点击获取射线对象Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);//碰撞对象变量RaycastHit hit;//判断射线是否有碰撞对象,射线长度限制为20if(Physics.Raycast(ray,out hit, 20)){//设置导航组件的终点,有了终点导航就会指引物体移动nav.SetDestination(hit.point);}}}
}
讲解Area用法:https://blog.csdn.net/shenqiankk/article/details/100145696
Unity3D AI导航 Navigation相关推荐
- 学习|Unity3d的导航实现循环线路移动
本文长度为2703字,预计阅读7分钟 前言 前阵子用Unity3d做的那个模拟收费的动画,主要是模拟了一个项目中的场景,让人看到更直观一些,最主要的目的还是最近在学习Unity3d,直接以实际项目应用 ...
- 一年节省费用100万,AI导航误差不到1米,杭州奥体“大小莲花”智慧场馆大揭秘...
来源: https://www.thehour.cn/news/512203.html 近日,杭州奥体中心主体育场和网球中心(大小莲花)智慧化改造第一期工程结束,"大小莲花"数智管 ...
- 谁是各领域AI的top1?人工智能领域AI工具排名,各类产品一网打尽(文本AI、图片AI、编程AI、办公AI、视频AI、音频AI,AI导航网站排名)链接简介、使用方法一目了然(持续更新)可玩性极高!
AI:人工智能领域AI工具产品集合分门别类(文本类.图片类.编程类.办公类.视频类.音频类.多模态类)的简介.使用方法(持续更新)之详细攻略 导读:最近,ChatGPT.GPT-4等人工智能技术席卷了 ...
- Unity 显示AI导航路线
一.使用了以下几个小功能: 预制件,用来制作障碍物. 使用AI导航,制作导航网格. 加载Nav Mesh Agent组件使用导航算法. 鼠标点击射线. 将普通图片转换为sprite图片.点击图片在in ...
- Element-UI组件之导航Navigation
Element-UI组件之导航Navigation NavMenu 导航菜单 顶栏 侧栏 折叠 Tabs 标签页 基础用法 选项卡样式 卡片化 位置 自定义标签页 动态增减标签页 自定义增加标签页触发 ...
- 【安卓笔记】—— 页面导航 Navigation(3)
ViewModel.LiveData.DataBinding 和 Navigation的 结合 搭建界面 创建 ViewModel DataBinding 绑定数据 ViewModel 核心作用:管理 ...
- 【安卓笔记】—— 页面导航 Navigation(2)
Navigation 中的数据传递和过渡动画 创建一个简单的页面导航 传递静态数据 传递动态数据 自定义动画 transalate:移动 scale:缩放 rotate:旋转 创建一个简单的页面导航 ...
- Android JetPack底部导航Navigation 组件的介绍与使用
1.介绍: 在以前的应用中,针对多导航模块的使用,常见的有tabhost或者FragmentTabHost,但是这些在使用的过程中,非常臃肿,包括加载和管理也不如人意.在AndroidX中,官方引入N ...
- unity3d AI 学习--个体行为操控(1)--具体行为类(2)
摘自<Unity3D人工智能编程精粹> 以下都是继承Steering类的,直接上代码了: Pursuit(追逐): using UnityEngine; using System.Coll ...
最新文章
- python怎么打开交互式窗口-如何在交互式环境中执行Python程序
- Web框架之Django_06 模型层了解(F查询、Q查询、事务、update和save、only和defer、choice属性、bulk_create)
- 本月 Firefox 65 将加入 Flexbox Inspector 开发者工具
- python英文词云代码_使用python实现个性化词云的方法
- 光伏领跑者火热前行 可靠性护航“长跑”
- redis 哨兵_Redis的哨兵模式
- ES8新特性_async和await结合发送ajax请求---JavaScript_ECMAScript_ES6-ES11新特性工作笔记051
- Netty工作笔记0002---Netty的应用场景
- windows中使用Git工具连接GitHub(配置篇)
- JavaSE: SuppressWarnings[转]
- [网络流24题] 最长k可重线段集问题 (费用流)
- 百度网盘视频倍速方法
- 微软提供的无限次延长Vista激活
- 世界第一代电子计算机诞生在,1、世界上第一台电子计算机诞生于
- 【总结整理】关于挪车和虚拟号的思考-转载v2ex
- 鸿蒙 OS 2.0 公测!已适配多款机型
- Spire.Doc利用word样式读取word文字内容(.NET)
- java下拉框怎么做_java下拉框怎么做?
- jbmp.jar 下载地址
- MobaXterm连接虚拟机时出现Access denied