RAIN{INDIE} 自动寻路

2023-11-19

     Unity游戏中有较多的自动寻路插件,看过几个,大同小异。而RAIN中的Behavior Tree感觉很好,听名字就知道很条理。
     下面,就用它做个简单的寻路小例子。

 

     首先,导入RAIN的包,结构如下:

 

在使用的过程当中还会产生几个文件夹用来存放Editor生成的Tree和临时文件等。

      接下来创建几个简单的游戏对象,大致如下: 


 

 简单布置了一下场景,  蓝色的胶囊体代表Player, 箱子(MoveTarget)是我们要移动到的位置,地面是一个Plane。现在要做的就是让Player移动到目标位置MoveTarget。在Unity中实现这个功能很简单,但如果让Player主动去发现箱子,并走到箱子面前就不如RAIN Editor简单了,AI就是让Player具有人能发现事物的功能。
        在RAIN中,已经定义好了视觉、触觉、嗅觉、味觉等,我们这里就用视觉来实现这个功能。


       我们先给箱子作一个标记,标记自己是一个箱子。选中箱子,在RAIN菜单下选择Creat Entity,创建实体,并做如下图设置:


 
在Select Type中选择可视化单位Visual Aspects。  Aspect Name是此箱子的标记,我们起名字为box,RAIN Mind需要用它来发现东西,包括其它模拟感官功能。

     接下来就要设置主要的Player了。选中Player,RAIN菜单中选择Create AI。经过这一步,Player已经有了一个子GameObject——AI:


 

 在这里可以给Player设置变量,Mind,运动,Animation,Navigation,感官等。

选中倒数第二项类似眼睛的图标,在这里我们赋予Player视觉能力,在Add Sensor中选择视觉:

 

这样Player就能模拟人的视觉了(可以看到场景有的箱子,如果加入的是食物以及嗅觉,便可以觅食了)。

由于我们这个例子中并没有使用Path(可以自己了解,其实跟Navigation差不多),所以我们需要关掉有效路径请求选项:


 

接下来最重要的一步,选中第二项,点击下面Open Behavior Editor,打开Behavior Editor的编辑窗口,输入名称,点击OK:


 
 我们选中root,右键,Create--Actions--Detect,创建一个感觉结点,并作如下的设置:


 

 Aspect这里需要使用双引号,(e打头的也可以定义表达式,是特殊项),是要找box(之前在实体处定义,需要统一名称)。Aspect Variable,我理解为是在这个Tree中的临时变量,其它以后结点可以调用。。此处是把发现的box放在名为findBox的临时变量当中。Repeat,我们选择Until Success,表示直到发现box目标才执行下一个结点。

接下来,就定义所谓的下一个结点。我们找到目标后要让Player向Box寻路,所以在root上右键,Create,Actions,Move,并作如下设置:

 

MoveTarget是要填写移动到的标记点,这里我们填写得到的box信息,当然这个也可以直接写坐标点(10.0,0.0,10.0)。。

做完上面的步骤我们的龙已经画完了,接下来就是点睛了,这时我们可以关掉Behavior Tree的编辑窗口。没有错的话在项目Assets下已经生成了AI目录,我们在其中的BehaviorTrees文件夹下可以看到我们生成的文件(过程中Tree的编辑是自动保存的)。

打开之前的AI的Mind选项,将这个文件拖过来:



 
点击Play,看看有没有效果呢。

 

如果Player并没有移动到Target,试着看一下Player的可视范围:



 如果box是在Player的可视范围之外,那Player是不能看到box的,Player只能看到那么远。。。

其它的原因就请按照步骤,仔细找找吧,另可以点击这里下载工程文件。由于我的Unity版本是4.3.4.f1,低版本的朋友可能是无法使用的,请注意。
 
文章永久链接:

http://751401909.iteye.com/blog/2017143

 

 

 

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

