z***e 发帖数: 5393 | 1 做塔防游戏,但是因为设计的道路比较宽,又是多路径,相当于说是地图全开的RTS游
戏,寻路算法没找到个合适的方案,求指点。
嗯嗯,A* path finding这个我知道。
问题是,那是最短path,我不想一堆兵走两步最后就全部到一条线(shortest path)
上去了啊,看起来太假了。
在A*上修改,比如变向就增加权重什么的,貌似也没啥明显效果。实际上比较能接受的
效果是每一步的cost是一个范围内的随机数,然后士兵基本就不会都跑到一条线上去,
而是一边走一边左晃右晃。。。看起来还是不爽。。。
理想状况是比如一排兵出来,除非是遇到障碍物才变向,不然就是一直沿着初始方向往
前走,假设道路宽度始终不变。
解决方法目前想了两种,一种是设置路标waypoint,把路标设在转弯处,然后每次找下
一个路标,但是这个如果道路复杂了,设置起来很麻烦,因为坐标点要数,数起来麻烦
死了。
另一种是在地图上把行走道路固定死,反正就是几种路线,全部固定下来,士兵随机选
一条路线走就是了,这个思路简单,但是路线多了也麻烦。
any idea? thx. |
p********8 发帖数: 2061 | 2 我觉得变向加权重有可能行
比如加大权重,早变向的权重比晚变向大之类的
【在 z***e 的大作中提到】 : 做塔防游戏,但是因为设计的道路比较宽,又是多路径,相当于说是地图全开的RTS游 : 戏,寻路算法没找到个合适的方案,求指点。 : 嗯嗯,A* path finding这个我知道。 : 问题是,那是最短path,我不想一堆兵走两步最后就全部到一条线(shortest path) : 上去了啊,看起来太假了。 : 在A*上修改,比如变向就增加权重什么的,貌似也没啥明显效果。实际上比较能接受的 : 效果是每一步的cost是一个范围内的随机数,然后士兵基本就不会都跑到一条线上去, : 而是一边走一边左晃右晃。。。看起来还是不爽。。。 : 理想状况是比如一排兵出来,除非是遇到障碍物才变向,不然就是一直沿着初始方向往 : 前走,假设道路宽度始终不变。
|
n***e 发帖数: 723 | 3 外行插一句:你能不能着把别的士兵占的位置也算成是障碍试试呢?另外我感觉塔防就
是一堆兵跑成一条直线啊。。。。
【在 z***e 的大作中提到】 : 做塔防游戏,但是因为设计的道路比较宽,又是多路径,相当于说是地图全开的RTS游 : 戏,寻路算法没找到个合适的方案,求指点。 : 嗯嗯,A* path finding这个我知道。 : 问题是,那是最短path,我不想一堆兵走两步最后就全部到一条线(shortest path) : 上去了啊,看起来太假了。 : 在A*上修改,比如变向就增加权重什么的,貌似也没啥明显效果。实际上比较能接受的 : 效果是每一步的cost是一个范围内的随机数,然后士兵基本就不会都跑到一条线上去, : 而是一边走一边左晃右晃。。。看起来还是不爽。。。 : 理想状况是比如一排兵出来,除非是遇到障碍物才变向,不然就是一直沿着初始方向往 : 前走,假设道路宽度始终不变。
|