An embodiment of the invention provides a path finding method and device, which includes detecting the current position information of a player as a first position point and detecting the location information of the target as a second position point; determine whether there is an obstacle between the first position point and the second position point, and if there is an obstacle, the obstacle is based on the barrier. A relative position relationship between the first position point and the second position point is found to find the transfer point from the first position point to the second position point; the flight route is generated based on the first position point, the rotation point and the second position point to control the player to fly from the current position to the target position. The embodiment of the invention can make the flight line more smooth and improve the user's gaming experience.
【技术实现步骤摘要】
寻路方法和装置
本专利技术涉及游戏开发
,具体而言,涉及一种寻路方法和装置。
技术介绍
在现有的游戏过程中,玩家从当前位置飞向目的地时表现生硬,使得游戏不够逼真,尤其是在当前位置与目的地之间存在障碍物时。但若像在地面寻路一样使用网格系统进行飞行寻路来提高游戏的逼真度,则会大幅提高内存消耗,影响游戏性能,如游戏卡顿等。
技术实现思路
有鉴于此,本专利技术实施例的目的在于提供一种寻路方法和装置,能够有效改善上述问题。本专利技术较佳实施例提供了一种寻路方法,所述方法包括:检测玩家当前位置信息作为第一位置点,以及检测目标位置信息作为第二位置点;判断所述第一位置点与所述第二位置点之间是否存在障碍物;若存在障碍物,则基于所述障碍物与所述第一位置点和第二位置点之间的相对位置关系寻找从所述第一位置点到所述第二位置点的中转点;基于所述第一位置点、中转点和第二位置点生成飞行路线以控制玩家从当前位置经所述中转点飞向所述目标位置。进一步地,基于所述障碍物与所述第一位置点和第二位置点之间的相对位置关系寻找从所述第一位置点到所述第二位置点的中转点的步骤包括:以所述第一位置点为原点、预设距离为半径检测在该原点的预设方向是否存在与所述第二位置点之间没有障碍物的位置点,若存在,则将该位置点作为中转点。进一步地,在该原点的预设方向不存在与所述第二位置点之间没有障碍物的位置点时,所述方法还包括:增大所述预设距离,并继续以所述第一位置点为原点、以增大后的预设距离为半径,执行检测在该原点的预设方向是否存在与所述第二位置点之间没有障碍物的位置点的步骤。进一步地,基于所述障碍物与所述第一位置点和第二 ...
【技术保护点】
1.一种寻路方法,其特征在于,所述方法包括:检测玩家当前位置信息作为第一位置点,以及检测目标位置信息作为第二位置点;判断所述第一位置点与所述第二位置点之间是否存在障碍物;若存在障碍物,则基于所述障碍物与所述第一位置点和第二位置点之间的相对位置关系寻找从所述第一位置点到所述第二位置点的中转点;基于所述第一位置点、中转点和第二位置点生成飞行路线以控制玩家从当前位置经所述中转点飞向所述目标位置。
【技术特征摘要】
1.一种寻路方法,其特征在于,所述方法包括:检测玩家当前位置信息作为第一位置点,以及检测目标位置信息作为第二位置点;判断所述第一位置点与所述第二位置点之间是否存在障碍物;若存在障碍物,则基于所述障碍物与所述第一位置点和第二位置点之间的相对位置关系寻找从所述第一位置点到所述第二位置点的中转点;基于所述第一位置点、中转点和第二位置点生成飞行路线以控制玩家从当前位置经所述中转点飞向所述目标位置。2.根据权利要求1所述的寻路方法,其特征在于,基于所述障碍物与所述第一位置点和第二位置点之间的相对位置关系寻找从所述第一位置点到所述第二位置点的中转点的步骤包括:以所述第一位置点为原点、预设距离为半径检测在该原点的预设方向是否存在与所述第二位置点之间没有障碍物的位置点,若存在,则将该位置点作为中转点。3.根据权利要求2所述的寻路方法,其特征在于,在该原点的预设方向不存在与所述第二位置点之间没有障碍物的位置点时,所述方法还包括:增大所述预设距离,并继续以所述第一位置点为原点、以增大后的预设距离为半径,执行检测在该原点的预设方向是否存在与所述第二位置点之间没有障碍物的位置点的步骤。4.根据权利要求1所述的寻路方法,其特征在于,基于所述障碍物与所述第一位置点和第二位置点之间的相对位置关系寻找从所述第一位置点到所述第二位置点的中转点的步骤包括:以所述第一位置点为起点,基于多次碰撞法朝向所述障碍物的方向选取满足预设条件的位置点作为中转点,其中,所述预设条件为玩家延所述第一位置点和所述位置点的连线方向运动时不会与所述障碍物发生碰撞。5.根据权利要求4所述的寻路方法,其特征在于,基于多次碰撞法朝向所述障碍物的方向选取满足预设条件的位置点作为中转点的步骤包括:以所述第一位置点和第二位置点的连线为基准线,以所述基准线与所述障碍物靠近所述第一位置点的交点作为基准碰撞点;基于所述基准碰撞点,延所述障碍物的预设碰撞方向依次检测是否存在满足预设条件的位置点,若存在,则将该位置点作为中转点。6.根据权利要求4...
【专利技术属性】
技术研发人员:赵墨强,
申请(专利权)人:北京像素软件科技股份有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。