RAIN{INDIE} 自动寻路 的相关文章

  • Unity3D如何修改Button显示的文字以及深入了解Button组件

    在创建了一个Button后 结构如图 先仔细观察一下Button的Inspector视图 发现其中竟然有一个叫Button的脚本组件 新建脚本 代码如下 并将该脚本绑定给Canvas组件 using UnityEngine UI using
  • [Unity XLua]热更新XLua入门(一)-基础篇

    Aladdin XLua 前言 前段时间腾讯开源了一个内部热更框架XLua在Unity开发群里引起一阵热议 也受到广大开发者的热捧 然后我当然也抱着好奇的心去学习学习 后面也会将扩展之后的工程放在git上 大家一起学习交流 在此感谢XLua
  • Bridge Champ举办人机对战赛:NFT游戏与传统竞技共生发展编织新格局

    概要 现在 NFT与体育竞技正日益紧密地联系在一起 一些体育项目开始推出与赛事或球队相关的NFT 同时也有部分NFT游戏开始举办电子竞技赛事 这种共生发展正在改变体育竞技的生态 笔者采访了桥牌冠军项目相关负责人 探讨NFT游戏与传统体育竞技
  • 投资捕鱼游戏市场的如何避雷?以及研发技术问题。

    随着国内捕鱼市场在姚记科技 波克城市 途游等捕鱼龙头的深耕下 整个产品的研发 运营门槛都了非常大的提高 对于目前想要研发出一款具有竞争力的产品和版本 投入低于500万的资金很难出有竞争力的产品 加上运营门槛的提高 运营成本至少需要准备500
  • Unity3D:按键生成物件,Instantia…

    在按下按键之后 可以在画面中生成之前定义好了的物体 这里使用了Instantiate函数来生成 1 先在游戏中定一个空物件GameObject 创建空物件快捷键 ctrl shift n 2 在视图中放置 3 编写脚本 脚本 SpaceCh
  • Unity3d 插件 系列——DoTweenPro介绍(图文详细+案例)

    Unity3d 插件 系列 DoTweenPro介绍 图文详细 案例 前言 一 DoTweenPro简介 二 DoTweenPro安装 三 DoTweenPro主要组件 1 DoTweenAnimation 2 DoTweenPath 3
  • Unity之获取游戏物体对象或组件的几个方法

    文章目录 前言 通过物体名称获取对象 GameObject Find Transform Find 通过物体标签获取对象 GameObject FindWithTag GameObject FindGameObjectWithTag Gam
  • 捕鱼游戏源码(数值+完整项目资源)

    目前捕鱼游戏的玩法 逐渐有这些趋势 捕鱼玩法 消除类玩法 捕鱼玩法 模拟经营玩法 捕鱼玩法 建造养成玩法 这些趋势已经有龙头企业逐渐开始做出尝试 但是对大部分团队来讲 对垂直领域的理解不够深刻 对产品理解不够深刻 团队没有沉淀和积累 通常都
  • Unity3d获得android和ios设备的唯一标识

    android为mac地址 ios为advertisingIdentifier 函数都比较简单 网上也搜得到 我也就不多说了 主要是对于我们没做过安卓和IOS开发的人来说 整合进工程有各种的问题 我也就直接上网盘了点击打开链接 代码包里看得
  • Unity3d + NGUI 的多分辨率适配

    移动端的多机型适配 现在要介绍的是 锁链战记 这款游戏的适配方法 这种适配方法是UI是一个基础尺寸 背景是一个基础尺寸 背景比UI多出的部分是一些没有实际作用的部分 这样的适配方式避免了在iPhone5这样的小屏幕上镶边 首先设定UIRoo
  • 基于java的俄罗斯方块游戏系统设计与实现

    基于java的俄罗斯方块游戏系统设计与实现 I 引言 A 研究背景和动机 基于Java的俄罗斯方块游戏系统设计与实现的研究背景和动机 俄罗斯方块是一种经典的益智游戏 游戏规则简单 但难度较大 需要玩家有良好的计算能力和手眼协调能力 近年来
  • 「Bomkus 博士的试炼」排行榜规则更新

    亲爱的玩家们 为了回应我们从社区收到的宝贵反馈 我们希望与大家分享我们为防止在 Bomkus 博士的试炼 排行榜中作弊而采取的措施的最新进展 并就这一主题提供更多说明 除了在活动开始前采取的反作弊措施外 我们还根据观察到的和报告的行为在整个
  • 秋招内推码汇总:2024届 游戏公司

    给24届秋招的同学整理了一批秋招内推码 有需要的同学请自取 PS 内推码来自 内推鸭小程序 完美世界 内推码 NTAHVOH 巨人网络 内推码 NTAX3AU 诗悦网络 内推码 NTANdQx 网龙 内推码 EVBMJ3 西山居 内推码 N
  • C++ 游戏服务器方向需要多少功底?

    这篇文章是回答一位知友的提问 现在大二了马上升大三 就读于一个很垫底的211 专业是计算机相关的 但是对本专业内容不感兴趣 希望能从事c 后端的工作 对游戏比较有兴趣 但又不知道需要哪方面的知识 希望各位能给出一个客观的评价或者批评 帮忙指
  • Metasequoia4 for Mac/win:带您进入三维模型游戏建模的新世界!

    在当今游戏行业中 三维模型的重要性无可置疑 而在这个充满创造力和无限可能的领域中 Metasequoia4 简称M4 无疑是您的最佳选择 作为一款专业的三维模型游戏建模软件 M4凭借其强大的功能和简便易用的界面 成为了无数游戏开发者和设计师
  • 广告竞价策略:激发广告变现潜能的关键

    在数字化时代 广告已经成为企业推广品牌 产品和服务的关键手段之一 为了最大程度地发挥广告的效果 广告竞价策略成为广告主和数字营销专业人士关注的焦点 通过巧妙运用竞价策略 广告主可以在激烈的市场竞争中脱颖而出 实现广告变现的潜能 admaoy
  • 游戏开发常见操作梳理之小地图的制作

    游戏中一般存在小地图系统 实际上就是设置一个新的摄像机放置在玩家的正上方 然后在小地图上显示新摄像机看见的东西就可以了 在小地图上一般存在放大地图和缩小地图的按钮可以方便放大和缩小地图 这些操作是如何实现的呢 接下来直接上核心代码 usin
  • 游戏开发中常见系统梳理之背包系统的实现一

    游戏中几乎都存在大大小小的背包系统 接下来我将讲述背包系统具体是如何实现的 完整源码 以下是使用unity NGUI实现 使用txt配置的方法 后续更新UGUI Json实现的背包系统敬请期待 背包中的物品我们常常将其制作成预设体 通过改变
  • 2024年华为OD机试真题-虚拟游戏理财-Python-OD统一考试(C卷)

    题目描述 在一款虚拟游戏中生活 你必须进行投资以增强在虚拟游戏中的资产以免被淘汰出局 现有一家Bank 它提供有若干理财产品m 风险及投资回报不同 你有N 元 进行投资 能接受的总风险值为X 你要在可接受范围内选择最优的投资方式获得最大回报
  • 案例研究:YGG 如何通过 GAP 帮助 Pixels 扩大玩家群体

    在 Sky Mavis 联合创始人 Jeffrey Jihoz Zirlin 在 YGG Web3 游戏峰会 W3GS 上发表主题演讲时 他向在场的人们透露 MMO 农场游戏 Pixels 的日活跃用户数已经超过了 130 000 人 这使

