四方向控制法2.
本帖最后由 我是谁004 于 2014-1-10 20:04 编辑之前我在一日成中做的战役,是用四个科技按钮来对人物进行控制方向的,如下所示:
如图,黑色代表障碍物,红色代表可高速移动的指针单位(如VMDL或COBRA),蓝色代表所要控制的人物。
用事件使指针单位总是向人物移动,这样会使之对应人物的X、Y坐标。当要让人物移动的时候,就令其向其中一个指针单位移动即可。
如果没有除了边框外的任何障碍物,那么这个运动是完美的。
但是明显有个问题,那就是人物所运动的方向并不完全等于按钮所对应的方向。
原因在于寻路系统。不是太简单,恰恰相反,是寻路系统太精细了。这意味着当指派人物向着目标指针单位的走的时候,会根据地形来寻找合理的路线使其可以抵达目的地,而不是直接往那个方向走。尤其是在前面是海洋、障碍物的时候更明显。
我们考虑要解决这个问题,最简单的方法就是,将人物改为无视地形、无碰撞体积的飞行单位。但是这样的话,就可以飞过河流、飞过高山了,而这不是我们想要的。
那么,可以用另一种方法,就是控制一个飞行单位,让其在人物静止时,向人物飞行;而人物向相应方向行走时,令飞行单位飞过去,而人物跟着走。当然,每过一段时间,飞行单位要往回一下,这样保证飞行单位与人物的距离不会太远,当遇到较大的障碍的时候也会使人停下来。
我做了一个例子,就是这样的 目测不会有多大改观{:146:}
要是飞行单位与人物之间恰好隔着一条河流呢 M.I.K.U. 发表于 2014-1-10 19:20 static/image/common/back.gif
目测不会有多大改观
要是飞行单位与人物之间恰好隔着一条河流呢
理想的设计,飞行单位与人物之间不会隔开太远距离,因为飞一会就会飞回去,然后继续飞 我是谁004 发表于 2014-1-10 20:14 static/image/common/back.gif
理想的设计,飞行单位与人物之间不会隔开太远距离,因为飞一会就会飞回去,然后继续飞
设想一下这样的情况,要是人物所走的方向有一道围墙,人物走到围墙边就过不去了,但是飞行物可以过去,此时你能保证人物会乖乖“撞墙”而不是绕道?{:146:} 循环指派可破自动寻路否? M.I.K.U. 发表于 2014-1-10 20:27 static/image/common/back.gif
设想一下这样的情况,要是人物所走的方向有一道围墙,人物走到围墙边就过不去了,但是飞行物可以过去,此 ...
理想化模型应该是:
当移动的控制指令发出后,飞行单位向着指针方向飞去,人物在后面追;没有碰到障碍的情况下,会一直行走;如果人物碰到了障碍,那飞行单位和人之间的距离会拉长,这时候就会让飞行单位往回飞,人物就可以停止了。
只是问题在于,没办法直接判断飞行单位和人之间的距离,加上AOE2的触发频率有限,所以无法做到理想化的效果;于是我们现在做的其实是飞行单位2秒向前,2秒回来的循环,如果小的障碍就可能自己绕过去了
Howerds 发表于 2014-1-10 20:35 static/image/common/back.gif
循环指派可破自动寻路否?
循环指派一样会寻路
新的神论出现了,火钳,再膜拜下~放假好好研究一下~ 怎么设置成无视地形?谢谢 策霸霸 发表于 2014-1-10 22:11 static/image/common/back.gif
怎么设置成无视地形?谢谢
那就是修改数据库了 我是谁004 发表于 2014-1-10 23:02 static/image/common/back.gif
那就是修改数据库了
好吧。 这技术多年前已经在HK乐古出现 围观~ 似乎很久之前就有了
不過還是謝謝分享 神乎棋技 发表于 2014-1-11 18:59 static/image/common/back.gif
似乎很久之前就有了
不過還是謝謝分享
不是似乎
页:
[1]