CN113368499B - 寻路方法及装置、计算机可读存储介质 - Google Patents
寻路方法及装置、计算机可读存储介质 Download PDFInfo
- Publication number
- CN113368499B CN113368499B CN202010158155.3A CN202010158155A CN113368499B CN 113368499 B CN113368499 B CN 113368499B CN 202010158155 A CN202010158155 A CN 202010158155A CN 113368499 B CN113368499 B CN 113368499B
- Authority
- CN
- China
- Prior art keywords
- node
- visual
- list
- nodes
- memory
- 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
Links
Images
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/55—Controlling game characters or game objects based on the game progress
- A63F13/56—Computing 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
-
- 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)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Processing Or Creating Images (AREA)
Abstract
一种寻路方法及装置、计算机可读存储介质,寻路方法包括:步骤S1,加载游戏中的预设电子地图;步骤S2,当检测到AI对象出现在当前节点上时,获取当前节点的可视列表,可视列表包括一个或多个可视节点;步骤S3,将当前节点的可视列表中的所有可视节点添加至AI对象的记忆列表中;步骤S4,根据记忆列表中的各可视节点的节点信息,确定目标节点,目标节点满足如下条件:可行走、存在未添加至记忆列表中的相邻节点;步骤S5,控制AI对象从当前节点移动至目标节点;重复执行步骤S2至步骤S5直至满足终结条件,停止寻路。上述方案能够丰富游戏中AI对象的行为,增强游戏的可玩性。
Description
技术领域
本发明实施例涉及计算机领域,尤其涉及一种寻路方法及装置、计算机可读存储介质。
背景技术
大多数的游戏中的人工智能(Artificial Intelligence,AI)寻路通常是采用A*(A start algorithm)寻路算法来算出一条路径,现有游戏中的AI对象通常采用固定模式来进行,寻找的目标点以及寻找顺序均是固定的,或者AI对象在出生点周围随机移动。
在一些迷宫类的游戏中,需要AI对象能够自已找到一条通向出口的路径,而不是采用A*算法计算出一条路径,让AI按照计算出的路径找到出口。设计者希望AI对象如怪物在一个复杂的地宫中探索,让怪物一点一点地发现整个迷宫的结构,然而现有的寻路算法无法实现。
发明内容
本发明实施例的目的是提供一种新型的寻路方法以丰富游戏中AI对象的行为,增强游戏的可玩性。
为实现上述目标,本发明实施例提供一种寻路方法,包括:步骤S1,加载游戏中的预设电子地图,所述电子地图被分割成多个节点,每个节点具有对应的节点信息;步骤S2,当检测到AI对象出现在当前节点上时,获取所述当前节点的可视列表,所述可视列表包括一个或多个可视节点;步骤S3,将所述当前节点的可视列表中的所有可视节点添加至所述AI对象的记忆列表中;步骤S4,根据所述记忆列表中的各可视节点的节点信息,确定目标节点,所述目标节点满足如下条件:可行走、存在未添加至所述记忆列表中的相邻节点;步骤S5,控制所述AI对象从当前节点移动至所述目标节点;重复执行步骤S2至步骤S5直至满足终结条件,停止寻路。
可选的,所述获取所述当前节点的可视列表,包括:获取所述当前节点的最大可视范围;在所述当前节点的最大可视范围内,获取与所述当前节点之间不存在阻碍物的节点,并将与所述当前节点之间不存在阻碍物的节点作为所述当前节点的可视节点,所述当前节点的所有可视节点形成所述当前节点的可视列表。
可选的,在将所述当前节点的可视列表中的所有可视节点添加至所述AI对象的记忆列表中之后,还包括:记录每个可视节点添加至所述记忆列表中的时刻点;获取当前时刻点;根据所述当前时刻点以及所述每个可视节点添加至所述记忆列表中的时刻点,计算每个可视节点添加至所述记忆列表中的存储时长;当检测到任一可视节点添加至所述记忆列表中的存储时长达到预设存储之后,删除添加至所述记忆列表中的存储时长达到预设存储时长的可视节点。
可选的,当将所述当前节点的可视列表中的所有可视节点添加至所述AI对象的记忆列表中时,若所述记忆列表中的所有可视节点的数目达到最大记忆数目上限,按照所述可视节点添加至所述记忆列表中的时间先后顺序,删除所述记忆列表中添加时间早的可视节点。
可选的,所述控制所述AI对象从当前节点移动至所述目标节点,包括:计算从所述当前节点至所述目标节点的目标路径;控制所述AI对象按照所述目标路径从所述当前节点移动至所述目标节点。
可选的,在控制所述AI对象按照所述目标路径从所述当前节点移动至所述目标节点时,若所述目标路径上的两个相邻节点分别属于两个不同的区域,若所述两个不同的区域之间不连通,则建立所述两个不同区域之间的连通性。
可选的,所述计算从所述当前节点至所述目标节点的目标路径,包括:采用A*寻路算法计算从所述当前节点至所述目标节点的目标路径。
可选的,所述A*寻路算法包括不同类型的路分别对应的权重以及路边界的权重。
可选的,所述节点信息包括如下至少一种:相邻节点、可行走信息、路与阻碍物之间的距离、与阻碍物相邻信息、相邻的不可行走节点的数目、路边界对应的权重。
可选的,终结条件包括如下任一种:所述AI对象到达目标地点、所述AI对象消亡。
本发明实施例还提供一种寻路装置,包括:加载单元,适于加载游戏中的预设电子地图,所述电子地图被分割成多个节点,每个节点具有对应的节点信息;获取单元,适于当检测到AI对象出现在当前节点上时,获取所述当前节点的可视列表,所述可视列表包括一个或多个可视节点;添加单元,适于将所述当前节点的可视列表中的所有可视节点添加至所述AI对象的记忆列表中;确定单元,适于根据所述记忆列表中的各可视节点的节点信息,确定目标节点,所述目标节点满足如下条件:可行走、存在未添加至所述记忆列表中的相邻节点;控制单元,适于控制所述AI对象从当前节点移动至所述目标节点;执行单元,适于当满足终结条件时,停止寻路。
本发明实施例还提供一种寻路装置,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行上述任一种寻路方法的步骤。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质为非易失性存储介质或非瞬态存储介质,其上存储有计算机指令,所述计算机指令运行时执行上述任一种寻路方法的步骤。
与现有技术相比,本发明实施例的技术方案具有以下有益效果:
通过获取AI对象所处的当前节点的可视列表,将当前节点的可视列表中所有的可视节点加入至AI对象的记忆列表中,根据记忆列表中所有可视节点的节点信息,确定目标节点,所确定的目标节点既可行走,又存在未添加至记忆列表中的相邻节点,可以使得所确定的目标节点在AI对象的记忆中没有行走过的节点,当AI对象从当前节点到达目标节点后,再按照相同的方法确定下一目标节点,从而实现AI对象能够根据当前所处的位置以及记忆列表中的可视节点自己寻找路径以及随着移动逐渐的发现游戏内的建筑等的构造,以丰富AI对象的行为性,提高游戏的可玩性。
进一步,设定记忆列表的可视节点的存储时长达到预设存储时长后删除,通过调整设定记忆列表的可视节点的存储时长的大小可以实现对AI对象对节点的记忆力强弱,从而实现AI对象的记忆力差或者迷路的效果,从而提高游戏的可玩性以及用户体验。
进一步,设定记忆列表中的可视节点的最大记忆数目上限,来限制AI对象在寻路过程中对节点的记忆能力,通过减小记忆列表中可视节点的最大记忆数目上限,来实现AI对象的记忆力差或者迷路的效果,从而提高游戏的可玩性以及用户体验。
附图说明
图1是本发明实施例中的一种寻路方法的流程图;
图2是本发明实施例中的一种寻路装置的结构示意图。
具体实施方式
如上所述,在一些迷宫类的游戏中,需要AI对象能够自已找到一条通向出口的路径,而不是采用A*算法计算出一条路径,让AI按照计算出的路径找到出口。设计者希望AI对象如怪物在一个复杂的地宫中探索,让怪物一点一点地发现整个迷宫的结构,然而现有的寻路算法无法实现。
本发明实施例中,通过获取AI对象所处的当前节点的可视列表,将当前节点的可视列表中所有的可视节点加入至AI对象的记忆列表中,根据记忆列表中所有可视节点的节点信息,确定目标节点,所确定的目标节点既可行走,又存在未添加至记忆列表中的相邻节点,可以使得所确定的目标节点在AI对象的记忆中没有行走过的节点,当AI对象从当前节点到达目标节点后,再按照相同的方法确定下一目标节点,从而实现AI对象能够根据当前所处的位置以及记忆列表中的可视节点自己寻找路径以及随着移动逐渐的发现游戏内的建筑等的构造,以丰富AI对象的行为性,提高游戏的可玩性。
为使本发明实施例的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
参照图1,给出了本发明实施例中的一种寻路方法的流程图,具体可以包括如下步骤:
步骤S1,加载游戏中的预设电子地图。
在具体实施中,在游戏启动或者切换到新的场景时,可以加载游戏中的预设场景对应的场景地图,场景地图可以是电子地图。
在具体实施中,电子地图被分割成多个节点(也称为地块或者地图块),每个节点具有对应的节点信息。电子地图中的节点可以分为可行走的节点以及不可行走的节点,其中可行走的节点指AI对象可以站立的节点或者可以通过的节点,而不可行走的节点是指AI对象无法站立的节点或者无法通过的节点。
例如,在平面的地图上建立一个以单位网格为基地的地格数组,把电子地图分割为一个一个可行走节点(也可称为可行走地块),一般一个节点为一个行走单位。把电子地图上的可行走信息作为节点信息记录到相应的节点中,从而每个节点均具有对应的节点信息。
在具体实施中,节点信息可以包括如下至少一种:相邻节点、可行走信息、路与阻碍物之间的距离、与阻碍物相邻信息、相邻的不可行走节点的数目、路边界对应的权重。
步骤S2,当检测到AI对象出现在当前节点上时,获取所述当前节点的可视列表。
在具体实施中,当AI对象出生或者移动时,需实施对AI对象的当前所处的节点进行更新。AI对象当前所处的节点称为当前节点,当检测到AI对象出现在当前节点时,获取当前节点的可视列表。可视列表可以包括一个或多个可视节点。可视节点是指在当前节点的可视范围内,与当前节点之间没有阻挡物的节点。
在具体实施中,当前节点对应的可视列表可以为预先设置的,并与当前节点进行关联,也可以为当AI对象处于当前节点时,实时获取到的。
在本发明实施例中,可以采用如下方式获取当前节点的可视列表,以及获取当前节点对应的最大可视范围。
在具体实施中,每个节点对应的最大可视范围可以是固定的,与节点上所站立的AI对象类型以及游戏类型或者游戏场景无关。每个节点对应的最大可视范围也可以与游戏类型、游戏场景需求、AI对象类型以及节点在电子地图中所处的位置等多种因素中的一种或多种相关,也即当游戏场景不同,或者当前节点上的AI对象类型不同时,获取到的节点对应的最大可视范围可以不同。
例如,AI对象包括不同类型的怪物C和怪物D,不管怪物C站立在节点上,还是怪物D站立在节点上,节点的最大可视范围相同。
又如,AI对象包括不同类型的怪物C和怪物D,怪物C具有千里眼的技能,而怪物D没有千里眼技能。怪物C站立在节点时,获取的节点的最大可视范围大于怪物D站立时获取的节点的最大可视范围,以丰富AI对象的行为性。
在获取到当前节点的最大可视范围之后,在当前节点的最大可视范围内,获取与当前节点之间不存在阻碍物的节点,并将与当前节点之间不存在阻碍物的节点作为当前节点的可视节点,当前节点的所有可视节点形成当前节点的可视列表。
在具体实施中,每个节点的最大可视范围以及可视列表的获取方式,可以参考当前节点的最大可视范围以及可视列表的获取方式,此处不再赘述。
步骤S3,将所述当前节点的可视列表中的所有可视节点添加至所述AI对象的记忆列表中。
在具体实施中,在获取到当前节点的可视列表之后,将当前节点的可视列表中的所有可视节点添加至AI对象的记忆列表中。
步骤S4,根据所述记忆列表中的各可视节点的节点信息,确定目标节点。
在具体实施中,可以根据记忆列表中的各可视节点的节点信息,确定目标节点。目标节点满足如下条件:目标节点来自于记忆列表中的可视节点、目标节点可行走、目标节点存在未添加至所述记忆列表中的相邻节点。
根据AI对象的记忆列表中的各可视节点的节点信息,确认目标节点,AI对象无须站立到对应的可视节点上,就可以在当前节点上发现其他各可视节点。
在具体实施中,当记忆列表中多个节点均满足可行走且存在未添加至所述记忆列表中的相邻节点的条件时,则需要从满足条件的多个节点中选取其中一个作为目标节点。例如,将满足条件的节点中距离当前节点最远的节点作为目标节点。又如,将满足条件的节点中距离当前节点距离最近的节点作为目标节点。再如,将满足条件的节点中与当前节点的相对方向与设定方向相符合的节点作为目标节点。又如,根据各节点的节点信息中相邻的不可行走节点的数目确定目标节点,将具有相邻的不可行走节点数目最少的节点作为目标节点。又如,将路与阻碍物之间的距离较远的节点作为目标节点。可以理解的是,还可以根据实际应用场景需求采用其他方式从多个满足条件的节点中确定目标节点,此处不再赘述。
步骤S5,控制所述AI对象从当前节点移动至所述目标节点。
在具体实施中,在确定目标节点之后,可以控制AI对象从当前节点移动至目标节点。
具体而言,可以计算当前节点至目标节点的目标路径,并控制AI对象按照目标路径从当前节点移动至目标节点。
在本发明实施例中,可以采用A*寻路算法计算从当前节点至目标节点的目标路径。
然而,传统的A*寻路算法只区分节点的可行走与不可行走,从而导致AI对象在寻路时通常会沿着大路的边界行走,表现不自然,不符合人类的行走行为。为了使得AI对象的行走行为更贴近人类的行走行为,本发明实施例中的A*寻路算法包括不同类型的路分别对应的权重以及路边界的权重。例如,可以按照宽度将各种路分为大路、小路等,A*寻路算法中可以包括大路的权重、小路的权重及路边界的权重等,从而可以在存在大路对应的路径时,A*寻路算法可以自动找到一条延着大路中间行走的道路,以使得AI对象的行走行为更贴近人类的行走行为。
在本发明实施例中,大路及小路的权重可以通过计算节点(也可称为地块)周围的阻挡格数量来计算,以该节点为中心,计算该节点周围5x5范围内的可行走节点的比例,如果可行走节点占比超过第一阈值,如超过80%,则该节点可以标识为大路节点,提高该节点的寻路的权重;如果可行走节点占比小于第二阈值,如小于50%,则该节点可以被标识为小路节点,则降低该节点的寻路权重,如果该节点与不可行走节点相临则该节点为边界节点。其中,第一阈值大于第二阈值,第一阈值及第二阈值还可以存在其他取值,具体根据实际需求进行设定即可,此处不做限定。
在具体实施中,在控制AI对象按照目标路径从当前节点移动至目标节点时,若目标路径上的两个相邻节点分别属于两个不同的区域,若两个不同的区域之间不连通,则建立两个不同区域之间的连通性。
在本发明实施例中,采用种子填充算法来建立两个不同区域之间的连通性。
具体而言,任取一个地块,对其标记为区域1号,然后以递归的方式查看区域1号周围的四个相连通地块,并将四个相连通地块标记为1号地块。如果没有更多的连通地块可标记,则任取一个没有被标记过的地块,并将没有被标记的地块标记为区域2号,然后以递归的方式查看区域2号周围的四个相连通地块,以此类推,重复上述步聚,直到所有的可行走地块都被标记过,从而完成不同区域之前的连通性的建立。
步骤S6,判断是否满足终结条件。
当AI对象移动至目标节点之后,判断是否满足终结条件。当满足终结条件时,执行步骤S7,停止寻路。当不满足终结条件时,继续执行步骤S2。
在具体实施中,终结条件与游戏类型相关,可以存在多种,例如,终结条件为AI对象达到目标地点。又如,终结条件为AI对象消亡。再如,在多个AI对象进行迷宫类的竞技比赛时,终结条件其中一个或多个AI对象走出迷宫达到出口。又如,终结条件为AI对象完成目标任务。可以理解的是,根据实际场景需求,还可以存在其他类型的终结条件,此处不再一一举例说明。
步骤S7,停止寻路。
由上可知,通过获取AI对象所处的当前节点的可视列表,将当前节点的可视列表中所有的可视节点加入至AI对象的记忆列表中,根据记忆列表中所有可视节点的节点信息,确定目标节点,所确定的目标节点既可行走,又存在未添加至记忆列表中的相邻节点,可以使得所确定的目标节点在AI对象的记忆中没有行走过的节点,当AI对象从当前节点到达目标节点后,再按照相同的方法确定下一目标节点,从而实现AI对象能够根据当前所处的位置以及记忆列表中的可视节点自己寻找路径以及随着移动逐渐的发现游戏内的建筑等的构造,以丰富AI对象的行为性,提高游戏的可玩性。
在具体实施中,为了丰富游戏可玩性,提高用户体验,例如,在迷宫类游戏中,使得AI对象可以在迷宫中迷失,在本发明实施例中,在步骤S3将所述当前节点的可视列表中的所有可视节点添加至所述AI对象的记忆列表中之后,记录每个可视节点添加至所述记忆列表中的时刻点,获取当前时刻点,根据所述当前时刻点以及所述每个可视节点添加至所述记忆列表中的时刻点,计算每个可视节点添加至所述记忆列表中的存储时长。当检测到任一可视节点添加至所述记忆列表中的存储时长达到预设存储时长之后,删除添加至所述记忆列表中的存储时长达到预设存储时长的可视节点。
在本发明另一实施例中,当将所述当前节点的可视列表中的所有可视节点添加至所述AI对象的记忆列表中时,若所述记忆列表中的所有可视节点的数目达到最大记忆数目上限,按照所述可视节点添加至所述记忆列表中的时间先后顺序,删除所述记忆列表中添加时间早的可视节点。
例如,当前节点的可视列表中包括6个可视节点,记忆列表的最大记忆数目上限为100个可视节点,当前记忆列表中已经存在100个可视节点,则按照记忆列表中100个可视节点的添加时间先后顺序,从记忆列表中删除6个添加时间最早的可视节点。
在具体实施中,当将所述当前节点的可视列表中的所有可视节点添加至所述AI对象的记忆列表中时,若所述记忆列表中的所有可视节点的数目与所述当前节点的可视列表中的所有可视节点的数目之和超过最大记忆数目上限,按照所述可视节点添加至所述记忆列表中的时间先后顺序,删除所述记忆列表中添加时间早的可视节点,以使得当前节点的可视列表中的所有可视节点加入之后,记忆列表中的可视节点数目不超过最大记忆数目上限。
在具体实施中,当将所述当前节点的可视列表中的所有可视节点添加至所述AI对象的记忆列表中时,若所述记忆列表中的所有可视节点的数目未达到最大记忆数目上限,则将所述当前节点的可视列表中的所有可视节点添加至所述AI对象的记忆列表。
例如,当前节点的可视列表中包括6个可视节点,记忆列表的最大记忆数目上限为100个可视节点,当前记忆列表中已经存在80个可视节点,则将当前节点的可视列表中的6个可视节点加入记忆列表。
可以理解的是,将所述当前节点的可视列表中的所有可视节点添加至所述AI对象的记忆列表的过程中,若检测到记忆列表中的可视节点的总数目达到最大记忆数目上限时,加入一个新的可视节点则自动覆盖一个添加时间最早的可视节点,以确保记忆列表中的可视节点的总数目不超过最大记忆数目上限。
通过设定记忆列表的可视节点的存储时长或者设定记忆列表中的可视节点的最大记忆数目上限,或者通过设定记忆列表的可视节点的存储时长结合记忆列表中的可视节点的最大记忆数目上限,来限制AI对象在寻路过程中对可视节点的记忆能力,通过缩短记忆列表的可视节点的存储时长或者减小记忆列表中可视节点的最大记忆数目上限,来实现AI对象的记忆力差或者迷路的效果,从而提高游戏的可玩性以及用户体验。通过增加记忆列表的可视节点的存储时长或者增大记忆列表中可视节点的最大记忆数目上限,可以实现AI对象的记忆力强的效果。
本发明实施例中提供过的寻路方法不仅适用于迷宫类的游戏,也适用一些玩家自创类游戏、建筑类的探索游戏以及其他具有寻路需求的游戏中。
参照图2,给出了本发明实施例还提供一种寻路装置的结构示意图,寻路装置20可以包括:加载单元21、获取单元22、添加单元23、确定单元24、控制单元25以及执行单元26,其中:
加载单元21,适于加载游戏中的预设电子地图,所述电子地图被分割成多个节点,每个节点具有对应的节点信息;
获取单元22,适于当检测到AI对象出现在当前节点上时,获取所述当前节点的可视列表,所述可视列表包括一个或多个可视节点;
添加单元23,适于将所述当前节点的可视列表中的所有可视节点添加至所述AI对象的记忆列表中;
确定单元24,适于根据所述记忆列表中的各可视节点的节点信息,确定目标节点,所述目标节点满足如下条件:可行走、存在未添加至所述记忆列表中的相邻节点;
控制单元25,适于控制所述AI对象从当前节点移动至所述目标节点;
执行单元26,适于当满足终结条件时,停止寻路。
在具体实施中,寻路装置20的工作原理及工作流程,可以参考本发明上述任一实施例中提供的寻路方法中的描述,此处不再赘述。
本发明实施例还提供一种寻路装置,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行上述任一种寻路方法的步骤。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质为非易失性存储介质或非瞬态存储介质,其上存储有计算机指令,所述计算机指令运行时执行上述任一种寻路方法的步骤。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于任一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (11)
1.一种寻路方法,其特征在于,包括:
步骤S1,加载游戏中的预设电子地图,所述电子地图被分割成多个节点,每个节点具有对应的节点信息;
步骤S2,当检测到AI对象出现在当前节点上时,获取所述当前节点的可视列表,所述可视列表包括一个或多个可视节点;
步骤S3,将所述当前节点的可视列表中的所有可视节点添加至所述AI对象的记忆列表中;
步骤S4,根据所述记忆列表中的各可视节点的节点信息,确定目标节点,所述目标节点满足如下条件:可行走、存在未添加至所述记忆列表中的相邻节点;
步骤S5,控制所述AI对象从当前节点移动至所述目标节点;
重复执行步骤S2至步骤S5直至满足终结条件,停止寻路;
其中,在将所述当前节点的可视列表中的所有可视节点添加至所述AI对象的记忆列表中之后,还包括:
记录每个可视节点添加至所述记忆列表中的时刻点;
获取当前时刻点;
根据所述当前时刻点以及所述每个可视节点添加至所述记忆列表中的时刻点,计算每个可视节点添加至所述记忆列表中的存储时长;
当检测到任一可视节点添加至所述记忆列表中的存储时长达到预设存储之后,删除添加至所述记忆列表中的存储时长达到预设存储时长的可视节点;
或者,还包括:当将所述当前节点的可视列表中的所有可视节点添加至所述AI对象的记忆列表中时,若所述记忆列表中的所有可视节点的数目达到最大记忆数目上限,按照所述可视节点添加至所述记忆列表中的时间先后顺序,删除所述记忆列表中添加时间早的可视节点。
2.如权利要求1所述的寻路方法,其特征在于,所述获取所述当前节点的可视列表,包括:
获取所述当前节点的最大可视范围;
在所述当前节点的最大可视范围内,获取与所述当前节点之间不存在阻碍物的节点,并将与所述当前节点之间不存在阻碍物的节点作为所述当前节点的可视节点,所述当前节点的所有可视节点形成所述当前节点的可视列表。
3.如权利要求1所述的寻路方法,其特征在于,所述控制所述AI对象从当前节点移动至所述目标节点,包括:
计算从所述当前节点至所述目标节点的目标路径;
控制所述AI对象按照所述目标路径从所述当前节点移动至所述目标节点。
4.如权利要求3所述的寻路方法,其特征在于,在控制所述AI对象按照所述目标路径从所述当前节点移动至所述目标节点时,若所述目标路径上的两个相邻节点分别属于两个不同的区域,若所述两个不同的区域之间不连通,则建立所述两个不同区域之间的连通性。
5.如权利要求3所述的寻路方法,其特征在于,所述计算从所述当前节点至所述目标节点的目标路径,包括:
采用A*寻路算法计算从所述当前节点至所述目标节点的目标路径。
6.如权利要求5所述的寻路方法,其特征在于,所述A*寻路算法包括不同类型的路分别对应的权重以及路边界的权重。
7.如权利要求1所述的寻路方法,其特征在于,所述节点信息包括如下至少一种:相邻节点、可行走信息、路与阻碍物之间的距离、与阻碍物相邻信息、相邻的不可行走节点的数目、路边界对应的权重。
8.如权利要求1所述的寻路方法,其特征在于,终结条件包括如下任一种:所述AI对象到达目标地点、所述AI对象消亡。
9.一种寻路装置,其特征在于,包括:
加载单元,适于加载游戏中的预设电子地图,所述电子地图被分割成多个节点,每个节点具有对应的节点信息;
获取单元,适于当检测到AI对象出现在当前节点上时,获取所述当前节点的可视列表,所述可视列表包括一个或多个可视节点;
添加单元,适于将所述当前节点的可视列表中的所有可视节点添加至所述AI对象的记忆列表中;
确定单元,适于根据所述记忆列表中的各可视节点的节点信息,确定目标节点,所述目标节点满足如下条件:可行走、存在未添加至所述记忆列表中的相邻节点;
控制单元,适于控制所述AI对象从当前节点移动至所述目标节点;
执行单元,适于当满足终结条件时,停止寻路;
其中,还包括:在将所述当前节点的可视列表中的所有可视节点添加至所述AI对象的记忆列表中之后,记录每个可视节点添加至所述记忆列表中的时刻点;获取当前时刻点;根据所述当前时刻点以及所述每个可视节点添加至所述记忆列表中的时刻点,计算每个可视节点添加至所述记忆列表中的存储时长;当检测到任一可视节点添加至所述记忆列表中的存储时长达到预设存储之后,删除添加至所述记忆列表中的存储时长达到预设存储时长的可视节点的单元;
或者,当将所述当前节点的可视列表中的所有可视节点添加至所述AI对象的记忆列表中时,若所述记忆列表中的所有可视节点的数目达到最大记忆数目上限,按照所述可视节点添加至所述记忆列表中的时间先后顺序,删除所述记忆列表中添加时间早的可视节点的单元。
10.一种寻路装置,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令,其特征在于,所述处理器运行所述计算机指令时执行权利要求1至8任一项所述的寻路方法的步骤。
11.一种计算机可读存储介质,计算机可读存储介质为非易失性存储介质或非瞬态存储介质,其上存储有计算机指令,其特征在于,所述计算机指令被处理器运行时执行权利要求1至8任一项所述的寻路方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010158155.3A CN113368499B (zh) | 2020-03-09 | 2020-03-09 | 寻路方法及装置、计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010158155.3A CN113368499B (zh) | 2020-03-09 | 2020-03-09 | 寻路方法及装置、计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113368499A CN113368499A (zh) | 2021-09-10 |
CN113368499B true CN113368499B (zh) | 2022-09-06 |
Family
ID=77568508
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010158155.3A Active CN113368499B (zh) | 2020-03-09 | 2020-03-09 | 寻路方法及装置、计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113368499B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104462805A (zh) * | 2014-12-02 | 2015-03-25 | 厦门飞游信息科技有限公司 | 一种基于a*算法的地图寻路方法、设备及计算终端 |
CN105138859A (zh) * | 2015-09-30 | 2015-12-09 | 四川师范大学 | 三维全景漫游寻路方法及系统 |
CN108429685A (zh) * | 2018-04-28 | 2018-08-21 | 电子科技大学 | 一种基于分段路由技术的服务功能链寻路方法 |
CN108815850A (zh) * | 2018-06-15 | 2018-11-16 | 腾讯科技(深圳)有限公司 | 一种控制模拟对象寻路的方法及客户端 |
CN109011575A (zh) * | 2018-07-04 | 2018-12-18 | 苏州玩友时代科技股份有限公司 | 一种自动寻路方法、装置和设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0407336D0 (en) * | 2004-03-31 | 2004-05-05 | British Telecomm | Pathfinding system |
US20140372031A1 (en) * | 2013-06-17 | 2014-12-18 | Rivendell Technologies, LLC | Systems, methods and computer-readable media for generating digital wayfinding maps |
-
2020
- 2020-03-09 CN CN202010158155.3A patent/CN113368499B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104462805A (zh) * | 2014-12-02 | 2015-03-25 | 厦门飞游信息科技有限公司 | 一种基于a*算法的地图寻路方法、设备及计算终端 |
CN107247805A (zh) * | 2014-12-02 | 2017-10-13 | 厦门飞游信息科技有限公司 | 一种基于a*算法的路径搜索方法、设备及计算终端 |
CN107292107A (zh) * | 2014-12-02 | 2017-10-24 | 厦门飞游信息科技有限公司 | 一种地图寻路方法、设备及计算终端 |
CN105138859A (zh) * | 2015-09-30 | 2015-12-09 | 四川师范大学 | 三维全景漫游寻路方法及系统 |
CN108429685A (zh) * | 2018-04-28 | 2018-08-21 | 电子科技大学 | 一种基于分段路由技术的服务功能链寻路方法 |
CN108815850A (zh) * | 2018-06-15 | 2018-11-16 | 腾讯科技(深圳)有限公司 | 一种控制模拟对象寻路的方法及客户端 |
CN109011575A (zh) * | 2018-07-04 | 2018-12-18 | 苏州玩友时代科技股份有限公司 | 一种自动寻路方法、装置和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113368499A (zh) | 2021-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109701273B (zh) | 游戏数据的处理方法、装置、电子设备及可读存储介质 | |
CN104548598B (zh) | 一种虚拟现实场景中寻路的方法 | |
US10807003B2 (en) | Systems and methods for determining distances required to achieve a line of site between nodes | |
CN104834317B (zh) | 一种智能识别威胁类型的无人机飞行路径规划方法 | |
CN110141862B (zh) | 游戏中移动控制的方法及装置、电子设备、存储介质 | |
JP2010068872A (ja) | プログラム、情報記憶媒体及びゲーム装置 | |
CN112774201B (zh) | 一种虚拟角色掩蔽方法、装置、计算机设备及存储介质 | |
CN110702133A (zh) | 路径规划方法、机器人以及具有存储功能的装置 | |
WO2018214724A1 (zh) | 对象移动方法和装置以及存储介质、电子装置 | |
US10376796B2 (en) | Message processing method and terminal device | |
WO2023051671A1 (zh) | 基于体素数据的数据处理方法、服务器、介质及计算机程序产品 | |
CN114485665A (zh) | 一种基于麻雀搜索算法的无人机航迹规划方法 | |
CN113368499B (zh) | 寻路方法及装置、计算机可读存储介质 | |
JP6653808B2 (ja) | ゲーム装置、及び、ゲーム装置のプログラム | |
CN109155846A (zh) | 一种场景的三维重建方法、装置、电子设备及存储介质 | |
CN111013146B (zh) | 超大地图的可动态修改的寻路导航方法和装置 | |
CN109289198B (zh) | 一种感兴趣区域确定方法和装置 | |
US11241621B2 (en) | Non-transitory computer-readable medium and video game processing system | |
CN107970610B (zh) | 一种3d场景垂直空间飞行路线的规划方法和装置 | |
US11219825B2 (en) | Non-transitory computer-readable medium and video game processing system | |
CN113797543A (zh) | 游戏处理方法、装置、计算机设备、存储介质及程序产品 | |
KR102257891B1 (ko) | 비동기 로딩 장치 및 방법 | |
CN112883865B (zh) | 带球突破事件识别方法、装置、计算机设备和存储介质 | |
CN115379386B (zh) | 基于狼群算法的无人机集群电磁频谱监测方法及装置 | |
JP6667921B2 (ja) | ゲーム装置、及び、ゲーム装置のプログラム |
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 |