《孤岛危机》Flow Graph运用4:士兵驾驶直升机巡逻攻击方法

来源:网络时间:2011-09-06 09:09:01

  这次来实现让北韩士兵驾驶直升机巡逻并攻击的效果。

  我下面提供的方法和Enforcer会员在之前提供的方法基本上是一样的,只是做了一点改动,而且认为在制作过程中有些地方必须对大家强调一下,否则做起来还不那么容易成功的。

  好了,现在说说我的做法:

  首先,按照图下显示,在平坦的地方放上一架直升机(Atchetype Entity\Vehicles\Air)和两个士兵(Atchetype Entity\Asian_new),然后在飞机的上空适当的高度放一个AIPath,并做出一条用于飞行的路线路标(具体方法参见本论坛相关基础教程)。

  图一:布局及FG图

孤岛危机

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

  在Add Nods项下分别添加:
\Misc\star 节点,
\logic\all节点,这个节点用来控制逻辑衔接,将两个士兵同直升机联系起来.这里要特别强调下
这个all选项不好找,请将FG的View\Components\..下所有选项勾选后才会在Logic下发现All选项,切记!!
\Entity\EntitID 节点,用来赋给直升机.
\Vehicle\Enter节点,共两个,分别用来赋给做驾驶员和抢手的士兵.
\AI\AIFollowPath 节点,用来赋给直升机,指导直升机升空及按路线巡飞.
\Vehicle\Exit 节点,用来结束巡飞(实际上本例是通过这个节点来实现循环飞行的).

  添加完节点后,先在地图上选中我们刚才放置的直升机,然后回到流程图里选中EntitID节点,在节点上右击,在弹出菜单上点击第一项Assign selected entity,即把选中的直升机赋给这个节点,用同样的方法把直升机再分别赋给AIFollowPath节点和Exit节点。把两个士兵分别赋给两个Vehicle:Enter节点,将他们的Seat属性分别设置成driver(驾驶员)和gunner(抢手).

  最后按照图上所示连线.

  在这里有几个地方需要强调下,首先,关于创建的AIpath,请把它的ROAD属性设为False,这个很重要,直接关系到直升机是否升空.该属性下面的PathNavType最好设为Flight(飞行);在直升机的AI:AIFollowPath节点里,别忘了将PathName(路径名)设置成你创建的 AIpath,这个名称是区别大小写的(听说该游戏由C++语言编的,而该编程语言区别字母大小写的),然后,在其PathFindToStar的属性窗口,也请设为True.

  如果你做完上面的设置.就应该可以飞行成功了.如果你飞行不成功,就一定要多检查下了.

  FG流程图的大体意思为:当流程激发(output)后,两个士兵分别以驾驶员和枪手的身份(seat属性)登上直升机(VehicleID交通工具),等都(all)登上直升机后,在AI的指导下升空,按照PathName指明的飞行路径巡飞,当飞到终点后(succeed)再飞回来.....

  图二:看看效果

孤岛危机

  关于直升机的飞行FG制作,在 <<孤岛危机Flow Graph运用:控制汽车行驶及停车的实现!>>一贴中,8楼的Enforcer会员就已经提供了他自己做的一个包括直升机的演示效果的简单MOD关卡了,体积很小,大家可以到那里下载后自己研究下,同时结合上面讲解的注意事项,就很容易达成目的了。地址:http://game.ali213.net/thread-2018581-1-1.html

  下面再发一个老外做的飞行图,我试验了下并对流程图做了一点改动,就是改动了最后的AI:AIFollowPath节点方法,那老外原来是用AI:AIGoToSpeedStance节点和AIPath做的,后来我总是无法在那个基础上试验成功(只有张FG图,没有教程),最后直接怀疑那老外是不是真的用AI:AIGoToSpeedStance节点和AIPath做成了.于是就改进了一下,试飞成功,如下图(图上的飞机就是我上面图上的对岸的一架飞机),大家可以研究下:

  图三:根据老外的图然后自己简单修改后的另一个FG图

孤岛危机

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