随机推荐

  • HbuilderX运行uni-app开发的微信小程序

    HbuilderX运行uni app开发的微信小程序 Hbuilder下载地址 https www dcloud io hbuilderx html 当咱们创建了个uni app项目后 将整个项目用HbuilderX打开 记住一定是项目的根
  • BLE Mesh中广播包类型Mesh Beacon、Mesh Message、PB-ADV,以及代理的PB-GATT

    在BLE Mesh中常用于数据通信的几种方式 Mesh Beacon Mesh Message PB ADV PB GATT 前三种是广播类型 最后一种是基于代理走BLE连接的一种数据通信 广播包种类 广播包类型 Mesh Beacon 0
  • Python3,为了无损压缩gif动图,我不得不写了一个压缩神器,真香。

    gif动图无损压缩 1 引言 2 代码实战 2 1 模块介绍 2 2 安装 2 3 代码示例 3 总结 1 引言 小屌丝 鱼哥 求助 求助 求助 小鱼 你这是告诉我 重要的事情 说三遍吗 小屌丝 你可以这么理解 小鱼 好吧 什么事情 这么慌
  • Java获取当前时间前3分钟

    获取当前时间前3分钟 param stuff return public String getCurrentTime SimpleDateFormat sdf new SimpleDateFormat yyyy MM dd HH mm ss
  • Java面试——从JVM角度比较equals和==的区别

    1 Java中数据类型分类 1 1 基本数据类型 又称为原始数据类型 byte short char int long float double boolean 他们之间的比较应该使用 比较的是他们的值 1 2 复合数据类型 当复合数据类型
  • android 检测是否模拟器,Android全面检测设备是否模拟器

    前言 前段时间工作有个需求 要求检测App是否在模拟器环境下运行 就像在有些手机游戏上可以看到这个功能 乍一看蛮简单的 后来我查了一下资料 然后头都大了 这多亏了国内pc端模拟器的发展 现在市面上的模拟器越来越多 也越来越 逼真 了 模拟器
  • Android修改Eclipse 中的Default debug keystore路径

    打开系统属性 gt 环境变量 gt 在 系统变量 那一个GroupBox下面选择 新建 gt 变量名为 ANDROID SDK HOME 注意 这个变量名不能改变 只能是这个名字 然后 把变量值改为你想把AVD所在的 android 文件夹
  • Ray Tracing in One Weekend01无法查看ppm的问题及一个C++字符缓冲传参引发的bug

    最近在学习光线追踪的经典教程 lt
  • AWS服务器,如何设置成密码登录

    公司一直有AWS服务器 但是每次启动的实例都是通过秘钥进行登录的 这里写个文章说明一下 如何将秘钥登录的服务器修改成密码登录 1 在新服务器中 创建root账户的密码 使用命令 sudo passwd root 按照步骤进行设置 2 设置完
  • 跨境独立站引流怎么做?必看的高转化教学

    熟悉跨境外贸的小伙伴应该清楚 不同于国内消费者习惯于在购物平台消费 国外买家大多喜欢登录品牌独立网站 独立站 进行购物 这也是许多跨境小伙伴入局独立站的原因之一 但是 即使你拥有一个精美的网站 如果没有足够的流量它也不会取得成功 因此 辛苦
  • 手把手实现语义分割项目

    手把手视频讲解 代码讲解 1 如何实现输入 完全免费解析直达 致力干货分享 2 如何实现模型 完全免费解析直达 致力干货分享 3 如何实现输出 完全免费解析直达 致力干货分享 截图如下 基础知识必备 Pytorch数据加载顺序 使用pyto
  • cf体验服老显示与服务器出现异常,穿越火线体验服出现网络异常

    我女神是taylor 回答数 4 被采纳数 133 2019 04 29 12 44 53 一天朋友求救说自己的机器无法运行游戏了 我询问具体情况 他刚买了一块赛扬 850 装上后DF3 DF1都不能玩了 二话没说拿起我的工具包就直奔现场
  • IT运维管理体系建设规划

    更多专业文档请访问 www itilzj com 公众号回复 218 获取高清pdf版本 福利 圈子构建 学习资料获取 1000 份重磅材料已分享 ITIL4 PPT教材 试题 视频 信息化 IT运维管理各类文档解决方案报告等 ITIL 培
  • HTML+CSS制作网页推广界面

    今天这个网页 其实用以前的基本方法也可以做出来 在这里主要是用到了CSS3的新特性font face以及fontawesome的应用 HTML部分 这一部分的主要框架如下图 黑色的div里面存放的是英文 h3和p标记存放的相应的文字 紫色的
  • 模型选择,深度学习常用定理,单层感知器实现多元输入一元输出的线性回归问题

    前言 这是补的昨天的学习内容总结 算下来有两天没更了 那两天 第一天我上午做了一上午实验 晚上开了一晚上的大创组会 收获也颇丰 第二天我码了一点代码 后来发现matlab有工具箱能直接预测 又试了下工具箱 因为内容较为简单 便没有写一篇总结
  • Linux终端连接工具-MobaXterm

    一 下载安装 1 下载地址 MobaXterm Xserver with SSH telnet RDP VNC and X11 Download 这里我下载的是左侧的免费版本 已经足够日志工作中查看日志了 二 基本操作 1 连接服务器 下载
  • GPIO引脚的模式设置:开漏、推挽、拉高、拉低、中断输入、串行通信、模拟输入输出、容错输入、PWM输出。过零检测介绍。

    开漏输出 软件 将GPIO口设置为开漏输出模式 可以实现开漏输出控制方式 输出电平只能被拉低 而不能被拉高 在使用开漏输出时 需要外部接上一个上拉电阻 将输出电平拉高到高电平 开漏输出常用于驱动I2C总线 LED灯等场景中 硬件设置为开漏输
  • a标签加入单击事件 屏蔽href跳转页面

    本文转载至 http blog 163 com huang qy blog static 615601452012101411625600 我们常用的在a标签中有点击事件 1 a href javascript js method 这是我们
  • Java 方法

    方法概述 方法 Method 是将具有独立功能的代码块组织成为一个整体 使其具有特殊功能的代码集 方法必须先创建才可以使用 该过程称为方法定义 方法创建后并不是直接运行的 需要手动使用后才执行 该过程称为方法调用 方法的定义和调用 格式 1
  • RAIN{INDIE} 自动寻路

    Unity游戏中有较多的自动寻路插件 看过几个 大同小异 而RAIN中的Behavior Tree感觉很好 听名字就知道很条理 下面 就用它做个简单的寻路小例子 首先 导入RAIN的包 结构如下 在使用的过程当中还会产生几个文件夹用来存放E