游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2453|回复: 6

有人玩过鱼戏江湖没?关于360度寻路问题

[复制链接]

3

主题

24

帖子

129

积分

注册会员

Rank: 2

积分
129
发表于 2016-1-21 15:56:05 | 显示全部楼层 |阅读模式
txwq.jpg
本贴讨论主要针对于2D场景+3D人物的讨论,而鱼戏江湖正是这种设计.(上图用的是天下无缺,一样的)
这个游戏的寻路特点就是,你可以朝任意角度移动,而不仅仅是8个方向.


以下是A*寻路示意图,这是基于格子寻路的:
未标题-2 拷贝.jpg
如上图,假设周围没有任何阻挡,蓝色路径是计算出的移动路径,而粉红色路径是更为平滑的直线路径,
很明显,粉红色路径才是最佳路径,

那么如何才能朝360度任意角度移动,而不是按格子移动?

0

主题

10

帖子

52

积分

注册会员

Rank: 2

积分
52
发表于 2016-1-25 16:03:00 | 显示全部楼层
算出路径后在进行平滑优化就好了。平滑优化的算法可以在网上找找。

3

主题

24

帖子

129

积分

注册会员

Rank: 2

积分
129
 楼主| 发表于 2016-1-25 16:39:33 | 显示全部楼层
wyb815 发表于 2016-1-25 16:03
算出路径后在进行平滑优化就好了。平滑优化的算法可以在网上找找。

再平滑能达到图中直线路径么?
我有点不相信

0

主题

10

帖子

52

积分

注册会员

Rank: 2

积分
52
发表于 2016-1-25 17:09:52 | 显示全部楼层
yrmuhon 发表于 2016-1-25 16:39
再平滑能达到图中直线路径么?
我有点不相信

举个粗糙的例子。
先用A*算出路径点
判断起点与终点间直线上是否存在障碍物,如无,则两点相通,如有,则起点与终点前一点是否相通。。。直到找到与起点之间直线上没有障碍的点。再找到的点为起点,按前面的方式不断计算下去,直到算到终点为止。最优路径就粗来了。
注意优化判断两点间直线上是否存在障碍的函数执行效率。
可以看看导航网格。
http://www.zhihu.com/question/20298134

31

主题

257

帖子

1752

积分

金牌会员

申城谍影

Rank: 6Rank: 6

积分
1752
QQ
发表于 2016-1-25 18:07:46 | 显示全部楼层
现在好多游戏用的是导航网格寻路吧。。。。。。。。

不过楼主的问题,可以这样,
路线上无障碍,就走点到点的直线,
有障碍就格子寻路。。。。。。。。。。

3

主题

24

帖子

129

积分

注册会员

Rank: 2

积分
129
 楼主| 发表于 2016-1-26 10:19:51 | 显示全部楼层
cndv3996 发表于 2016-1-25 18:07
现在好多游戏用的是导航网格寻路吧。。。。。。。。

不过楼主的问题,可以这样,

哈,我也这么想的,然并卵

3

主题

24

帖子

129

积分

注册会员

Rank: 2

积分
129
 楼主| 发表于 2016-1-26 10:54:41 | 显示全部楼层
多谢楼上几位指教,
看来就是要用导航网格寻路啦
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-2-25 11:11

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表