案例工程文件下载地址 : http://www.basefount.net/agent-library
zombie rush
一,总体设计:
如图1所示,在整个场景中,我们设计了4组zombie: 1,红色箭头路线部分,角色从起点一直朝直升机跑去,经过位置A的时候会从上往下跳,到达位置B后,跳起来抓直升机。 2,黄色箭头路线部分,角色从房子里面冲出来,朝直升机方向跑去,到达位置B后,跳起抓直升机。 3,绿色箭头路线部分,角色爬墙而上,达到位置B后,跳起抓直升机。 4,紫色箭头路线部分,角色从塔底往上爬,形成一座小山,到达位置B后,跳起抓直升机。 1,按照上面的设计,分别制作不同的agent A,红色箭头部分的agent,取名 run,它的主要action为奔跑,在A处会激发一个“跳下”的动作,在位置B处,激发“跳起来抓东西”的动作,它的过度图如图2所示。参考文件run_oat.ma
B,黄色箭头部分的agent,取名rush,它和run的action和transitionMap基本上一样。我们把他们分成两种agent,主要是在位置A处方便用不同的逻辑控制他们的行为。详细情况请参考文件 “rush_oat.ma”。 C,绿色箭头部分的agent,取名climb,它主要行为是攀爬,到达位置A后,激发“向后跳起并抓东西”的动作。我们制作一个向z轴爬行,和转身跳起的动作,后面把他们uvpin到一个垂直的墙面上是,就是图4的效果。 它的transitionMap如图5所示,详细情况请参考文件 “Agent_climb_test.ma”。 D,紫色箭头部分,取名climbHill,主要action为想z轴爬行,到达一定位置后向z轴跳起抓东西。详细情况请参考文件“climbHill_oat.ma”。 E,制作一组的角色。让他们进行蠕动,用来模拟一些死去的zombie。详细情况请参考文件 “death_oat.ma”。 oat全部制作完成后,打开sc.ma,导入全部agent的oa文件。 2,run 根据需要,我们需要放置如下图的两个placement节点。。 我们使用road和zone,来控制角色整体的走向。 其他地方创建不同id的bound,来激发角色不同的状态 详细情况,参考文件 sc01.ma 2,rush Rush基本上和run一样,只是他们需要从房间里面从出来。我们这里使用road控制角色走向。结合bound的Auto Repel,让角色不会从墙里穿出来。 其他地方的逻辑,基本上和run一样。详细情况请参看sc02.ma 3,climbHill 创建一个如图10所示的模型和placement节点。我们使用uvpin,并在塔尖的位置放置一个spot节点,让角色沿塔底往上爬。在塔的不同位置创建不同id的bound,来激发角色不同的动作或者打开动力学开关。详细情况,请参考sc03.ma 4,death 在如下图中的位置,创建两个placement节点。放置一些蠕动的角色,让场景看起来更丰富。铁塔位置的角色,比上一步放置的climbHill稍微低一些,这样climbHill就能在他们上面爬行。详细情况,请参考sc04.ma 5,climb 和上面的climbHill方法一样,只是这里把锥形的模型换成了一个面片。创建两个bound,让角色进入黄色bound后,部分打开动力学,模仿爬墙失足掉下的。进入橙色bound后,激发跳起来抓直升机的动作。 6,制作完成后,使用mesh drive3.0进行渲染合成
|