CN113413601B - 寻路方法及装置 - Google Patents

寻路方法及装置 Download PDF

Info

Publication number
CN113413601B
CN113413601B CN202110808690.3A CN202110808690A CN113413601B CN 113413601 B CN113413601 B CN 113413601B CN 202110808690 A CN202110808690 A CN 202110808690A CN 113413601 B CN113413601 B CN 113413601B
Authority
CN
China
Prior art keywords
grid
task
determining
individual
volume
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.)
Active
Application number
CN202110808690.3A
Other languages
English (en)
Other versions
CN113413601A (zh
Inventor
张怡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Hode Information Technology Co Ltd
Original Assignee
Shanghai Hode Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Hode Information Technology Co Ltd filed Critical Shanghai Hode Information Technology Co Ltd
Priority to CN202110808690.3A priority Critical patent/CN113413601B/zh
Publication of CN113413601A publication Critical patent/CN113413601A/zh
Application granted granted Critical
Publication of CN113413601B publication Critical patent/CN113413601B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/56Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/537Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen
    • A63F13/5375Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen for graphically or textually suggesting an action, e.g. by displaying an arrow indicating a turn in a driving game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/537Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen
    • A63F13/5378Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen for displaying an additional top view, e.g. radar screens or maps

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Optics & Photonics (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Instructional Devices (AREA)
  • Navigation (AREA)

Abstract

本申请提供寻路方法及装置,其中所述寻路方法包括:获取网格地图,在网格地图中确定任务群组的终点网格,任务群组中包含至少一个任务个体;根据任务群组中各任务个体的体积,确定任务群组中的目标任务个体;确定网格地图中各网格对应的可容纳体积;根据目标任务个体的体积、各网格对应的可容纳体积和终点网格的位置信息,确定各网格的度量值,度量值表示从该网格到终点网格的最少网格数;根据各网格的度量值和各任务个体在网格地图中的初始位置信息,确定各任务个体到终点网格的寻路路线。在大量任务个体移动到同一终点网格的情况下,避免了重复寻路,有效地降低了寻路的消耗;同时合理规划寻路路线,提高了寻路路线的避障能力和寻路的效率。

Description

寻路方法及装置
技术领域
本申请涉及计算机技术领域,特别涉及一种寻路方法。本申请同时涉及一种寻路装置,一种计算设备,以及一种计算机可读存储介质。
背景技术
随着计算机技术的不断发展,各种各样的人工智能设计层出不穷。寻路是基于视频的网络游戏(例如视频游戏)中人工智能最重要,影响最广泛的主题之一。目前,网络游戏中最常用的寻路方法之一是A-Star算法。
A-Star算法在遍历给定的图形时,能够找到两点之间的最短路径,尤其对于单个任务个体的移动,该算法是寻路的最佳解决方案。但是,A-Star算法的性能会受到任务个体数量的影响。如在RTS(Real-Time Strategy Game,即时战略游戏)中,经常发生大量的任务个体同时寻路移动。如果成百上千的任务个体试图到达同一位置,A-Star算法会分别为每个任务个体寻路,这将导致CPU的消耗大幅提升,从而造成任务卡顿,影响用户体验。因此,亟需一种有效的方案以解决上述问题。
发明内容
有鉴于此,本申请实施例提供了一种寻路方法。本申请同时涉及一种寻路装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的消耗过大、任务卡顿、用户体验性差的缺陷。
根据本申请实施例的第一方面,提供了一种寻路方法,包括:
获取网格地图,在所述网格地图中确定任务群组的终点网格,所述任务群组中包含至少一个任务个体;
根据所述任务群组中各任务个体的体积,确定所述任务群组中的目标任务个体;
确定所述网格地图中各网格对应的可容纳体积;
根据所述目标任务个体的体积、各网格对应的可容纳体积和所述终点网格的位置信息,确定各网格的度量值,所述度量值表示从该网格到所述终点网格的最少网格数;
根据各网格的度量值和各任务个体在所述网格地图中的初始位置信息,确定各任务个体到所述终点网格的寻路路线。
根据本申请实施例的第二方面,提供了一种寻路装置,包括:
网格地图获取模块,被配置为获取网格地图,在所述网格地图中确定任务群组的终点网格,所述任务群组中包含至少一个任务个体;
目标任务个体确定模块,被配置为根据所述任务群组中各任务个体的体积,确定所述任务群组中的目标任务个体;
可容纳体积确定模块,被配置为确定所述网格地图中各网格对应的可容纳体积;
度量值确定模块,被配置为根据所述目标任务个体的体积、各网格对应的可容纳体积和所述终点网格的位置信息,确定各网格的度量值,所述度量值表示从该网格到所述终点网格的最少网格数;
寻路路线确定模块,被配置为根据各网格的度量值和各任务个体在所述网格地图中的初始位置信息,确定各任务个体到所述终点网格的寻路路线。
根据本申请实施例的第三方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述计算机指令时实现所述寻路方法的步骤。
根据本申请实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机指令,该计算机指令被处理器执行时实现所述寻路方法的步骤。
本申请提供的寻路方法,获取网格地图,在所述网格地图中确定任务群组的终点网格,所述任务群组中包含至少一个任务个体;根据所述任务群组中各任务个体的体积,确定所述任务群组中的目标任务个体;确定所述网格地图中各网格对应的可容纳体积;根据所述目标任务个体的体积、各网格对应的可容纳体积和所述终点网格的位置信息,确定各网格的度量值,所述度量值表示从该网格到所述终点网格的最少网格数;根据各网格的度量值和各任务个体在所述网格地图中的初始位置信息,确定各任务个体到所述终点网格的寻路路线。在大量任务个体移动到同一终点网格的情况下,只需根据目标任务个体、各网格的可容纳体积和终点网格的位置信息,确定各网格的度量值,从而基于各网格的度量值,也即基于各网点度量值的网格地图就可以确定各任务个体的寻路路线,从而在寻路过程中无需多次寻路,避免了重复寻路,有效地降低了寻路的消耗;同时根据目标任务个体的体积,合理规划寻路路线,提高了寻路路线的避障能力,提高了寻路的效率。
附图说明
图1是本申请一实施例提供的一种寻路方法的流程图;
图2A是本申请一实施例提供的一种网格地图的界面示意图;
图2B是本申请一实施例提供的一种在网格地图中设置终点网格的界面示意图;
图3A是本申请一实施例提供的一种确定网格对应的可容纳体积的界面示意图;
图3B是本申请一实施例提供的一种网格地图中各网格的度量值的界面示意图;
图4A是本申请一实施例提供的一种网格的结构图;
图4B是本申请一实施例提供的一种网格对应的可容纳体积和度量值的界面示意图;
图4C是本申请一实施例提供的另一种网格对应的可容纳体积和度量值的界面示意图;
图5A是本申请一实施例提供的一种寻路路线的界面示意图;
图5B是本申请一实施例提供的另一种寻路路线的界面示意图;
图5C是本申请一实施例提供的一种路径方向的界面示意图;
图5D是本申请一实施例提供的另一种路径方向的界面示意图;
图6是本申请一实施例提供的一种寻路路线的效果示意图;
图7是本申请一实施例提供的一种应用于游戏场景的寻路方法的处理流程图;
图8是本申请一实施例提供的一种寻路装置的结构示意图;
图9是本申请一实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请一个或多个实施例。在本申请一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本申请一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本申请一个或多个实施例涉及的名词术语进行解释。
A-Star算法,又称A*算法,是一种静态路网中求解最短路径最有效的直接搜索方法,也是解决许多搜索问题的有效算法。该算法中的距离估算值与实际值越接近,最终搜索速度越快。
即时战略游戏(Real-Time Strategy Game),简称RTS,是策略游戏(StrategyGame)的一种。RTS是即时进行的,而不是策略游戏中常见的回合制。另外玩家在游戏中经常会扮演将军,进行调兵遣将这种宏观操作。
在本申请中,提供了一种寻路方法,本申请同时涉及一种寻路装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图1示出了根据本申请一实施例提供的一种寻路方法的流程图,具体包括以下步骤:
步骤102:获取网格地图,在所述网格地图中确定任务群组的终点网格,所述任务群组中包含至少一个任务个体。
具体的,网格地图是指将任务地图进行网格化处理之后的地图,即将任务场景对应的任务地图划分为大量大小相同的网格,大量大小相同的网格构成网格地图;任务群组是指一个或者多个需要寻路到同一终点网格、且距离相近的任务个体的集合;任务个体是指执行任务的单个个体,例如行军打仗中的一个士兵。
实际应用中,在进行寻路之前,需要先获取任务地图,然后将该任务地图以该任务预先设置的长度单位分割为大量大小相同的网格,这里的长度单位是任务中自定义的长度单位,每个任务中的长度单位都是以这个标准大小衡量的。分割完成之后,得到了网格地图。然后选择一个或者多个需要移动到同一终点的任务个体,将其组成一个任务群组。之后根据与任务群组中的终点相关的信息在该网格地图中该任务群组的终点网格。
图2A示出了根据本申请一实施例提供的一种网格地图的界面示意图。在图2A中根据自定义的长度单位将任务地图划分为大量大小相同的网格,形成网格地图;其中黑色正方体标注的部分为障碍,也即任务个体不能通行的区域,如悬崖、沟壑、峭壁等。进一步地,在该网格地图中确定任务群组需要移动到的终点对应的终点网格。
终点网格可以是人为设置的,如“调兵遣将”任务,需要用户指定一个固定的地点,使各任务个体移动到该固定的地点;也可以是系统根据任务需求进行设置的,如“搬运”任务,需要系统指定一个固定的地点,由各任务个体将货物搬运该固定的地点。但不论是人为设置还是系统设置,都会产生一个终点设置指令,用于根据该终点设置指令在网格地图中确定任务群组的终点网格。即在所述网格地图中确定任务群组的终点网格的具体实现过程如下:
接收针对任务群组的终点设置指令,所述终点设置指令中包含终点位置信息;
确定所述网格地图中与所述终点位置信息对应的网格作为所述任务群组的终点网格。
具体的,所述终点设置指令是用于在网格地图设置任务群组的终点位置的指令,也即确定终点网格的指令,终点设置指令可以是系统根据用户操作生成的指令,即人工设置终点网格生成的终点设置指令,也可以是系统根据任务类型生成的指令,即系统自动设置终点网格生成的终点设置指令。终点位置信息是指表征终点位置的信息,如终点的坐标信息。
实际应用中,通过用户的操作或者系统根据任务的默认设置,生成一个针对任务群组的终点设置指令。此时将接收到包含有终点位置信息的终点设置指令,而该终点位置信息对应于网格地图中的一个网格,可以将该终点位置信息与网格地图中的各网格的位置信息进行匹配、比较,将匹配成功的网格设置为任务群组的终点网格;或者根据终点位置信息直接在网格地图中进行定位,定位所在的网格即为终点网格。
例如,用户在如图2A所示的网格地图中设置一个终点,此时生成了一个针对于任务群组的终点设置指令,该终点设置指令中包含用户设置的终点位置信息——(7,14),则根据该终点位置信息——(7,14)在网格地图中进行定位,定位至第7行、第14列的网格,并将该网格确定为该任务群组的终点网格,如图2B所示。图2B示出了根据本申请一实施例提供的一种在网格地图中设置终点网格的界面示意图,其中黑色菱形所在的网格为任务群组的终点网格。
本申请中,根据终点设置指令中的终点位置信息,确定任务群组的终点网格,可以提高确定终点位置的准确率,一定程度上提高了确定任务个体的寻路路径的效率,进而避免了执行任务时屏幕卡顿,提高用户体验性。
步骤104:根据所述任务群组中各任务个体的体积,确定所述任务群组中的目标任务个体。
在获取网格地图,并在网格地图中确定任务群组的终点网格的基础上,进一步地,根据任务群组中各任务个体的体积,确定所述任务群组中的目标任务个体。
具体的,所述体积是指任务体积代表的图形在网格地图上的面积,如在网格地图上相当于两个网格的面积的任务个体,其体积为2。所述目标任务个体是指按照一定规则在任务群组中选出的具有代表性的任务个体,该任务个体可以是任务群组中体积最大的任务个体,也可以是任务群组中体积最小的任务个体。
实际应用中,不同的任务个体的体积可以是不同的,例如在搬运任务中可以有马车搬运货物,可以人工搬运货物,马车和人的体积必然不同。首先确定任务群组中各任务个体的体积,再将各任务个体的体积进行比较,以便于确定任务群组中的目标任务个体。
例如,任务群组中包含三个任务个体:一头牛、一头大象和一匹狼,其中牛的体积为2、大象的体积为4、狼的体积为1,然后根据牛的体积、大象的体积以及狼的体积按照一定的规则确定目标任务个体,若按照体积最小的原则,则目标任务个体为狼;若按照体积最大的原则,则目标任务个体为大象。
需要说明的是,为了更加准确地确定各任务个体的体积,更精准地规划任务群组的寻路路线或者可移动路线,避免任务群组通过某个或某些任务个体不能通过的地方,如路口过窄的情况。可以根据任务群组中各任务个体的体积,确定任务群组中的目标任务个体之前,根据各任务个体的属性信息进行确定各任务个体的体积,具体实现情况如下:
获取所述任务群组中各任务个体的属性信息;
根据所述各任务个体的属性信息,确定所述各任务个体占网格的体积;
将所述各任务个体占网格的体积分别确定为所述各任务个体的体积。
实际应用中,每个任务个体都有自己的属性信息,因此可以获取该任务群组中各任务个体的属性信息,然后抽取各任务个体的属性信息中与各任务个体的大小、体积等相关信息,如半径为1个长度单位的圆、边长为2个长度单位的正方形。根据这些相关信息来确定任务个体占网格的体积,而各任务个体占网格的体积就是各任务个体的体积。
例如,任务群组中有两个任务个体,其中任务个体一的属性信息包括:边长为1个长度单位的正方形,则该任务个体一占网格的体积为1,所以该任务个体一的体积为1;任务个体二的属性信息包括:直径为1个长度单位的圆,则该任务个体二占网格的体积为1,所以该任务个体二的体积为1。
为了进一步避免任务群组移动至其不能通过的地方,导致任务执行失败或者延缓,可以先确定任务群组中体积最大的目标任务个体,以该目标任务个体的体积为参考,只要该目标任务个体可以通行,即该任务群组中的其他任务个体均可以通行,即该任务群组可以通行。因此,根据所述任务群组中各任务个体的体积,确定所述任务群组中的目标任务个体的具体实现过程可以为:比较所述任务群组中各任务个体的体积,将体积最大的任务个体确定为目标任务个体。例如,任务群组中有三个任务个体,体积分别为1、2、3,将体积为3的任务个体确定为目标任务个体。
需要说明的是,当任务群组中有多个体积相同且最大的任务个体时,从这些多个体积相同且最大的任务个体中随机选一个任务个体作为目标任务个体即可。例如任务群组中有三个任务个体,其中第一任务个体的体积为5,第二任务个体的体积为2、第三任务个体的体积为5,则选择第一任务个体或者第三个任务个体为目标任务个体。
步骤106:确定所述网格地图中各网格对应的可容纳体积。
在根据任务群组中各任务个体的体积,确定该任务群组中的目标任务个体的基础上,进一步地确定网格地图中各网格对应的可容纳体积。
具体的,可容纳体积是指当前网格在不被障碍阻挡的情况下,对应的可以容纳的最大体积。
实际应用中,为了确定寻路路线,不仅要确定目标任务个体的体积,还需要分别确定各网格对应的可容纳体积,只有在可容纳体积不小于目标任务个体的体积的情况下,目标任务个体才能从对应的网格通过,可以保证寻路路线的有效性和准确性。
为了提高确定网格对应的可容纳体积的准确性和高效性,可以分别确定该网格的在三个方向上到达障碍区域时所遍历的网格数,再选取其中最小的网格数作为该网格对应的可容纳体积。也即确定所述网格地图中各网格对应的可容纳体积的具体实现过程可以如下:
分别确定目标网格在第一指定方向上至障碍区域之间的第一网格数、在第二指定方向上至障碍区域之间的第二网格数、在第三指定方向上至障碍区域之间的第三网格数,所述目标网格为所述网格地图中的任意一个网格,所述障碍区域包括障碍物和地图边界,所述第一指定方向与所述第二指定方向互相垂直,所述第三指定方向为所述第一指定方向与所述第二指定方向之间的斜线方向;
将所述第一网格数、所述第二网格数和所述第三网格数中最小的网格数确定为所述目标网格对应的可容纳体积。
具体实现时,以网格地图中的任意一个网格——目标网格进行说明:首先确定该目标网格在第一指定方向上到障碍物或者地图边界之间的第一网格数、该目标网格在第二指定方向上到障碍物或者地图边界之间的第二网格数以及该目标网格在第三指定方向上到障碍物或者地图边界之间的第三网格数,然后将第一网格数、第二网格数、第三网格数进行比较,取最小的网格数作为该目标网格对应的可容纳体积。第一指定方向与第二指定方向是互相垂直的两个方向,而第三指定方向在第一指定方向至第二指定方向之间。
例如,第一指定方向为下、第二指定方向为右,第三指定方向为右下,参见图3A。图3A示出了本申请一实施例提供的一种确定网格对应的可容纳体积的界面示意图。图中目标网格的向下至地图边界之间的第一网格数为6、向右至地图边界的第二网格数为9、向右下至地图边界的第三网格数为6,可见第一网格数和第三网格数最小,为6,则将6确定为该目标网格对应的可容纳体积。
需要说明的是,在确定第一网格数、第二网格数和第三网格数可以同时进行,也可以按照一定顺序先后执行,本申请对此不做限定。此外,目标网格在第一指定方向上至障碍区域之间的第一网格数、在第二指定方向上至障碍区域之间的第二网格数、在第三指定方向上至障碍区域之间的第三网格数,均包含了该目标网格数在内,而不包含障碍区域中障碍物所在的网格。
步骤108:根据所述目标任务个体的体积、各网格对应的可容纳体积和所述终点网格的位置信息,确定各网格的度量值,所述度量值表示从该网格到所述终点网格的最少网格数。
在确定网格地图中各网格对应的可容纳体积的基础上,进一步地,根据目标任务个体的体积、各网格对应的可容纳体积和终点网格的位置信息,确定各网格的度量值,也即确定从该网格到所述终点网格的最少网格数。
具体的,终点网格的位置信息是指表征终点网格位置的信息,如终点网格在网格地图中的第X行、第Y列,又如终点网格在网格地图中的坐标为(X,Y)。度量值是指从网格地图中的某个网格在不经过障碍的情况下到达终点网格时所有经过的最少的网格对应的数量。
实际应用中,在任务群组中的各任务个体进行寻路时,为了减少能量消耗、并减少各任务个体行走至终点网格所消耗的时间,需要确定从当前网格行走至终点网格的最短有效路线,因此,有必要确定各个网格的度量值,以便于后续根据度量值来进行寻路,也即需要根据目标任务个体的体积、各网格对应的可容纳体积和终点网格的位置信息,来确定各网格的度量值。
在确定各网格的度量值时,可以先根据目标任务个体的体积和各网格对应的可容纳体积确定出网格地图中的有效网格,进一步地根据终点网格的位置信息确定各有效网格的度量值,具体实现过程如下:
将所述目标任务个体的体积分别与各网格对应的可容纳体积进行比较,将可容纳体积大于或等于所述目标任务个体的体积的网格确定为有效网格;
根据所述终点网格的位置信息,确定各有效网格的度量值。
具体实现时,首先需要将目标任务个体的体积,即任务群组中单个任务个体的最大体积与每一个网格对应的可容纳体积进行比较,可容纳体积大于或等于目标任务个体体积的网格为有效网格,进一步根据终点网格的位置信息确定各有效网格的度量值;可容纳体积小于目标任务个体体积的网格为无效网格,说明该目标任务个体不能从该网格通过,也即该任务群组不能从该目标网格通过,因此,任务群组中的各任务个体不会通过无效网格,也即无需确定无效网格的度量值。如此可以降低数据处理量,进而提高数据处理效率,一定程度上降低CPU的消耗,避免执行任务时屏幕卡顿,提高用户体验性。
例如,有五个网格,其中第一网格对应的可容纳体积为1、第二网格对应的可容纳体积为2、第三网格对应的可容纳体积为3、第四网格对应的可容纳体积为4、第五网格对应的可容纳体积为5,目标任务个体的体积为2,则第一网格为无效网格,第二网格、第三网格、第四网格和第五网格为有效网格,根据终点网格的位置信息,分别确定第二网格、第三网格、第四网格和第五网格的度量值。
在本实施例的一个或多个实施方式中,由于度量值表示从该网格到终点网格的最少网格数,可见根据终点网格的位置信息来确定有效网格的度量值,可以提高度量值的准确度,进一步提高寻路路线的精准度。根据所述终点网格的位置信息,确定各有效网格的度量值的具体实现过程可以如下:
从所述终点网格开始,依次基于当前网格的度量值,确定与所述当前网格相邻的各有效网格的度量值,与所述当前网格相邻的各有效网格的度量值根据当前网格的度量值累加得到。
实际应用中,可以从终点网格开始,先确定终点网格相邻的有效网格的度量值,即将终点网格度量值加上预设数值得到与终点网格相邻的有效网格的度量值;再根据已确定度量值的有效网格的度量值,确定与已确定度量值的有效网格的度量值相邻的未确定度量值的有效网格的度量值。以此类推,直至确定出所有有效网格的度量值。
图3B示出了本申请一实施例提供的一种网格地图中各网格的度量值的界面示意图。参见图3B,假设网格地图中除黑色的障碍区域所在的网格外,其他网格均为有效网格,将终点网格的度量值设置为0,预设数值为1,则从终点网格开始,与终点网格相邻的八个有效网格的度量值为1,与度量值为1的有效网格相邻的其他有效网格的度量值为2,与度量值为2的有效网格相邻的其他有效网格的度量值为3……最后确定出所有有效网格的度量值。
需要说明的是,在网格地图中,每个有效网格均包含了两个数值:可容纳体积和度量值,参见图4A,其中A代表该有效网格的度量值,A=10表明该有效网格的度量值为10;B代表该有效网格的可容纳体积,B=1表明该有效网格的可容纳体积为1。
在本实施例的一个或多个实施方式中,还可以给网格地图中的各网格预先设置度量值,也即此时无需确定该网格是否为有效网格。在这种情况下,参见图4A,网格地图中的各网格均包含了两个数值:可容纳体积(B)和度量值(A)。可以根据终点网格的位置信息,预先设置网格地图中的各网格的度量值;之后,再根据目标任务个体的体积、各网格对应的可容纳体积和终点网格的位置信息刷新各网格的目标度量值,具体实现过程如下:
根据所述终点网格的位置信息,获取各网格的初始度量值;
根据所述目标任务个体的体积、各网格对应的可容纳体积和所述终点网格的位置信息,确定各网格的目标度量值;
将各网格的初始度量值替换为各网格的目标度量值。
实际应用中,在获取了网格地图和确定了终点网格之后,即可根据终点网格的位置信息,获取各网格的初始度量值;然后在根据目标任务个体的体积、各网格对应的可容纳体积和终点网格的位置信息,确定了各网格的目标度量值的情况下,使用目标度量值替换初始度量值。
参见图4B,其中A代表度量值,B代表可容纳体积,也即每个网格均包含可容纳体积和度量值两个数值。需要说明的是,此时图4A中各网格的度量值(A)可以表示为各网格的初始度量值:当目标任务个体的体积为1时,由于各网格对应的可容纳体积均不小于1,因此,此时各网格均为有效网格,在没有无效网格的情况下,各网格的目标度量值与初始度量值是相同的,也即此时将各网格的初始度量值替换为各网格的目标度量值后,各网格的可容纳体积与目标度量值的不变,依然如图4B所示;当目标任务个体的体积为2时,需要将网格地图中对应的可容纳体积为1的网格确定为无效网格、将网格地图中对应的可容纳体积大于1的网格确定为有效网格,然后根据终点网格的位置信息,确定各有效网格的目标度量值,将各有效网格的初始度量值替换为各有效网格的目标度量值,并清空无效网格的度量值,如图4C所示,其中灰色网格为无效网格,白色网格为有效网格。
步骤110:根据各网格的度量值和各任务个体在所述网格地图中的初始位置信息,确定各任务个体到所述终点网格的寻路路线。
在根据目标任务个体的体积、各网格对应的可容纳体积和终点网格的位置信息,确定各网格的度量值的基础上,进一步地,根据各网格的度量值和各任务个体网格地图中的初始位置信息,确定各任务个体到所述终点网格的寻路路线。
具体的,初始位置信息是指各任务个体出发时所在位置的信息。实际应用中,在确定了各网格的度量值的基础上,可以获取各任务个体的初始位置信息,并确定各任务个体的初始网格,根据各任务个体的初始网格和各网格的度量值来确定各任务个体的寻路路线。
沿用上例,当目标任务个体的体积为1时,根据各网格度量值以及各任务个体的初始位置信息确定的寻路路径,如图5A所示。当目标任务个体的体积为2时,根据各网格度量值以及各任务个体的初始位置信息确定的寻路路径,如图5B所示,其中灰色网格为无效网格,白色网格为有效网格。
优选地,为了使寻路路径尽可能得短,以提高任务个体到达终点网格的速度,可以逐个确定各有效网格的路径方向,再根据各有效网格的路径方向和初始位置信息确定寻路路线,具体实现过程可以如下:
根据各有效网格的度量值,确定各有效网格的路径方向;
根据各有效网格的路径方向和各任务个体在所述网格地图中的初始位置信息,确定各任务个体到所述终点网格的寻路路线。
具体的,路径方向是指该网格至终点网格的走向。实际应用中,需要先根据各有效网格的度量值,确定与当前有效网格相邻的有效网格中度量值最小的目标有效网格,然后使当前有效网格指向与当前有效网格相邻的有效网格中度量值最小的目标有效网格,该指向即为各有效网格的路径方向。然后根据初始位置信息确定起点网格,基于各有效网格的路径方向确定起点网格到终点网格的寻路路线。
在本实施例的一个或多个实施方式中,根据各有效网格的度量值,确定各有效网格的路径方向的具体实现过程可以如下:
确定与当前有效网格相邻的有效网格中度量值最小的目标有效网格;
在与当前有效网格相邻的有效网格中只有一个目标有效网格的情况下,将当前有效网格的路径方向指向所述目标有效网格;
在与当前有效网格相邻的有效网格中有多个目标有效网格的情况下,确定各目标有效网格分别与所述终点网格的直线距离,将当前有效网格的路径方向指向与所述终点网格的直线距离最小的目标有效网格。
沿用上例,当目标任务个体的体积为1时,根据各网格度量值确定各有效网格的路径方向,即将当前有效网格指向与当前有效网格相邻的有效网格中度量值最小的目标有效网格,如图5C所示;当目标任务个体的体积为2时根据各网格度量值确定各有效网格的路径方向,即将当前有效网格指向与当前有效网格相邻的有效网格中度量值最小的目标有效网格,如图5D所示,其中灰色网格为无效网格,白色网格为有效网格。
在确定了各有效网格的路径方向后,从各任务个体在网格地图中的初始位置信息对应的初始网格开始,按照各有效网格的路径方向一次连接各个有效网格,直至连接到终点网格。具体实现过程可以如下:
根据各任务个体在所述网格地图中的初始位置信息,在所述网格地图中确定所述任务群组中各任务个体的起始网格;
根据各有效网格的路径方向,确定各任务个体从各任务个体的起始网格到所述终点网格的寻路路线。
具体的,起始网格是指各任务个体寻路起点所在的网格,也即各任务个体出点位置所在的网格。
实际应用中,可以获取任务群组中各任务个体的初始位置信息,然后根据初始位置信息中携带的初始网格的坐标信息,确定各任务个体在网格地图中的初始网格。在此基础上,从各网格的初始网格开始,依次连接当前有效网格指向的下一个有效网格,直至连接到终点网格,此时从该任务个体的初始网格连接至终点网格的路线即为该任务个体的寻路路线。如此,在精准确定寻路路线的同时,还提高了寻路的效率。
在确定了各任务个体的寻路路线之后,还需要将各任务个体按照各自的寻路路线移动至终点网格,便于执行任务,也即根据各网格的度量值和各任务个体在所述网格地图中的初始位置信息,确定各任务个体到所述终点网格的寻路路线之后,还包括:
根据第一任务个体的寻路路线,控制所述第一任务个体基于所述第一任务个体的移动速度移动至所述终点网格,所述第一任务个体为所述任务群组中的任意一个任务个体。
具体的,移动速度是指移动速度是指任务个体在任务地图或者网格地图上位移的速度,以单位时间内任务个体移动的距离为评定指标。不同种类的任务个体的移动速度可以不同,如车、人和马的移动速度是不同的;同一类中的不同任务个体的移动速度也可以不同,如运动员和普通人的移动速度不同。
实际应用中,以任务群组中的任意一个任务个体——第一任务个体为例进行说明,可以先获取第一任务个体的属性信息,然后提取第一任务个体属性信息中与移动速度相关的信息,并根据移动速度相关的信息确定第一任务个体的移动速度。在确定了第一任务个体的寻路路线之后,生成一个开始出发或者移动至终点的指令,使第一任务个体根据自己的移动速度按照寻路路线的方向移动至终点位置。
例如,参见图6,其中起点1为第一小孩602的起始网格,起点2为第二小孩604的起始网格,起点3为第三小孩606的起始网格,终点为三个小孩的终点网格。每个小孩滑雪的速度不同,假设第一小孩602的滑雪速度为1,第二小孩604的滑雪速度为2,第三小孩606的滑雪速度为3:则根据第一小孩602的移动速度和寻路路径,控制第一小孩602移动至终点所在的终点网格;根据第二小孩604的移动速度和寻路路径,控制第二小孩604移动至终点所在的终点网格;根据第三小孩606的移动速度和寻路路径,控制第三小孩606移动至终点所在的终点网格。由于第三小孩606的移动速度>第二小孩604的移动速度>第一小孩602的移动速度,因此,在移动过程中,第一小孩602离终点最远,第二小孩604次之,第三小孩606离终点最近。
本申请提供的寻路方法,获取网格地图,在所述网格地图中确定任务群组的终点网格,所述任务群组中包含至少一个任务个体;根据所述任务群组中各任务个体的体积,确定所述任务群组中的目标任务个体;确定所述网格地图中各网格对应的可容纳体积;根据所述目标任务个体的体积、各网格对应的可容纳体积和所述终点网格的位置信息,确定各网格的度量值,所述度量值表示从该网格到所述终点网格的最少网格数;根据各网格的度量值和各任务个体在所述网格地图中的初始位置信息,确定各任务个体到所述终点网格的寻路路线。在大量任务个体移动到同一终点网格的情况下,只需根据目标任务个体、各网格的可容纳体积和终点网格的位置信息,确定各网格的度量值,从而基于各网格的度量值,也即基于各网点度量值的网格地图就可以确定各任务个体的寻路路线,从而在寻路过程中无需多次寻路,避免了重复寻路,有效地降低了寻路的消耗;同时根据目标任务个体的体积,合理规划寻路路线,提高了寻路路线的避障能力,提高了寻路的效率。
下述结合附图7,以本申请提供的寻路方法在游戏场景中的应用为例,对所述寻路方法进行进一步说明。其中,图7示出了本申请一实施例提供的一种应用于游戏场景的寻路方法的处理流程图,具体包括以下步骤:
步骤702:获取游戏地图对应的网格地图。
步骤704:接收针对游戏群组的终点设置指令,终点设置指令中包含终点位置信息。
其中,该游戏群组中包含至少一个游戏个体。
步骤706:将网格地图中与终点位置信息对应的网格作为游戏群组的终点网格。
步骤708:获取游戏群组中各游戏个体的属性信息。
步骤710:根据各游戏个体的属性信息,确定各游戏个体占网格的体积。
步骤712:比较游戏群组中各游戏个体的体积,将体积最大的游戏个体确定为目标游戏个体。
步骤714:确定网格地图中各网格对应的可容纳体积。
具体的,分别确定目标网格在第一指定方向上至障碍区域之间的第一网格数、在第二指定方向上至障碍区域之间的第二网格数、在第三指定方向上至障碍区域之间的第三网格数,目标网格为网格地图中的任意一个网格,障碍区域包括障碍物和地图边界,第一指定方向与第二指定方向互相垂直,第三指定方向为第一指定方向与第二指定方向之间的斜线方向,然后将第一网格数、第二网格数和第三网格数中最小的网格数确定为目标网格对应的可容纳体积。
步骤716:将目标游戏个体的体积分别与各网格对应的可容纳体积进行比较,将可容纳体积大于或等于目标游戏个体的体积的网格确定为有效网格。
步骤718:从终点网格开始,依次基于当前网格的度量值,确定与当前网格相邻的各有效网格的度量值,与当前网格相邻的各有效网格的目标度量值根据当前网格的目标度量值累加得到。
可选地,在根据目标游戏个体的体积、各网格对应的可容纳体积和终点网格的位置信息,确定各网格的度量值之前,可以根据终点网格的位置信息,获取各网格的初始度量值;然后根据目标游戏个体的体积、各网格对应的可容纳体积和终点网格的位置信息,确定各网格的目标度量值;再将各网格的初始度量值替换为各网格的目标度量值。
步骤720:根据各有效网格的度量值,确定各有效网格的路径方向。
具体的,需要确定与当前有效网格相邻的有效网格中度量值最小的目标有效网格;在与当前有效网格相邻的有效网格中只有一个目标有效网格的情况下,将当前有效网格的路径方向指向目标有效网格;在与当前有效网格相邻的有效网格中有多个目标有效网格的情况下,确定各目标有效网格分别与终点网格的直线距离,将当前有效网格的路径方向指向与终点网格的直线距离最小的目标有效网格。
步骤722:根据各有效网格的路径方向和各游戏个体在网格地图中的初始位置信息,确定各游戏个体到终点网格的寻路路线。
具体的,首先根据各游戏个体在网格地图中的初始位置信息,在网格地图中确定游戏群组中各游戏个体的起始网格;然后根据各有效网格的路径方向,确定各游戏个体从各游戏个体的起始网格到终点网格的寻路路线。
步骤724:根据第一游戏个体的寻路路线,控制第一游戏个体基于第一游戏个体的移动速度移动至终点网格,第一游戏个体为游戏群组中的任意一个游戏个体。
本申请提供的寻路方法,获取游戏地图对应的网格地图,根据接收到的终点设置指令中携带的终点位置信息,在网格地图中确定游戏群组的终点网格,然后确定各游戏个体的体积,以及确定游戏群组中体积最大的目标游戏个体;接着确定网格地图中各网格对应的可容纳体积;进一步目标游戏个体的体积分别与各网格对应的可容纳体积确定有效网格,基于终点网格的位置信息,确定各有效网格的度量值;再根据各有效网格的度量值,确定各有效网格的路径方向,基于各有效网格的路径方向和各游戏个体在网格地图中的初始位置信息,确定各游戏个体到终点网格的寻路路线,控制各游戏个体移动至终点网格。在大量游戏个体移动到同一终点网格的情况下,只需根据目标任务个体、各网格的可容纳体积和终点网格的位置信息,确定各网格的度量值,从而基于各网格的度量值,也即基于各网点度量值的网格地图就可以确定各任务个体的寻路路线,从而在寻路过程中无需多次寻路,避免了重复寻路,有效地降低了寻路的消耗;同时根据目标游戏个体的体积,合理规划寻路路线,提高了寻路路线的避障能力,提高了寻路的效率。
与上述方法实施例相对应,本申请还提供了寻路装置实施例,图8示出了本申请一实施例提供的一种寻路装置的结构示意图。如图8所示,该装置包括:
网格地图获取模块802,被配置为获取网格地图,在所述网格地图中确定任务群组的终点网格,所述任务群组中包含至少一个任务个体;
目标任务个体确定模块804,被配置为根据所述任务群组中各任务个体的体积,确定所述任务群组中的目标任务个体;
可容纳体积确定模块806,被配置为确定所述网格地图中各网格对应的可容纳体积;
度量值确定模块808,被配置为根据所述目标任务个体的体积、各网格对应的可容纳体积和所述终点网格的位置信息,确定各网格的度量值,所述度量值表示从该网格到所述终点网格的最少网格数;
寻路路线确定模块810,被配置为根据各网格的度量值和各任务个体在所述网格地图中的初始位置信息,确定各任务个体到所述终点网格的寻路路线。
在本实施例的一个或多个实施方式中,所述网格地图获取模块802,还被配置为:
接收针对任务群组的终点设置指令,所述终点设置指令中包含终点位置信息;
确定所述网格地图中与所述终点位置信息对应的网格作为所述任务群组的终点网格。
在本实施例的一个或多个实施方式中,所述目标任务个体确定模块804,还被配置为:
获取所述任务群组中各任务个体的属性信息;
根据所述各任务个体的属性信息,确定所述各任务个体占网格的体积;
将所述各任务个体占网格的体积分别确定为所述各任务个体的体积。
在本实施例的一个或多个实施方式中,所述目标任务个体确定模块804,还被配置为:
比较所述任务群组中各任务个体的体积,将体积最大的任务个体确定为目标任务个体。
在本实施例的一个或多个实施方式中,所述可容纳体积确定模块806,还被配置为:
分别确定目标网格在第一指定方向上至障碍区域之间的第一网格数、在第二指定方向上至障碍区域之间的第二网格数、在第三指定方向上至障碍区域之间的第三网格数,所述目标网格为所述网格地图中的任意一个网格,所述障碍区域包括障碍物和地图边界,所述第一指定方向与所述第二指定方向互相垂直,所述第三指定方向为所述第一指定方向与所述第二指定方向之间的斜线方向;
将所述第一网格数、所述第二网格数和所述第三网格数中最小的网格数确定为所述目标网格对应的可容纳体积。
在本实施例的一个或多个实施方式中,所述度量值确定模块808,还被配置为:
将所述目标任务个体的体积分别与各网格对应的可容纳体积进行比较,将可容纳体积大于或等于所述目标任务个体的体积的网格确定为有效网格;
根据所述终点网格的位置信息,确定各有效网格的度量值。
在本实施例的一个或多个实施方式中,所述度量值确定模块808,还被配置为:
从所述终点网格开始,依次基于当前网格的度量值,确定与所述当前网格相邻的各有效网格的度量值,与所述当前网格相邻的各有效网格的度量值根据当前网格的度量值累加得到。
在本实施例的一个或多个实施方式中,所述寻路路线确定模块810,还被配置为:
根据各有效网格的度量值,确定各有效网格的路径方向;
根据各有效网格的路径方向和各任务个体在所述网格地图中的初始位置信息,确定各任务个体到所述终点网格的寻路路线。
在本实施例的一个或多个实施方式中,所述寻路路线确定模块810,还被配置为:
确定与当前有效网格相邻的有效网格中度量值最小的目标有效网格;
在与当前有效网格相邻的有效网格中只有一个目标有效网格的情况下,将当前有效网格的路径方向指向所述目标有效网格;
在与当前有效网格相邻的有效网格中有多个目标有效网格的情况下,确定各目标有效网格分别与所述终点网格的直线距离,将当前有效网格的路径方向指向与所述终点网格的直线距离最小的目标有效网格。
在本实施例的一个或多个实施方式中,所述寻路路线确定模块810,还被配置为:
根据各任务个体在所述网格地图中的初始位置信息,在所述网格地图中确定所述任务群组中各任务个体的起始网格;
根据各有效网格的路径方向,确定各任务个体从各任务个体的起始网格到所述终点网格的寻路路线。
在本实施例的一个或多个实施方式中,所述装置还包括控制模块,被配置为:
根据第一任务个体的寻路路线,控制所述第一任务个体基于所述第一任务个体的移动速度移动至所述终点网格,所述第一任务个体为所述任务群组中的任意一个任务个体。
在本实施例的一个或多个实施方式中,所述装置还包括初始度量值获取模块,被配置为:
根据所述终点网格的位置信息,获取各网格的初始度量值;
进一步地,所述度量值确定模块808,还被配置为:
根据所述目标任务个体的体积、各网格对应的可容纳体积和所述终点网格的位置信息,确定各网格的目标度量值;
将各网格的初始度量值替换为各网格的目标度量值。
本申请提供的寻路装置,获取网格地图,在所述网格地图中确定任务群组的终点网格,所述任务群组中包含至少一个任务个体;根据所述任务群组中各任务个体的体积,确定所述任务群组中的目标任务个体;确定所述网格地图中各网格对应的可容纳体积;根据所述目标任务个体的体积、各网格对应的可容纳体积和所述终点网格的位置信息,确定各网格的度量值,所述度量值表示从该网格到所述终点网格的最少网格数;根据各网格的度量值和各任务个体在所述网格地图中的初始位置信息,确定各任务个体到所述终点网格的寻路路线。在大量任务个体移动到同一终点网格的情况下,只需根据目标任务个体、各网格的可容纳体积和终点网格的位置信息,确定各网格的度量值,从而基于各网格的度量值,也即基于各网点度量值的网格地图就可以确定各任务个体的寻路路线,从而在寻路过程中无需多次寻路,避免了重复寻路,有效地降低了寻路的消耗;同时根据目标任务个体的体积,合理规划寻路路线,提高了寻路路线的避障能力,提高了寻路的效率。
上述为本实施例的一种寻路装置的示意性方案。需要说明的是,该寻路装置的技术方案与上述的寻路方法的技术方案属于同一构思,寻路装置的技术方案未详细描述的细节内容,均可以参见上述寻路方法的技术方案的描述。
图9示出了根据本说明书一个实施例提供的一种计算设备900的结构框图。该计算设备900的部件包括但不限于存储器910和处理器920。处理器920与存储器910通过总线930相连接,数据库950用于保存数据。
计算设备900还包括接入设备940,接入设备940使得计算设备900能够经由一个或多个网络960通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备940可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备900的上述部件以及图9中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图9所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备900可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备900还可以是移动式或静止式的服务器。
其中,处理器920执行所述计算机指令时实现所述的寻路方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的寻路方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述寻路方法的技术方案的描述。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该计算机指令被处理器执行时实现如前所述寻路方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的寻路方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述寻路方法的技术方案的描述。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本申请的内容,可作很多的修改和变化。本申请选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。

Claims (14)

1.一种寻路方法,其特征在于,包括:
获取网格地图,在所述网格地图中确定任务群组的终点网格,所述任务群组中包含至少一个任务个体;
根据所述任务群组中各任务个体的体积,确定所述任务群组中的体积最大的所述任务个体为目标任务个体;
确定所述网格地图中各网格对应的可容纳体积,其中,所述可容纳体积为所述网格在不被障碍阻挡的情况下,对应容纳的最大体积;
根据所述目标任务个体的体积、各网格对应的可容纳体积和所述终点网格的位置信息,确定各网格的度量值,所述度量值表示从该网格到所述终点网格的最少网格数;
根据各网格的度量值和各任务个体在所述网格地图中的初始位置信息,确定各任务个体到所述终点网格的寻路路线。
2.根据权利要求1所述的方法,其特征在于,所述在所述网格地图中确定任务群组的终点网格,包括:
接收针对任务群组的终点设置指令,所述终点设置指令中包含终点位置信息;
确定所述网格地图中与所述终点位置信息对应的网格作为所述任务群组的终点网格。
3.根据权利要求1所述的方法,其特征在于,所述根据所述任务群组中各任务个体的体积,确定所述任务群组中的目标任务个体之前,还包括:
获取所述任务群组中各任务个体的属性信息;
根据所述各任务个体的属性信息,确定所述各任务个体占网格的体积;
将所述各任务个体占网格的体积分别确定为所述各任务个体的体积。
4.根据权利要求1-3任意一项所述的方法,其特征在于,所述确定所述网格地图中各网格对应的可容纳体积,包括:
分别确定目标网格在第一指定方向上至障碍区域之间的第一网格数、在第二指定方向上至障碍区域之间的第二网格数、在第三指定方向上至障碍区域之间的第三网格数,所述目标网格为所述网格地图中的任意一个网格,所述障碍区域包括障碍物和地图边界,所述第一指定方向与所述第二指定方向互相垂直,所述第三指定方向为所述第一指定方向与所述第二指定方向之间的斜线方向;
将所述第一网格数、所述第二网格数和所述第三网格数中最小的网格数确定为所述目标网格对应的可容纳体积。
5.根据权利要求1所述的方法,其特征在于,所述根据所述目标任务个体的体积、各网格对应的可容纳体积和所述终点网格的位置信息,确定各网格的度量值,包括:
将所述目标任务个体的体积分别与各网格对应的可容纳体积进行比较,将可容纳体积大于或等于所述目标任务个体的体积的网格确定为有效网格;
根据所述终点网格的位置信息,确定各有效网格的度量值。
6.根据权利要求5所述的方法,其特征在于,所述根据所述终点网格的位置信息,确定各有效网格的度量值,包括:
从所述终点网格开始,依次基于当前网格的度量值,确定与所述当前网格相邻的各有效网格的度量值,与所述当前网格相邻的各有效网格的度量值根据当前网格的度量值累加得到。
7.根据权利要求5或6所述的方法,其特征在于,所述根据各网格的度量值和各任务个体在所述网格地图中的初始位置信息,确定各任务个体到所述终点网格的寻路路线,包括:
根据各有效网格的度量值,确定各有效网格的路径方向;
根据各有效网格的路径方向和各任务个体在所述网格地图中的初始位置信息,确定各任务个体到所述终点网格的寻路路线。
8.根据权利要求7所述的方法,其特征在于,所述根据各有效网格的度量值,确定各有效网格的路径方向,包括:
确定与当前有效网格相邻的有效网格中度量值最小的目标有效网格;
在与当前有效网格相邻的有效网格中只有一个目标有效网格的情况下,将当前有效网格的路径方向指向所述目标有效网格;
在与当前有效网格相邻的有效网格中有多个目标有效网格的情况下,确定各目标有效网格分别与所述终点网格的直线距离,将当前有效网格的路径方向指向与所述终点网格的直线距离最小的目标有效网格。
9.根据权利要求7所述的方法,其特征在于,所述根据各有效网格的路径方向和各任务个体在所述网格地图中的初始位置信息,确定各任务个体到所述终点网格的寻路路线,包括:
根据各任务个体在所述网格地图中的初始位置信息,在所述网格地图中确定所述任务群组中各任务个体的起始网格;
根据各有效网格的路径方向,确定各任务个体从各任务个体的起始网格到所述终点网格的寻路路线。
10.根据权利要求1-3任意一项所述的方法,其特征在于,所述根据各网格的度量值和各任务个体在所述网格地图中的初始位置信息,确定各任务个体到所述终点网格的寻路路线之后,还包括:
根据第一任务个体的寻路路线,控制所述第一任务个体基于所述第一任务个体的移动速度移动至所述终点网格,所述第一任务个体为所述任务群组中的任意一个任务个体。
11.根据权利要求1-3任意一项所述的方法,其特征在于,所述根据所述目标任务个体的体积、各网格对应的可容纳体积和所述终点网格的位置信息,确定各网格的度量值之前,还包括:
根据所述终点网格的位置信息,获取各网格的初始度量值;
所述根据所述目标任务个体的体积、各网格对应的可容纳体积和所述终点网格的位置信息,确定各网格的度量值,包括:
根据所述目标任务个体的体积、各网格对应的可容纳体积和所述终点网格的位置信息,确定各网格的目标度量值;
将各网格的初始度量值替换为各网格的目标度量值。
12.一种寻路装置,其特征在于,包括:
网格地图获取模块,被配置为获取网格地图,在所述网格地图中确定任务群组的终点网格,所述任务群组中包含至少一个任务个体;
目标任务个体确定模块,被配置为根据所述任务群组中各任务个体的体积,确定所述任务群组中的体积最大的所述任务个体为目标任务个体;
可容纳体积确定模块,被配置为确定所述网格地图中各网格对应的可容纳体积,其中,所述可容纳体积为所述网格在不被障碍阻挡的情况下,对应容纳的最大体积;
度量值确定模块,被配置为根据所述目标任务个体的体积、各网格对应的可容纳体积和所述终点网格的位置信息,确定各网格的度量值,所述度量值表示从该网格到所述终点网格的最少网格数;
寻路路线确定模块,被配置为根据各网格的度量值和各任务个体在所述网格地图中的初始位置信息,确定各任务个体到所述终点网格的寻路路线。
13.一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,其特征在于,所述处理器执行所述计算机指令时实现权利要求1-11任意一项所述方法的步骤。
14.一种计算机可读存储介质,其存储有计算机指令,其特征在于,该计算机指令被处理器执行时实现权利要求1-11任意一项所述方法的步骤。
CN202110808690.3A 2021-07-16 2021-07-16 寻路方法及装置 Active CN113413601B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110808690.3A CN113413601B (zh) 2021-07-16 2021-07-16 寻路方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110808690.3A CN113413601B (zh) 2021-07-16 2021-07-16 寻路方法及装置

Publications (2)

Publication Number Publication Date
CN113413601A CN113413601A (zh) 2021-09-21
CN113413601B true CN113413601B (zh) 2024-01-02

Family

ID=77721158

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110808690.3A Active CN113413601B (zh) 2021-07-16 2021-07-16 寻路方法及装置

Country Status (1)

Country Link
CN (1) CN113413601B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113908551B (zh) * 2021-12-14 2022-03-11 腾讯科技(深圳)有限公司 导航路径的确定方法、装置、设备、存储介质及程序产品

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012213485A (ja) * 2011-03-31 2012-11-08 Copcom Co Ltd ゲームプログラム、及びゲームシステム
CN103198234A (zh) * 2013-04-25 2013-07-10 腾讯科技(深圳)有限公司 一种寻路方法和装置
CN103207951A (zh) * 2013-04-22 2013-07-17 腾讯科技(深圳)有限公司 一种寻路方法和装置
CN103957224A (zh) * 2014-05-21 2014-07-30 腾讯科技(深圳)有限公司 一种在线游戏中的人物移动方法和系统
CN109541634A (zh) * 2018-12-28 2019-03-29 歌尔股份有限公司 一种路径规划方法、装置和移动设备
CN110375742A (zh) * 2019-07-25 2019-10-25 广州景瑞智能科技有限公司 一种动态路径智能规划方法及系统
CN110772791A (zh) * 2019-11-05 2020-02-11 网易(杭州)网络有限公司 三维游戏场景的路线生成方法、装置和存储介质
CN110917624A (zh) * 2019-12-06 2020-03-27 珠海海鸟科技有限公司 路径确定方法、装置及设备
US10792568B1 (en) * 2018-09-24 2020-10-06 Amazon Technologies, Inc. Path management for virtual environments
CN111928839A (zh) * 2020-08-07 2020-11-13 北京星天地信息科技有限公司 一种通行路线规划方法、装置及计算机设备
CN112295225A (zh) * 2020-11-02 2021-02-02 不鸣科技(杭州)有限公司 一种寻路网格的多线程更新方法
CN112370788A (zh) * 2020-11-11 2021-02-19 网易(杭州)网络有限公司 游戏中虚拟对象的导航方法及电子设备
CN112386914A (zh) * 2019-08-14 2021-02-23 上海幻电信息科技有限公司 面向虚拟对象的路径规划方法、装置以及计算机设备
CN112717406A (zh) * 2021-01-04 2021-04-30 厦门梦加网络科技股份有限公司 一种多人手游断线的角色处理方法和系统
CN113908551A (zh) * 2021-12-14 2022-01-11 腾讯科技(深圳)有限公司 导航路径的确定方法、装置、设备、存储介质及程序产品

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10066946B2 (en) * 2016-08-26 2018-09-04 Here Global B.V. Automatic localization geometry detection

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012213485A (ja) * 2011-03-31 2012-11-08 Copcom Co Ltd ゲームプログラム、及びゲームシステム
CN103207951A (zh) * 2013-04-22 2013-07-17 腾讯科技(深圳)有限公司 一种寻路方法和装置
CN103198234A (zh) * 2013-04-25 2013-07-10 腾讯科技(深圳)有限公司 一种寻路方法和装置
CN103957224A (zh) * 2014-05-21 2014-07-30 腾讯科技(深圳)有限公司 一种在线游戏中的人物移动方法和系统
US10792568B1 (en) * 2018-09-24 2020-10-06 Amazon Technologies, Inc. Path management for virtual environments
CN109541634A (zh) * 2018-12-28 2019-03-29 歌尔股份有限公司 一种路径规划方法、装置和移动设备
CN110375742A (zh) * 2019-07-25 2019-10-25 广州景瑞智能科技有限公司 一种动态路径智能规划方法及系统
CN112386914A (zh) * 2019-08-14 2021-02-23 上海幻电信息科技有限公司 面向虚拟对象的路径规划方法、装置以及计算机设备
CN110772791A (zh) * 2019-11-05 2020-02-11 网易(杭州)网络有限公司 三维游戏场景的路线生成方法、装置和存储介质
CN110917624A (zh) * 2019-12-06 2020-03-27 珠海海鸟科技有限公司 路径确定方法、装置及设备
CN111928839A (zh) * 2020-08-07 2020-11-13 北京星天地信息科技有限公司 一种通行路线规划方法、装置及计算机设备
CN112295225A (zh) * 2020-11-02 2021-02-02 不鸣科技(杭州)有限公司 一种寻路网格的多线程更新方法
CN112370788A (zh) * 2020-11-11 2021-02-19 网易(杭州)网络有限公司 游戏中虚拟对象的导航方法及电子设备
CN112717406A (zh) * 2021-01-04 2021-04-30 厦门梦加网络科技股份有限公司 一种多人手游断线的角色处理方法和系统
CN113908551A (zh) * 2021-12-14 2022-01-11 腾讯科技(深圳)有限公司 导航路径的确定方法、装置、设备、存储介质及程序产品

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
多智能体寻路系统在计算机游戏上的应用;黄进;黄宗文;凌子燕;;电脑知识与技术(第13期);241-246 *

Also Published As

Publication number Publication date
CN113413601A (zh) 2021-09-21

Similar Documents

Publication Publication Date Title
Wang et al. Computation offloading in multi-access edge computing using a deep sequential model based on reinforcement learning
CN110812844B (zh) 一种游戏中的寻路方法、终端及可读存储介质
US11235241B2 (en) Route navigation system within a game application environment
CN108645411B (zh) 基于粒子群算法的机器人路径规划方法、装置及终端设备
CN103442331B (zh) 终端设备位置确定方法和终端设备
CN110882542A (zh) 游戏智能体的训练方法、装置、设备及存储介质
US20190114541A1 (en) Method and system of controlling computing operations based on early-stop in deep neural network
US10792568B1 (en) Path management for virtual environments
CN110721470B (zh) 虚拟对象移动行为的控制方法、装置及电子设备
CN113413601B (zh) 寻路方法及装置
US20240123348A1 (en) Game character control method and apparatus, storage medium and electronic device
CN113101663B (zh) 游戏的寻路控制方法、装置、处理设备及存储介质
CN112632380A (zh) 兴趣点推荐模型的训练方法和推荐兴趣点的方法
US20230188941A1 (en) Location-based tasks
CN113052312B (zh) 深度强化学习模型的训练方法、装置、介质及电子设备
CN114130032A (zh) 数据更新方法及装置
CN113687657A (zh) 用于多智能体编队动态路径规划的方法和存储介质
CN110124306B (zh) 一种资源配置信息推荐的方法、装置、设备和介质
CN115222835A (zh) 绘画建议的生成方法、装置及设备
CN113910221A (zh) 一种机械臂自主运动规划方法、装置、设备及存储介质
CN113119119A (zh) 一种机器人动作的执行方法、装置和存储介质
CN112546630A (zh) 角色移动方法及装置
KR102690965B1 (ko) 자율 운영 그리드 인덱스를 위한 시스템 및 방법
CN112717405B (zh) 一种路径确定方法与装置
CN117357894B (zh) 一种三维场景生成方法、装置、设备及介质

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