《孤岛危机》Flow Graph运用10:异形总动员!

来源:网络时间:2011-09-06 10:10:07

  孤岛危机(crysis)这个游戏里一个很吸引人的地方就是那些外星异形带来的神秘感。今天,我们来谈谈如何在自己的地图里“引进”外星物种。

  其实,实现异形在地图里的智能运动与实现士兵和载具的智能运动没什么太大的区别。也就是说用来实现士兵或车辆运动的方法同样也可以使用到异形的相关运动上来,只不过有时候有些方法显得并不是很方便。下面我们就来探讨一个运用起来效果比较好的方法。

  本实现方法引进了三个不同类的异形:大型的“大炸蟹”Hunter,飞行的中型异形Scout,以及在地面乱跑的小异形Trooper。

  在效果实现中分成两组来实现:

  第一组:大炸蟹(Hunter)按照设置的行动区域前进到北韩士兵的海边小村据点,大闹一番:先抓抛坦克,再冰坦克.......。

  第二组:飞行异形Scout先抓取并携带两个地面侦察小异形Trooper,然后按照设定的路线飞向岛屿,在飞行过程中,当到达指定地点后从空中释放两个小异形到地面上,然后战斗的情形。

孤岛危机

  好了,让我们分别来讲解两种异形工作的实现方法。

  1.第一步,当然是按照图样布局我们要用的材料了(异形实体:Archetype EntityAliens内):
第一组,(1)一个Hunter大型异形,放在适当的地方.
(2)一个路标点(Tagpoint) .
(3)AINavigationModifier.用AI里的工具AINavigationModifier为异形画一个行动区域,将异形与路标点都布局其中.这个行动区域的作用可以让异形在计算到达目标的路径时可以根据地形情况自由调整.
(4)Tank实体,关于这个嘛,你自己随便放吧.一般放在路标点附近.
第二组,(1)放置一个飞行异形Scout
(2)两个侦察小异形Trooper.
(3)一条AIPath.飞行用的空中路径.
(4)一个触发器(ProximityTrigger).放置在路径中间的适当位置,用来实现在触发器区域内释放小异形的效果.

  2.其次,创建流程图.可以直接打开Flow Graph工具(View菜单 > Open view pane > Flow Graph),也可以直接选中大异形,然后点击Flow Graph栏中的Create(创建)按钮来给这个触发器创建一个流程图,然后指定一个这个流程图将被保存到的组,名称随你取,这时出现FG窗口,就是图上方的那个创建流程图的工具.然后在该流程图任意中间区域单击右键打开添加流程图窗口.在弹出的菜单中选择第一项Add Node项下的相关节点,添加如下几个窗口,如果添加的节点窗口看起来是个点,就使用鼠标滚轮来缩放,或者鼠标右键点击Fit Graph to View,那个节点窗口会自动调整到适合窗口宽度并可见的。(具体方法请参考游侠论坛其他图文教程):

  FG窗口中添加相应节点窗口.

  Miscstar 节点

  第一组:
AIAIExecute 节点,三个.用来控制异形的动作.
EntityEntityID 节点,三个,分别赋给路径点和要被抓取冰冻的坦克.
TIMeDelay 节点,用来延迟下一个动作.看起来更加自然些.

  第二组:
AIAIGrabObject节点,两个.分别用来让飞行异形抓取两个小异形.
AIAIDropObject节点,一个.用来控制飞行异形释放被抓取的小异形.
EntityEntityID 节点,两个.赋给被抓取的两个小异形.
Entity:Proximity Trigger 节点,对应触发器.

  3.添加完节点后,排列好节点窗口,把节点赋给相关的实体后按照图样连线就可以了.

  4.最后,要提示下,有些地方的设置参数要留心,不然失败没商量.

  (1)首先,关于大异形的行动区域图(AINavigationModifier),在放区域的时候一定要保证大异形在它的范围内,而且,为了保证大异形在范围内,可以把行动区域的底面沉放到地面以下.同时,行动区域的NavType选设为Free 2D(如果给飞行异形用就设为Flight了).

  (2)然后,给这个区域设一个适当的Height,保证实体范围的有效性(具体见图示).其次,就是飞行异形的AIPath属性设置,由于是飞行路径,在前面已经使用多次,把PathNavType参数要修改为Flight(见图,我的路径名为ScoutsPath1).

  (3)最后,在飞行异形飞行路径上放的触发器设置也要注意.首先,把触发器的区域设置到合适大小,然后在OnlySelectedEntity值里设置成你的飞行异形的名字.它表示的含义是:这个触发器只对该异形具有触发效果,这样可以避免未知问题发生.而且它的Enabled是True,如果是False,那么你在流程里就要把Start节点的Output连线连到该属性值来通过流程激发了.还是直接设为True方便.

  (4)对应大异形的AI:AIExecute节点里的很多参数设置要用心观察哦.这里强调一个参数,Action,表示该节点赋给该异形实体的动作.run_relaxed(强调移动),hunter_grab_right(用右手抓取),hunter_fire_moar(喷射冰线.老师提示说:fire单词在这里是开火攻击的意思,不是火的意思),这里有很多动作可以选择,大家可以根据自己的需要来改变动作类型.不过,提示一下:你设的动作必须是这个实体具有的并可以实现的才可以.别指望设一个飞行动作就让它飞哦?!最后还有一个差数MaxAlertness,大家可以专研下它的不同.

5,最后,这回才是真的最后了:测试吧!

  FG图的意思为:
(1)当流程被激发(output)后,大异形开始在行动区域内按照路标指定的地点运动到目的地(Tagpint15),在到达目的地后(Succeed),开始下一步动作:首先用右手(应该是右爪)抓取坦克(Tank2),把它仍出去(hunter_grab_right),仍完坦克后,小歇片刻(Time:Delay),然后再转向另一个忙着向它开炮的坦克,开始喷它的口水-----寒冷的冰线(hunter_fire_moar),运气好坦克就报销了.过后,这个庞然大物就"自由活动"了:三光中!

  (2)另一边,当流程激发(output)后,飞行异形与大蟹子兵分两路,它带着自己的两个手下小异形(AIGrabObject+EntityID),向另一个战略据点出发,在到达指定区域后(Proximity Trigger触发点区域)后,放下埋伏的小异形,然后开始和直升机干上了(我地图里有武装直升机).
这里有个地方需要注意:如果飞行异形在飞到触发点位置前发现敌人会提前放下小异形,所以在设置的过程中要考虑如何让剧情按照自己想的发展还必须要避免提前发现敌人的情况发生.

  下面附上另一种异形运动实现方法的FG图:由于在该方法中,为防止异形横着爬向目标(真的变螃蟹了),所以用了一个AIAILookAt节点,这个节点用来让异形运动时锁定目光方向用的,也就是规范下它的方向,让其看起来更加自然些的。

  图:

孤岛危机

  
完美结局:老美和北韩终于联合抗敌了!

  大炸蟹FG及路标区域图

孤岛危机

  飞行异型FG及路线图设置

孤岛危机

  飞行异型FG触发器设置图

孤岛危机cadd2abdfc2d91a92017a74b64c4a>

  测试图

孤岛危机

  效果图

孤岛危机

  效果图

孤岛危机

  美韩合兵力破敌

孤岛危机

文章内容来源于网络,不代表本站立场,若侵犯到您的权益,可联系我们删除。(本站为非盈利性质网站) 联系邮箱:9145908@qq.com