CN108176050A - 寻路方法和装置 - Google Patents
寻路方法和装置 Download PDFInfo
- Publication number
- CN108176050A CN108176050A CN201711283043.5A CN201711283043A CN108176050A CN 108176050 A CN108176050 A CN 108176050A CN 201711283043 A CN201711283043 A CN 201711283043A CN 108176050 A CN108176050 A CN 108176050A
- Authority
- CN
- China
- Prior art keywords
- point
- barrier
- position point
- location
- intermediate transit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Navigation (AREA)
Abstract
本发明实施例提供一种寻路方法和装置,该方法包括检测玩家当前位置信息作为第一位置点,以及检测目标位置信息作为第二位置点;判断所述第一位置点与所述第二位置点之间是否存在障碍物;若存在障碍物,则基于所述障碍物与所述第一位置点和第二位置点之间的相对位置关系寻找从所述第一位置点到所述第二位置点的中转点;基于所述第一位置点、中转点和第二位置点生成飞行路线以控制玩家从当前位置经所述中转点飞向所述目标位置。本发明实施例能够使得飞行线路更加圆滑,改善用户游戏体验。
Description
技术领域
本发明涉及游戏开发技术领域,具体而言,涉及一种寻路方法和装置。
背景技术
在现有的游戏过程中,玩家从当前位置飞向目的地时表现生硬,使得游戏不够逼真,尤其是在当前位置与目的地之间存在障碍物时。但若像在地面寻路一样使用网格系统进行飞行寻路来提高游戏的逼真度,则会大幅提高内存消耗,影响游戏性能,如游戏卡顿等。
发明内容
有鉴于此,本发明实施例的目的在于提供一种寻路方法和装置,能够有效改善上述问题。
本发明较佳实施例提供了一种寻路方法,所述方法包括:
检测玩家当前位置信息作为第一位置点,以及检测目标位置信息作为第二位置点;
判断所述第一位置点与所述第二位置点之间是否存在障碍物;
若存在障碍物,则基于所述障碍物与所述第一位置点和第二位置点之间的相对位置关系寻找从所述第一位置点到所述第二位置点的中转点;
基于所述第一位置点、中转点和第二位置点生成飞行路线以控制玩家从当前位置经所述中转点飞向所述目标位置。
进一步地,基于所述障碍物与所述第一位置点和第二位置点之间的相对位置关系寻找从所述第一位置点到所述第二位置点的中转点的步骤包括:
以所述第一位置点为原点、预设距离为半径检测在该原点的预设方向是否存在与所述第二位置点之间没有障碍物的位置点,若存在,则将该位置点作为中转点。
进一步地,在该原点的预设方向不存在与所述第二位置点之间没有障碍物的位置点时,所述方法还包括:
增大所述预设距离,并继续以所述第一位置点为原点、以增大后的预设距离为半径,执行检测在该原点的预设方向是否存在与所述第二位置点之间没有障碍物的位置点的步骤。
进一步地,基于所述障碍物与所述第一位置点和第二位置点之间的相对位置关系寻找从所述第一位置点到所述第二位置点的中转点的步骤包括:
以所述第一位置点为起点,基于多次碰撞法朝向所述障碍物的方向选取满足预设条件的位置点作为中转点,其中,所述预设条件为玩家延所述第一位置点和所述位置点的连线方向运动时不会与所述障碍物发生碰撞。
进一步地,基于多次碰撞法朝向所述障碍物的方向选取满足预设条件的位置点作为中转点的步骤包括:
以所述第一位置点和第二位置点的连线为基准线,以所述基准线与所述障碍物靠近所述第一位置点的交点作为基准碰撞点;
基于所述基准碰撞点,延所述障碍物的预设碰撞方向依次检测是否存在满足预设条件的位置点,若存在,则将该位置点作为中转点。
进一步地,基于多次碰撞法朝向所述障碍物的方向选取满足预设条件的位置点作为中转点的步骤包括:
检测在所述第一位置点朝向所述障碍物的预设范围内是否存在满足预设条件的位置点;
若不存在,则控制玩家按照预设距离进行位移以到达新的第一位置点,并继续执行检测在所述第一位置点朝向所述障碍物的预设范围内是否存在满足预设条件的位置点的步骤,直到玩家当前所在的第一位置点朝向所述障碍物的预设范围内存在满足预设条件的位置点时,将该位置点作为中转点。
进一步地,在检测在第一位置点朝向所述障碍物的预设范围内是否存在所述障碍物的步骤之前,所述方法还包括:
根据所述第一位置点与所述障碍物的位置关系确定上述玩家按照预设距离进行位移的位移方向。
本发明实施例还提供一种寻路装置,所述装置包括:
位置检测模块,用于检测玩家当前位置信息作为第一位置点,以及检测目标位置信息作为第二位置点;
判断模块,用于判断所述第一位置点与所述第二位置点之间是否存在障碍物;
中转点确定模块,用于若存在障碍物,则基于所述障碍物与所述第一位置点和第二位置点之间的相对位置关系寻找从所述第一位置点到所述第二位置点的中转点;
路线生成模块,用于基于所述第一位置点、中转点和第二位置点生成飞行路线以控制玩家从当前位置经所述中转点飞向所述目标位置。
进一步地,所述中转点确定模块包括:
检测单元,用于以所述第一位置点为原点、预设距离为半径检测在该原点的预设方向是否存在与所述第二位置点之间没有障碍物的位置点;
中转点确定单元,用于在存在与所述第二位置点之间没有障碍物的位置点时,将该位置点作为中转点。
进一步地,所述检测单元还用于在所述原点的预设方向不存在与所述第二位置点之间有障碍物的位置点时,增大所述预设距离,并继续以所述第一位置点为原点、以增大后的预设距离为半径,执行检测在该原点的预设方向是否存在与所述第二位置点之间不存在障碍物的位置点的步骤。
与现有技术相比,本发明实施例提供的寻路方法和装置,基于玩家当前位置、障碍物位置以及目标位置三者之间的位置关系寻找最优中转点实现飞行寻路,以使得玩家从当前位置到目标位置的飞行线路更加圆滑,游戏效果更加逼真。同时,本方法复杂度低,实现简单,不会消耗或占用过多的内存。
此外,通过本发明实施例提供的寻路方法还能使得玩家合理躲避障碍物,提高游戏过程中的智能化,改善用户游戏体验。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为应用本发明实施例提供的寻路装置的电子设备的方框结构示意图。
图2为本发明实施例提供的寻路方法的流程示意图。
图3为图2中所示的步骤S130的子流程示意图。
图4为本发明实施例提供的中转点寻找取点过程示意图。
图5为应用图3中所示的寻路方法的飞行效果示意图。
图6为图2中所示的步骤S130的另一子流程示意图。
图7为本发明实施例提供的中转点寻找取点过程的另一示意图。
图8为应用图6中所示的寻路方法的飞行效果示意图。
图9为图2中所示的步骤S130的又一子流程示意图。
图10为本发明实施例提供的中转点寻找取点过程的又一示意图。
图11为应用图9中所示的寻路方法的飞行效果示意图。
图12为本发明实施例提供的寻路装置的方框结构示意图。
图标:10-电子设备;100-寻路装置;110-位置检测模块;120-判断模块;130-中转点确定模块;131-检测单元;132-中转点确定单元;140-路线生成模块;200-存储器;300-存储控制器;400-处理器。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
如图1所示,是应用本发明较佳实施例提供的所述寻路方法和装置的电子设备10的方框结构示意图,该电子设备10包括寻路装置100、存储器200、存储控制器300以及处理器400。其中,所述存储器200、存储控制器300和处理器400各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件之间通过一条或多条通讯总线或信号线实现电性连接。所述寻路装置100包括至少一个可以软件或固件的形式存储于所述存储器200中或固化在所述电子设备10的操作系统中的软件功能模块。所述处理器400在所述存储控制器300的控制下访问所述存储器200,以用于执行所述存储器200中存储的可执行模块,例如所述寻路装置100所包括的软件功能模块及计算机程序等,进而实现本发明实施例中的配置方法。可选地,所述电子设备10可以是,但不限于智能手机、IPAD、电脑、服务器等。
应当理解,图1所示的结构仅为示意。所述电子设备10可以具有比图1所示更多或者更少的组件,或者具有与图1所示不同的配置。其中,图1所示的各组件可以由软件、硬件或者其组合实现。
进一步地,如图2所示,是本发明较佳实施例提供的寻路方法的流程示意图,所述寻路方法应用于图1中所示的电子设备10。下面结合图2对所述寻路方法的具体流程及步骤进行详细阐述。
步骤S110:检测玩家当前位置信息作为第一位置点,以及检测目标位置信息作为第二位置点。
实际游戏过程中玩家与目的地之间存在有障碍物和无障碍物两种情况,因此,在进行飞行寻路时可首先检测玩家的当前位置信息以及目标位置信息,以作为判断玩家与目的地之间是否存在障碍物以及在存在障碍物时的飞行寻路的判断基准。可选地,所述目标位置信息可以是最终的目的地信息,也可以最终目的地与玩家之间的任一个中转点位置信息,本实施例在此不做限制。
步骤S120:判断所述第一位置点与所述第二位置点之间是否存在障碍物。
其中,在进行是否存在障碍物的判断时可采用不同的方式实现。例如,基于所述第一位置点、所述第二位置点以及第一位置点和第二位置点之间的区域确定检测范围,并在该检测范围内进行障碍物检测,具体地本实施例在此不做限制。另外,所述障碍物可以是但不限于岛屿、墙体、树木等。
步骤S130:若存在障碍物,则基于所述障碍物与所述第一位置点和第二位置点之间的相对位置关系寻找从所述第一位置点到所述第二位置点的中转点。
其中,由于第一位置点与所述第二位置点之间可能存在一个或多个障碍物,因此,在进行飞行寻路时,无需设定从当前位置到目的位置的全部飞行路线,而是根据障碍物的实际情况,依次躲避各个障碍物。
例如,当所述第一位置点与所述第二位置点存在两个障碍物,首先可选取第一个障碍物和第二个障碍物之间的某个位置作为临时目标位置,并按照预设寻路方法寻找从第一位置点绕过第一个障碍物到达该临时目标位置的第一中转点,以使玩家延第一位置点并经第一中转点到达所述临时目标位置;然后以所述临时目标位置作为玩家的当前位置(第一位置点),寻找从当前位置(第一位置点)到达目的位置并绕过第二障碍物的第二中转点,以使玩家延当前位置并经第二中转点达到最终的目的位置,即可完成从第一位置点到第二位置点的飞行。
因此,在本实施例中可以理解的是,所述第一位置点可以是玩家起始飞行时的当前位置,也可以是玩家从起始飞行位置开始经一次或多次中转后的当前位置,所述第二位置点可以是需要多次中转的中转点位置,也可以是玩家的最终飞行目标位置,本实施例在此不做限制。
进一步地,根据障碍物与第一位置点和第二位置点之间的相对位置关系的不同,中转点的寻找方式也有多种,如取点测试法和多次碰撞法,下面通过图3中所示的步骤S131和步骤S132对所述取点测试法进行说明,以及通过图6和图9中所示的步骤S133-步骤S136对所述多次碰撞法进行说明,具体如下。
(1)取点测试法。该方法可应用于但不限于玩家在障碍物的正下方或正上方时等。
步骤S131,以所述第一位置点为原点、预设距离为半径检测在该原点的预设方向是否存在与所述第二位置点之间没有障碍物的位置点,若存在,则将该位置点作为中转点。
步骤S132,在该原点的预设方向不存在与所述第二位置点之间没有障碍物的位置点时,增大所述预设距离,并继续以所述第一位置点为原点、以增大后的预设距离为半径,执行检测在该原点的预设方向是否存在与所述第二位置点之间没有障碍物的位置点的步骤。
其中,所述预设距离可根据实际需求进行灵活设定,例如,10米、500米等。所述预设方向可以为东、南、西、北、东南、西北、东北、西北等方向中的一个或多个。
例如,假设所述预设方向包括东、南、西、北四个方向,玩家位于障碍物的上方,那么,如图4所示为采用取点测试法进行中转点选取的中转点测试分布示意图。其中,图4中所示1、2、3、4点为采用预设距离为半径进行第一次中转点测试的测试点分布示意图。5、6、7、8点为当1、2、3、4点均与第二位置点之间存在障碍物时,通过增大预设距离并以增大后的预设距离为半径进行第二次中转点测试的测试点分布示意图。若5、6、7、8点依旧与第二位置点之间存在障碍物时,可继续增大预设距离并继续寻找是否存在满足预设条件的中转点。其中,在增大预设距离时可根据实际需求进行增大,如可按照预设值从小到大依次增大等,如5米、10米、15米、20米等,本实施例在此不做限制。另外,若已经完成预设次检测后依旧不存在满足预设条件的中转点,如10次、20次等,则可提示玩家寻路失败或者需要其自行寻路等。
在此应注意,通过该取点测试法得到的中转点应满足:中转点位置和后续的中转位置(目标位置)之间没有障碍物、玩家的当前位置到中转位置之间没有障碍物。本实施例中,以图5为例,根据找到的中转点,玩家可先飞行到中转点,再垂直飞行到目的地高度,最后在寻路飞向最终目的地。
(2)多点碰撞法。本实施例中可以以所述第一位置点为起点,基于多次碰撞法朝向所述障碍物的方向选取满足预设条件的位置点作为中转点,其中,所述预设条件为玩家延所述第一位置点和所述位置点的连线方向运动时不会与所述障碍物发生碰撞,具体如图6中所示的步骤S133、S134以及图9中所示的步骤S135和步骤S136。
步骤S133,以所述第一位置点和第二位置点的连线为基准线,以所述基准线与所述障碍物靠近所述第一位置点的交点作为基准碰撞点。
步骤S134,基于所述基准碰撞点,延所述障碍物的预设碰撞方向依次检测是否存在满足预设条件的位置点,若存在,则将该位置点作为中转点。
其中,所述预设碰撞方向可根据实际需求进行灵活设定,如以障碍物的长度方向等,本实施例在此不做限制。在此以图7为例,那么首先以玩家所在位置(第一位置点)和目的地(第二位置点)为基准线,该基准碰撞点则为为图7中所示的1点。实际实施时,可以该基准碰撞点1为起点,以该其上方为碰撞方向,按照5米的间隔依次进行碰撞检测,直到与障碍物之间没有碰撞点为止,并将最后为发生碰撞的检测点设置为中转点。可选地,如图8所示,为图中所示的玩家经中转点飞行至第二位置点的飞行线路示意图。
在此应理解,若已经完成预设次检测后依旧不存在满足预设条件的中转点,如10次、20次等,则可提示玩家寻路失败或者需要其自行寻路等。
进一步地,除上述的通过寻找中转点以使玩家从该当前位置经中转点直接飞行到目的地外,如图9所示,本实施例还给出了步骤S135-步骤S136中的寻路方法,具体如下。
步骤S135,检测在所述第一位置点朝向所述障碍物的预设范围内是否存在满足预设条件的位置点。
步骤S136,若不存在,则控制玩家按照预设距离进行位移以到达新的第一位置点,并继续执行检测在所述第一位置点朝向所述障碍物的预设范围内是否存在满足预设条件的位置点的步骤,直到玩家当前所在的第一位置点朝向所述障碍物的预设范围内存在满足预设条件的位置点时,将该位置点作为中转点。
其中,在步骤S135和步骤S136中,以第一位置点为起点朝向障碍物的方向进行碰撞,且在每次碰撞时,若存在障碍物,则进行一次位移。反之,则以当前位置为中转点进行飞行中转。
以图10为例,假设检测方向为垂直于障碍物的方向且预设范围为5米,位移方向为水平方向且每次位移距离为1米,那么当玩家和目的地之间存在障碍物,玩家可优先向正上方5米处做碰撞检测,若无障碍物则直接飞到正上方5米处再向目标位置进行飞行寻路;若有障碍物,则将目标位置的水平反方向1米处设置为临时中转点,在临时中转点向上5米做碰撞,若有碰撞,临时中转点改为向目的地水平反方向2米处,在临时中转点向上5米做碰撞......一直到无碰撞点为止,将临时中转点设置成正式中转点。最后玩家先飞到中转点,再向上飞5米以再次向目的地飞行寻路。另外,请结合参阅图11,为采用步骤S135和步骤S136进行寻路的效果示意图。
其中,若已经完成预设次检测后依旧不存在满足预设条件的中转点,如10次、20次等,则可提示玩家寻路失败或者需要其自行寻路等。
可选地,在本实施例中,可在执行步骤S135之前,可根据实际障碍物与第一位置点之间的相对位置关系,确定玩家按照预设距离进行位移时的位移方向。例如,假设如图11所示,障碍物为“L”型使得玩家到障碍物上方之间有障碍物,那么,玩家在通过步骤S135到步骤S136寻找中转点时,可将远离目的地的方向作为玩家按照预设距离进行位移时的位移方向,本实施例在此不做具体限制。
可以理解的是,在实际实施时,若所述第一位置点与所述第二位置点之间不存在障碍物,则玩家可直接从当前位置飞至目的地即可,而无需特殊处理。
步骤S140:基于所述第一位置点、中转点和第二位置点生成飞行路线以控制玩家从当前位置经所述中转点飞向所述目标位置。
进一步地,如图12所示,是本发明较佳实施例提供的寻路装置100的方框结构示意图,所述寻路装置100应用于图1中所示的电子设备10。其中,所述寻路装置100包括位置检测模块110、判断模块120、中转点确定模块130和路线生成模块140。
所述位置检测模块110,用于检测玩家当前位置信息作为第一位置点,以及检测目标位置信息作为第二位置点。本实施例中,关于所述位置检测模块110的描述具体可参考上述步骤S110的详细描述,也即,所述步骤S110可以由所述位置检测模块110执行,因而在此不作更多说明。
所述判断模块120,用于判断所述第一位置点与所述第二位置点之间是否存在障碍物。本实施例中,关于所述判断模块120的描述具体可参考上述步骤S120的详细描述,也即,所述步骤S120可以由所述判断模块120执行,因而在此不作更多说明。
所述中转点确定模块130,用于若存在障碍物,则基于所述障碍物与所述第一位置点和第二位置点之间的相对位置关系寻找从所述第一位置点到所述第二位置点的中转点。本实施例中,关于所述中转点确定模块130的描述具体可参考上述步骤S130的详细描述,也即,所述步骤S130可以由所述中转点确定模块130执行。可选地,本实施例中,所述中转点确定模块130还包括检测单元131和中转点确定单元132。
所述检测单元131,用于以所述第一位置点为原点、预设距离为半径检测在该原点的预设方向是否存在与所述第二位置点之间没有障碍物的位置点。本实施例中,关于所述检测单元131的描述具体可参考上述步骤S131的详细描述,也即,所述步骤S131可以由所述检测单元131执行。
所述中转点确定单元132,用于在存在与所述第二位置点之间没有障碍物的位置点时,将该位置点作为中转点。本实施例中,关于所述中转点确定单元132的描述具体可参考上述步骤S132的详细描述,也即,所述步骤S132可以由所述中转点确定单元132执行。
所述路线生成模块140,用于基于所述第一位置点、中转点和第二位置点生成飞行路线以控制玩家从当前位置经所述中转点飞向所述目标位置。本实施例中,关于所述路线生成模块140的描述具体可参考上述步骤S140的详细描述,也即,所述步骤S140可以由所述路线生成模块140执行,因而在此不作更多说明。
综上所述,本发明实施例提供一种寻路方法和装置,其中,基于玩家当前位置、障碍物位置以及目标位置三者之间的位置关系寻找最优中转点实现飞行寻路,以使得玩家从当前位置到目标位置的飞行线路更加圆滑,游戏效果更加逼真。同时,本方法复杂度低,实现简单,不会消耗或占用过多的内存。
此外,通过本发明实施例提供的寻路方法还能使得玩家合理躲避障碍物,提高游戏过程中的智能化,改善用户游戏体验。
在本发明实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的可选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种寻路方法,其特征在于,所述方法包括:
检测玩家当前位置信息作为第一位置点,以及检测目标位置信息作为第二位置点;
判断所述第一位置点与所述第二位置点之间是否存在障碍物;
若存在障碍物,则基于所述障碍物与所述第一位置点和第二位置点之间的相对位置关系寻找从所述第一位置点到所述第二位置点的中转点;
基于所述第一位置点、中转点和第二位置点生成飞行路线以控制玩家从当前位置经所述中转点飞向所述目标位置。
2.根据权利要求1所述的寻路方法,其特征在于,基于所述障碍物与所述第一位置点和第二位置点之间的相对位置关系寻找从所述第一位置点到所述第二位置点的中转点的步骤包括:
以所述第一位置点为原点、预设距离为半径检测在该原点的预设方向是否存在与所述第二位置点之间没有障碍物的位置点,若存在,则将该位置点作为中转点。
3.根据权利要求2所述的寻路方法,其特征在于,在该原点的预设方向不存在与所述第二位置点之间没有障碍物的位置点时,所述方法还包括:
增大所述预设距离,并继续以所述第一位置点为原点、以增大后的预设距离为半径,执行检测在该原点的预设方向是否存在与所述第二位置点之间没有障碍物的位置点的步骤。
4.根据权利要求1所述的寻路方法,其特征在于,基于所述障碍物与所述第一位置点和第二位置点之间的相对位置关系寻找从所述第一位置点到所述第二位置点的中转点的步骤包括:
以所述第一位置点为起点,基于多次碰撞法朝向所述障碍物的方向选取满足预设条件的位置点作为中转点,其中,所述预设条件为玩家延所述第一位置点和所述位置点的连线方向运动时不会与所述障碍物发生碰撞。
5.根据权利要求4所述的寻路方法,其特征在于,基于多次碰撞法朝向所述障碍物的方向选取满足预设条件的位置点作为中转点的步骤包括:
以所述第一位置点和第二位置点的连线为基准线,以所述基准线与所述障碍物靠近所述第一位置点的交点作为基准碰撞点;
基于所述基准碰撞点,延所述障碍物的预设碰撞方向依次检测是否存在满足预设条件的位置点,若存在,则将该位置点作为中转点。
6.根据权利要求4所述的寻路方法,其特征在于,基于多次碰撞法朝向所述障碍物的方向选取满足预设条件的位置点作为中转点的步骤包括:
检测在所述第一位置点朝向所述障碍物的预设范围内是否存在满足预设条件的位置点;
若不存在,则控制玩家按照预设距离进行位移以到达新的第一位置点,并继续执行检测在所述第一位置点朝向所述障碍物的预设范围内是否存在满足预设条件的位置点的步骤,直到玩家当前所在的第一位置点朝向所述障碍物的预设范围内存在满足预设条件的位置点时,将该位置点作为中转点。
7.根据权利要求6所述的寻路方法,其特征在于,在检测在第一位置点朝向所述障碍物的预设范围内是否存在所述障碍物的步骤之前,所述方法还包括:
根据所述第一位置点与所述障碍物的位置关系确定上述玩家按照预设距离进行位移的位移方向。
8.一种寻路装置,其特征在于,所述装置包括:
位置检测模块,用于检测玩家当前位置信息作为第一位置点,以及检测目标位置信息作为第二位置点;
判断模块,用于判断所述第一位置点与所述第二位置点之间是否存在障碍物;
中转点确定模块,用于若存在障碍物,则基于所述障碍物与所述第一位置点和第二位置点之间的相对位置关系寻找从所述第一位置点到所述第二位置点的中转点;
路线生成模块,用于基于所述第一位置点、中转点和第二位置点生成飞行路线以控制玩家从当前位置经所述中转点飞向所述目标位置。
9.根据权利要求8所述的寻路装置,其特征在于,所述中转点确定模块包括:
检测单元,用于以所述第一位置点为原点、预设距离为半径检测在该原点的预设方向是否存在与所述第二位置点之间没有障碍物的位置点;
中转点确定单元,用于在存在与所述第二位置点之间没有障碍物的位置点时,将该位置点作为中转点。
10.根据权利要求9所述的寻路装置,其特征在于,所述检测单元还用于在所述原点的预设方向不存在与所述第二位置点之间有障碍物的位置点时,增大所述预设距离,并继续以所述第一位置点为原点、以增大后的预设距离为半径,执行检测在该原点的预设方向是否存在与所述第二位置点之间不存在障碍物的位置点的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711283043.5A CN108176050B (zh) | 2017-12-07 | 2017-12-07 | 寻路方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711283043.5A CN108176050B (zh) | 2017-12-07 | 2017-12-07 | 寻路方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108176050A true CN108176050A (zh) | 2018-06-19 |
CN108176050B CN108176050B (zh) | 2020-11-13 |
Family
ID=62545795
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711283043.5A Active CN108176050B (zh) | 2017-12-07 | 2017-12-07 | 寻路方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108176050B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108939547A (zh) * | 2018-07-04 | 2018-12-07 | 苏州玩友时代科技股份有限公司 | 一种最佳路径获取方法、装置、设备及存储介质 |
CN109224446A (zh) * | 2018-07-17 | 2019-01-18 | 派视觉虚拟现实(深圳)软件技术有限公司 | 一种游戏中的动物运动方法、装置及设备 |
CN109350968A (zh) * | 2018-10-26 | 2019-02-19 | 杭州电魂网络科技股份有限公司 | 一种寻路方法和装置 |
CN109806585A (zh) * | 2019-02-19 | 2019-05-28 | 网易(杭州)网络有限公司 | 游戏的显示控制方法、装置、设备和存储介质 |
CN109999498A (zh) * | 2019-05-16 | 2019-07-12 | 网易(杭州)网络有限公司 | 一种虚拟对象的寻路方法和装置 |
CN110237533A (zh) * | 2019-04-24 | 2019-09-17 | 深圳点猫科技有限公司 | 一种基于龙骨动画的网游角色移动控制方法及装置 |
CN112370787A (zh) * | 2020-11-17 | 2021-02-19 | 网易(杭州)网络有限公司 | 虚拟角色的控制方法、计算机可读存储介质及处理器 |
CN115845381A (zh) * | 2023-02-07 | 2023-03-28 | 广州三七极耀网络科技有限公司 | 一种基于包围盒的快速寻路方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102053620A (zh) * | 2009-11-06 | 2011-05-11 | 北京理工大学 | 一种地面移动机器人群摆脱多边形障碍物的方法 |
US8239084B2 (en) * | 2006-09-11 | 2012-08-07 | Hitachi, Ltd. | Moving device |
CN106354161A (zh) * | 2016-09-26 | 2017-01-25 | 湖南晖龙股份有限公司 | 机器人运动路径规划方法 |
CN106774425A (zh) * | 2017-03-13 | 2017-05-31 | 南昌航空大学 | 一种无人机飞行导航的方法及系统 |
CN106730841A (zh) * | 2017-01-17 | 2017-05-31 | 网易(杭州)网络有限公司 | 一种寻路方法和装置 |
-
2017
- 2017-12-07 CN CN201711283043.5A patent/CN108176050B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8239084B2 (en) * | 2006-09-11 | 2012-08-07 | Hitachi, Ltd. | Moving device |
CN102053620A (zh) * | 2009-11-06 | 2011-05-11 | 北京理工大学 | 一种地面移动机器人群摆脱多边形障碍物的方法 |
CN106354161A (zh) * | 2016-09-26 | 2017-01-25 | 湖南晖龙股份有限公司 | 机器人运动路径规划方法 |
CN106730841A (zh) * | 2017-01-17 | 2017-05-31 | 网易(杭州)网络有限公司 | 一种寻路方法和装置 |
CN106774425A (zh) * | 2017-03-13 | 2017-05-31 | 南昌航空大学 | 一种无人机飞行导航的方法及系统 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108939547A (zh) * | 2018-07-04 | 2018-12-07 | 苏州玩友时代科技股份有限公司 | 一种最佳路径获取方法、装置、设备及存储介质 |
CN108939547B (zh) * | 2018-07-04 | 2019-06-21 | 苏州玩友时代科技股份有限公司 | 一种最佳路径获取方法、装置、设备及存储介质 |
CN109224446A (zh) * | 2018-07-17 | 2019-01-18 | 派视觉虚拟现实(深圳)软件技术有限公司 | 一种游戏中的动物运动方法、装置及设备 |
CN109224446B (zh) * | 2018-07-17 | 2022-05-06 | 派视觉虚拟现实(深圳)软件技术有限公司 | 一种游戏中的动物运动方法、装置及设备 |
CN109350968A (zh) * | 2018-10-26 | 2019-02-19 | 杭州电魂网络科技股份有限公司 | 一种寻路方法和装置 |
CN109806585A (zh) * | 2019-02-19 | 2019-05-28 | 网易(杭州)网络有限公司 | 游戏的显示控制方法、装置、设备和存储介质 |
CN109806585B (zh) * | 2019-02-19 | 2024-02-23 | 网易(杭州)网络有限公司 | 游戏的显示控制方法、装置、设备和存储介质 |
CN110237533A (zh) * | 2019-04-24 | 2019-09-17 | 深圳点猫科技有限公司 | 一种基于龙骨动画的网游角色移动控制方法及装置 |
CN109999498A (zh) * | 2019-05-16 | 2019-07-12 | 网易(杭州)网络有限公司 | 一种虚拟对象的寻路方法和装置 |
CN112370787A (zh) * | 2020-11-17 | 2021-02-19 | 网易(杭州)网络有限公司 | 虚拟角色的控制方法、计算机可读存储介质及处理器 |
CN115845381A (zh) * | 2023-02-07 | 2023-03-28 | 广州三七极耀网络科技有限公司 | 一种基于包围盒的快速寻路方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108176050B (zh) | 2020-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108176050A (zh) | 寻路方法和装置 | |
CN107808122B (zh) | 目标跟踪方法及装置 | |
CN106647742B (zh) | 移动路径规划方法及装置 | |
CN106201266B (zh) | 一种虚拟角色移动的控制方法及装置、电子设备 | |
US8082245B2 (en) | Providing location information within a virtual world | |
CN110264326A (zh) | 识别异常账户集合和风险账户集合的方法、装置及设备 | |
CN108344414A (zh) | 一种地图构建、导航方法及装置、系统 | |
CN108463273A (zh) | 基于游戏者的移动历史来进行非游戏者角色的路径寻找的游戏系统等 | |
CN106296301A (zh) | 一种房产销售线索的挖掘方法 | |
CN107843252A (zh) | 导航路径优化方法、装置及电子设备 | |
CN102915188A (zh) | 一种控制终端屏幕的显示状态的方法及装置 | |
CN110251937A (zh) | 游戏对象控制方法及装置 | |
CN110354506A (zh) | 游戏操作方法及装置 | |
CN108281012A (zh) | 交通流量数据的显示方法、装置、存储介质及电子装置 | |
CN110755848A (zh) | 一种游戏中的寻路方法、终端及可读存储介质 | |
CN112308313B (zh) | 一种学校连续点选址方法、装置、介质及计算机设备 | |
CN106874936A (zh) | 图像传播监测方法及装置 | |
CN109806585A (zh) | 游戏的显示控制方法、装置、设备和存储介质 | |
CN109077672A (zh) | 一种扫地机器人选择区块的方法及装置 | |
CN103559162B (zh) | 一种定位hub组上的usb设备的方法和主机 | |
CN110210564A (zh) | 相似户型检测方法及装置 | |
CN106201494A (zh) | 一种悬浮菜单的自动移动方法和装置 | |
CN206193936U (zh) | 一种增强现实的智慧旅游系统 | |
CN106547900A (zh) | 一种地图渲染方法及终端 | |
KR20190099207A (ko) | 정보 처리 장치, 정보 처리 방법 및 컴퓨터 프로그램 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |