[发明专利]寻路方法和装置有效
申请号: | 201711283043.5 | 申请日: | 2017-12-07 |
公开(公告)号: | CN108176050B | 公开(公告)日: | 2020-11-13 |
发明(设计)人: | 赵墨强 | 申请(专利权)人: | 北京像素软件科技股份有限公司 |
主分类号: | A63F13/60 | 分类号: | A63F13/60;A63F13/52 |
代理公司: | 北京超凡志成知识产权代理事务所(普通合伙) 11371 | 代理人: | 史明罡 |
地址: | 102200 北京市昌平区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 方法 装置 | ||
本发明实施例提供一种寻路方法和装置,该方法包括检测玩家当前位置信息作为第一位置点,以及检测目标位置信息作为第二位置点;判断所述第一位置点与所述第二位置点之间是否存在障碍物;若存在障碍物,则基于所述障碍物与所述第一位置点和第二位置点之间的相对位置关系寻找从所述第一位置点到所述第二位置点的中转点;基于所述第一位置点、中转点和第二位置点生成飞行路线以控制玩家从当前位置经所述中转点飞向所述目标位置。本发明实施例能够使得飞行线路更加圆滑,改善用户游戏体验。
技术领域
本发明涉及游戏开发技术领域,具体而言,涉及一种寻路方法和装置。
背景技术
在现有的游戏过程中,玩家从当前位置飞向目的地时表现生硬,使得游戏不够逼真,尤其是在当前位置与目的地之间存在障碍物时。但若像在地面寻路一样使用网格系统进行飞行寻路来提高游戏的逼真度,则会大幅提高内存消耗,影响游戏性能,如游戏卡顿等。
发明内容
有鉴于此,本发明实施例的目的在于提供一种寻路方法和装置,能够有效改善上述问题。
本发明较佳实施例提供了一种寻路方法,所述方法包括:
检测玩家当前位置信息作为第一位置点,以及检测目标位置信息作为第二位置点;
判断所述第一位置点与所述第二位置点之间是否存在障碍物;
若存在障碍物,则基于所述障碍物与所述第一位置点和第二位置点之间的相对位置关系寻找从所述第一位置点到所述第二位置点的中转点;
基于所述第一位置点、中转点和第二位置点生成飞行路线以控制玩家从当前位置经所述中转点飞向所述目标位置。
进一步地,基于所述障碍物与所述第一位置点和第二位置点之间的相对位置关系寻找从所述第一位置点到所述第二位置点的中转点的步骤包括:
以所述第一位置点为原点、预设距离为半径检测在该原点的预设方向是否存在与所述第二位置点之间没有障碍物的位置点,若存在,则将该位置点作为中转点。
进一步地,在该原点的预设方向不存在与所述第二位置点之间没有障碍物的位置点时,所述方法还包括:
增大所述预设距离,并继续以所述第一位置点为原点、以增大后的预设距离为半径,执行检测在该原点的预设方向是否存在与所述第二位置点之间没有障碍物的位置点的步骤。
进一步地,基于所述障碍物与所述第一位置点和第二位置点之间的相对位置关系寻找从所述第一位置点到所述第二位置点的中转点的步骤包括:
以所述第一位置点为起点,基于多次碰撞法朝向所述障碍物的方向选取满足预设条件的位置点作为中转点,其中,所述预设条件为玩家延所述第一位置点和所述位置点的连线方向运动时不会与所述障碍物发生碰撞。
进一步地,基于多次碰撞法朝向所述障碍物的方向选取满足预设条件的位置点作为中转点的步骤包括:
以所述第一位置点和第二位置点的连线为基准线,以所述基准线与所述障碍物靠近所述第一位置点的交点作为基准碰撞点;
基于所述基准碰撞点,延所述障碍物的预设碰撞方向依次检测是否存在满足预设条件的位置点,若存在,则将该位置点作为中转点。
进一步地,基于多次碰撞法朝向所述障碍物的方向选取满足预设条件的位置点作为中转点的步骤包括:
检测在所述第一位置点朝向所述障碍物的预设范围内是否存在满足预设条件的位置点;
若不存在,则控制玩家按照预设距离进行位移以到达新的第一位置点,并继续执行检测在所述第一位置点朝向所述障碍物的预设范围内是否存在满足预设条件的位置点的步骤,直到玩家当前所在的第一位置点朝向所述障碍物的预设范围内存在满足预设条件的位置点时,将该位置点作为中转点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京像素软件科技股份有限公司,未经北京像素软件科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711283043.5/2.html,转载请声明来源钻瓜专利网。