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
相关推荐
PATCH-更新系统是坚如磐石,专业,智能,清洁的解决方案,用于管理和分发游戏和应用程序的更新。 您的玩家最终可以毫无痛苦地更新您的游戏,而不必在新版本到来时再次下载整个游戏。这将为他们节省大量带宽和时间!...
Indie Glow 物体光晕特效unity3d插件模型UNITY3D游戏特效pro
uLiveWallpaper 1.4.8版本,Indie版本,相比Pro版本不包含插件本身的源代码,但是可以正常在Unity2018使用(2017也可以,2019以及更新版本没有试过)。baidu云链接可以看这里...
visual stdio 字体
unity3d特效插件 dx11 粒子 特效工具TC Particles - Indie,内涵JavaScript脚本,可用于Unity3D游戏引擎开发。
Indie Game Jam 是一年一度的实验性游戏设计盛会。 专业游戏开发人员创建自定义游戏引擎并在四天内使用它制作游戏。 结果显示在 GDC 和 indiegamejam.com 上,代码在 sourceforge 上是 GPL。
fnf的模组版
vs hamstu-indie-son of obsidian-wekeroad-selenitic配色方案,包括vs2010-13,vs2015版本
Football Game Engine (Indie) 足球游戏引擎(独立)Unity游戏项目源码C# 支持Unity版本2020.3.20或更高 Football Game Engine(独立)是足球游戏的高级实现。该软件包非常适合教育目的和制作您自己的游戏。 如果您...
unity3d特效插件 dx11 粒子 特效工具TC Particles - Indie
[3D游戏开发工具和游戏引擎套件].Unity.Indie.V2.5.rar
unity3d 着色阴影 插件Go Linear (Mobile & Indie) 线性照明.zip
从https://studiostyl.es下载的排名前五的配色方案。包括son-of-obsidian,hamstu,Indie,WekeRoad Ink,Selenitict 适合vs2015使用。
语言:中文 (简体) 让产品的独立变现更简单 - indiemakerstart.com 独立开发者所关心的关于产品开发、变现、增长方面的推荐内容。每天获得一些产品变现相关的资源。
u3d的辉光插件,对使用破解版u3d的同学来说,没有后效,可以使用我的插件
iSTPWG:indie_SAGE技术发布工作组(iSTPWG)-一个研究工作组,旨在为紧急情况独立科学咨询小组(SAGE)提供技术发布帮助,以对抗COVID
软件实习做的一个网站,比较简单,发上来与大家分享
资源分类:Python库 所属语言:Python 资源全名:apachecn_indie_wiki-2022.4.16.0-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059