- 最后登录
- 2024-6-28
- 注册时间
- 2012-8-10
- 阅读权限
- 100
- 积分
- 74992
- 纳金币
- 59338
- 精华
- 28
|
pstatus"> 本帖最后由 艾西格亚 于 2013-10-24 18:07 编辑
在Unity的资源商店里面,关于AI方面的插件可说是琳琅满目,大致上来说都是以寻路与角色攻击的智能化系统为主,而论坛里面也提供了一个RAINOne的AI插件,以用户反应来看,该插件不是很好上手,同时相关的教程也较少,在学习与应用上显得有些不足。
在这次的教程里面,我们将介绍一款操作简易,功能强大的AI插件 - AI 4 Enemies,从名称上看来就知道是一个专门制作敌人角色的AI系统,目前我们使用的是AI4Enemies 1.42版本,可以完全的兼容在Unity 3.5.x与4.0的版本上面。
插件下载位置:http://www.narkii.com/club/thread-295985-1.html
现在我们来示范如何在模型上面添加AI4Enemies 的功能:
在场景里面将士兵的角色作为攻击用的敌人,需注意的是士兵的模型在导入后已经完成了各种动作的关键帧指定,这样AI4 Enemies才能进行后续的设定。
选择士兵模型,增加一个脚本组件AI4 Enemies > AI Behaviour,这个组件是用在敌人的角色动作上面。
添加AI Behaviour的组件后,模型里面除了原来的Animation之外,并具备了AI Animations,AI Controller与AIEnemy Waypoint Editor的属性,AI Animation用来指定敌人的攻击动作,AI Controller用在调整敌人的各项AI功能,AIEnemy Waypoint Editor则是用来指定敌人的活动范围。
接下来在AIAniamtions的每个栏位里面将士兵的动作指定进来,如图所示,士兵攻击的对应动作是idle(待命),walk(待命),oneShot(待命),hit(待命),die(待命)的五种动作指定。
在Hierarchy里面的士兵的模型组件会发现多了一个Target Point,这个物件的位置对于AI的判断非常的重要,而Target Point在模型里面的呈现方式则是一个简单的线段与控制点。
如图所示,在选择士兵模型里面的Target Point后,使用移动估计将其位置向上移动,将绿色的原点调整到约在腰带的位置,红线的底部大约在接近地面的高度。
接着我们要使用Moving Speed的数值来调整据敌人的移动速度,数值越低表示移动越慢,这里我们设定敌人的移动设定为2。
按下Play进行测试,现在士兵已经可以自行在场景里面移动,但是没有目标物的情况下,士兵只是一直在重复走路的动作,所以我们需要在场景里面添加玩家的角色,使其能具备攻击玩家的能力。
在场景内导入另一个角色模型作为士兵攻击的目标,也就是我们定义的玩家角色,然后选择Target Point,将目标物的组件特性添加在玩家上面。
在Hierarchy面板里面选择玩家模型的TargetPoint,然后将其位置做些调整,调整的高度与士兵的位置相同即可。
如图所示,红色的原点即是玩家具备的Target Point位置
再次选择士兵模型,将玩家(Robot)拖曳到AIController >Target的栏位内,这个选项的目的是让士兵能锁定玩家后开始进行攻击,Field Of View设定为180表示士兵侦测玩家的可视角度,View Distance 为士兵侦测玩家的距离,Attaking Distance则是在多少距离内进行攻击。
进行Play测试, 在玩家开始靠近士兵时,士兵侦测到玩家后就会开始进行攻击,这里面的使用了三个数值来作为侦测玩家的依据,这样我们就可根据场景的布置进行敌人与玩家的位置分配。
现在我们要让士兵一开始的时候在固定的区域进行巡逻,操作的方式非常的容易,选择士兵,然后点选AIEnemy Waypoint Editor > Press for new Waypoint,然后在场景内按下右键即可生成Waypoint。
如图所示,场景里面的白色方块即是Waypoint的布置范围,如果觉得需要改变Waypoint的位置,使用移动工具直接调整即可。
进行Play测试,现在士兵会在Waypoint的范围内来回走动,然后在玩家接近到一定距离后就会进行攻击。
对于不是很熟悉代码编写的设计人员来说,AI4Enemies确实是一套易于上手与操作的资源。在AI4Enemies的下一个教程中,我们将介绍敌人的估计与重生的设置,同时加上玩家伤害值的计算,并且在更换武器方面可以再结合FPSCamera这类的插件进行搭配使用。
介绍到这里,相信很多的朋友应该会迫不及待的想试试AI4Enemies这个插件,我们将在本教程发布后立即将资源提供给大家进行测试!
|
|