CN112999658B - 用于游戏三维空间飞行的寻路方法、装置及介质 - Google Patents

用于游戏三维空间飞行的寻路方法、装置及介质 Download PDF

Info

Publication number
CN112999658B
CN112999658B CN202110197404.4A CN202110197404A CN112999658B CN 112999658 B CN112999658 B CN 112999658B CN 202110197404 A CN202110197404 A CN 202110197404A CN 112999658 B CN112999658 B CN 112999658B
Authority
CN
China
Prior art keywords
node
nodes
starting point
dimensional
list
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
CN202110197404.4A
Other languages
English (en)
Other versions
CN112999658A (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.)
Zhuhai Jianxin Interactive Entertainment Co ltd
Original Assignee
Zhuhai Jianxin Interactive Entertainment 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 Zhuhai Jianxin Interactive Entertainment Co ltd filed Critical Zhuhai Jianxin Interactive Entertainment Co ltd
Priority to CN202110197404.4A priority Critical patent/CN112999658B/zh
Publication of CN112999658A publication Critical patent/CN112999658A/zh
Application granted granted Critical
Publication of CN112999658B publication Critical patent/CN112999658B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Remote Sensing (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Optics & Photonics (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明涉及用于游戏三维空间飞行的寻路方法、装置及介质的技术方案,包括:获取游戏的三维场景空间,将三维场景空间划分为若干柱体,以柱体的相交区域作为节点,以节点构建三维场景空间的二维链表;根据寻路的起点和终点所处的节点,创建对应的起点列表及终点列表,从起点列表选取任一节点放入终点列表并作为寻路节点;基于寻路节点对二维链表进行遍历,以节点的高度信息作为对比值,确定与寻路节点想通的若干相通节点,并根据相通节点的信息重复执行遍历及相通节点,直至所有相通节点被找到;根据起点、终点及相通节点的信息,回溯起点与终端的空间寻路。本发明的有益效果为:以实现三维游戏空间的自动寻路,具有高效及精准的寻路效果。

Description

用于游戏三维空间飞行的寻路方法、装置及介质
技术领域
本发明涉及计算机三维游戏领域,具体涉及了一种用于游戏三维空间飞行的寻路方法、装置及介质。
背景技术
在三维游戏中,经常需要对路径进行寻路及导航,现有技术常通过导航网格进行游戏的路径寻路。对于导航网格,其依赖于地图的精细程度,对于地图场景复杂的区域,其需要人为的设置和开发,效率较为低下且导航效果较差。主要使用的是地面导航,对于三维空间的路径导航寻路目前较为欠缺,因此,急需一种能够自动实现寻路且开发简单的方法。
发明内容
本发明的目的在于至少解决现有技术中存在的技术问题之一,提供了用于游戏三维空间飞行的寻路方法、装置及介质,以实现三维游戏空间的自动寻路,具有高效及精准的寻路效果。
本发明的技术方案包括一种用于游戏三维空间飞行的寻路方法,其特征在于,包括以下步骤:S100,获取游戏的三维场景空间,将所述三维场景空间划分为若干柱体,以所述柱体的相交区域作为节点,以节点构建三维场景空间的二维链表;S200,根据寻路的起点和终点所处的节点,创建对应的起点列表及终点列表,从起点列表选取任一节点放入终点列表并作为寻路节点;S300,基于所述寻路节点对所述二维链表进行遍历,以节点的高度信息作为对比值,确定与所述寻路节点想通的若干相通节点,并根据相通节点的信息重复执行遍历及相通节点,直至所有相通节点被找到;S400,根据起点、终点及相通节点的信息,回溯起点与终端的空间寻路。
根据所述的用于游戏三维空间飞行的寻路方法,其中节点包括高度信息及二维坐标,其中高度信息为顶部高度和底部高度构成的高度信息,二维坐标为X坐标及Y坐标构成的位置信息。
根据所述的用于游戏三维空间飞行的寻路方法,其中二维链表通过将节点进行连接,其中节点空间不重叠且不相接。
根据所述的用于游戏三维空间飞行的寻路方法,其中S100包括:根据起点及终点的二维坐标,确定起点及终端所在的链表,并遍历链表的节点,通过比较高度可以得到起点及终端所在的节点。
根据所述的用于游戏三维空间飞行的寻路方法,其中S300包括:S310,通过寻路节点的位置信息,得到寻路节点所在链表的最接近的8个链表;S320,遍历8个链表的所有节点,通过比较节点与寻路节点的高度值,确定与寻路节点相通的节点;S330,检查所述S320得到的节点是否处于终点对应的节点列表中,并舍弃在终点对应的节点列表里的节点;S340,对所述S320及S330得到的每个节点,根据节点对应的位置信息和高度信息,分别计算对应的评估值,所述评估值用于起点列表的优先度排序;S350,将节点中添加寻路节点的指针;S360,将节点按评估值插入到起点列表中,并对起点列表进行排序。
根据所述的用于游戏三维空间飞行的寻路方法,其中S400包括:重复所述S310~S360,直到所述S310取出的节点是终点所在的节点或取不出节点,若结果为取不出节点,则寻路结束,起点与终端之间不存在空间上的通路,并在交互界面进行显示;若取到了终点所在节点,根据取出的指针,回溯出整个起点对应的节点到终点对应的节点所有寻路节点。
根据所述的用于游戏三维空间飞行的寻路方法,其中该方法还包括节点内寻路,所述节点内寻路包括:S510,将节点平铺展开,可以得到高度图;S520,尝以直线从起点的节点以直线连线到终点的节点;S530,当碰到高度不可通过的节点时,计算该节点最近可以通过的点,将该点作为转折点;S540,将转折点到原本的终点之间的节点重新作为高度图,将高度图重复执行S510~S530的处理,直到所有高度图都不再产生新的转折点,则完成节点内寻路。
本发明的技术方案还包括一种用于游戏三维空间飞行的寻路装置,该装置包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现任一所述的方法步骤。
本发明的技术方案还包括一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现任一所述的方法步骤。
本发明的有益效果为:以实现三维游戏空间的自动寻路,具有高效及精准的寻路效果。
附图说明
下面结合附图和实施例对本发明进一步地说明;
图1所示为根据本发明实施方式的总体流程图。
图2所示为根据本发明实施方式的节点外寻路流程图。
图3所示为根据本发明实施方式的节点内寻路流程图。
图4所示为根据本发明实施方式的装置示意图。
具体实施方式
本部分将详细描述本发明的具体实施例,本发明之较佳实施例在附图中示出,附图的作用在于用图形补充说明书文字部分的描述,使人能够直观地、形象地理解本发明的每个技术特征和整体技术方案,但其不能理解为对本发明保护范围的限制。
在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。
在本发明的描述中,对方法步骤的连续标号是为了方便审查和理解,结合本发明的整体技术方案以及各个步骤之间的逻辑关系,调整步骤之间的实施顺序并不会影响本发明技术方案所达到的技术效果。
本发明的描述中,除非另有明确的限定,设置等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
图1所示为根据本发明实施方式的总体流程图。该流程包括:S100,获取游戏的三维场景空间,将三维场景空间划分为若干柱体,以柱体的相交区域作为节点,以节点构建三维场景空间的二维链表;S200,根据寻路的起点和终点所处的节点,创建对应的起点列表及终点列表,从起点列表选取任一节点放入终点列表并作为寻路节点;S300,基于寻路节点对二维链表进行遍历,以节点的高度信息作为对比值,确定与寻路节点想通的若干相通节点,并根据相通节点的信息重复执行遍历及相通节点,直至所有相通节点被找到;S400,根据起点、终点及相通节点的信息,回溯起点与终端的空间寻路。
图2所示为根据本发明实施方式的节点外寻路流程图。该流程包括:S310,通过寻路节点的位置信息,得到寻路节点所在链表的最接近的8个链表;S320,遍历8个链表的所有节点,通过比较节点与寻路节点的高度值,确定与寻路节点相通的节点;S330,检查S320得到的节点是否处于终点对应的节点列表中,并舍弃在终点对应的节点列表里的节点;S340,对S320及S330得到的每个节点,根据节点对应的位置信息和高度信息,分别计算对应的评估值,评估值用于起点列表的优先度排序;S350,将节点中添加寻路节点的指针;S360,将节点按评估值插入到起点列表中,并对起点列表进行排序。
基于上述流程,本发明提供以下示例:将三维场景地图先按水平二维空间切割成N*M的格子,每个格子在三维空间里表示为一根柱体。将柱体里空间相连的区域表示为一个节点,这个节点有两个数据信息:一个是由顶部高度和底部高度构成的高度信息;另一是由X坐标、Y坐标构成的位置信息。把所有节点以链表链接起来则可以得到,这些节点在空间上并没有重叠部分,也没有相接部分,整个三维场景就转化成N*M个链表。
(1)假设起始点为A,终点为B。根据XY坐标可以确定A所在的链表,再遍历链表的节点,通过比较高度可以得到A所在的节点。同样的方法可以得到B所在的节点。
(2)先把A节点放入open列表。
(3)从open列表里取出一个节点,并把这个节点放入close列表。暂称该节点为node。
(4)通过node的位置信息,得到node所在链表的附近8个链表。
(5)遍历这8个链表的所有节点,通过比较这些节点与node的高度值,可以得到哪些节点与node相通。
(6)检查步骤(5)得到的这些节点是否在close列表里,并舍弃在close列表里的节点
(7)经过步骤(5),(6)后得到的每一个节点,都可以根据自己的位置信息和高度信息,分别计算一个评估值。这个值是open列表的一个排序值,表示这个节点应该被open的优先度。
(8)这些节点需要记录node节点的指针,表示是从node节点搜索过来的。
(9)把节点按排序值插入到open列表里,让open列表里的节点都是有序。
(10)重复步骤(3)~(9)。直到步骤(3)取出的节点是B所在的节点或取不出节点。如果结果为取不出节点,则寻路结束,AB之间不存在空间上的通路。
(11)如果取到了B所在节点,则B节点上必定有被哪个节点open的指针。
(12)根据这个指针,可以回溯出整个A到B节点所有节点。
图3所示为根据本发明实施方式的节点内寻路流程图。该流程包括:S510,将节点平铺展开,可以得到高度图;S520,尝以直线从起点的节点以直线连线到终点的节点;S530,当碰到高度不可通过的节点时,计算该节点最近可以通过的点,将该点作为转折点;S540,将转折点到原本的终点之间的节点重新作为高度图,将高度图重复执行S510~S530的处理,直到所有高度图都不再产生新的转折点,则完成节点内寻路。
图2在进行空间节点寻路后,图3还包括对节点内进行寻路处理,本发明根据图3流程,提出的流程示例如下:
(1)把节点平铺展开,可以得到高度图。
(2)尝试以直线从起点的节点以直线连线到终点的节点。
(3)当碰到高度不可通过的节点时,计算该节点最近可以通过的点,把该点视为转折点。
(4)把原本的起点到转折点之间的节点重新视为一张新的高度图。把转折点到原本的重点之间的节点重新视为另一张高度图。
(5)把新的高度图重复按(1)~(4)步骤去处理,直到所有高度图都不再产生新的转折点。则节点内寻路完成。
图4所示为根据本发明实施方式的装置示意图。装置包括存储器100及处理器200,其中处理器200存储有计算机程序,计算机程序用于执行:获取游戏的三维场景空间,将三维场景空间划分为若干柱体,以柱体的相交区域作为节点,以节点构建三维场景空间的二维链表;根据寻路的起点和终点所处的节点,创建对应的起点列表及终点列表,从起点列表选取任一节点放入终点列表并作为寻路节点;基于寻路节点对二维链表进行遍历,以节点的高度信息作为对比值,确定与寻路节点想通的若干相通节点,并根据相通节点的信息重复执行遍历及相通节点,直至所有相通节点被找到;根据起点、终点及相通节点的信息,回溯起点与终端的空间寻路。其中,存储器100用于存储数据。
上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。

Claims (3)

1.一种用于游戏三维空间飞行的寻路方法,其特征在于,包括以下步骤:S100,获取游戏的三维场景空间,将所述三维场景空间划分为若干柱体,以所述柱体的相交区域作为节点,以节点构建三维场景空间的二维链表;
S200,根据寻路的起点和终点所处的节点,创建对应的起点列表及终点列表,从起点列表选取任一节点放入终点列表并作为寻路节点;
S300,基于所述寻路节点对所述二维链表进行遍历,以节点的高度信息作为对比值,确定与所述寻路节点相通的若干相通节点,并根据相通节点的信息重复执行遍历及相通节点,直至所有相通节点被找到;
S400,根据起点、终点及相通节点的信息,回溯起点与终端的空间寻路;所述节点包括高度信息及二维坐标,其中高度信息为顶部高度和底部高度构成的高度信息,二维坐标为X坐标及Y坐标构成的位置信息;所述二维链表通过将节点进行连接,其中节点空间不重叠且不相接;
所述S100包括:将三维场景地图先按水平二维空间切割成N*M的格子,每个格子在三维空间里表示为一根柱体;将柱体里空间相连的区域表示为一个节点,这个节点有两个数据信息:一个是由顶部高度和底部高度构成的高度信息:另一是由X坐标、Y坐标构成的位置信息;把所有节点以链表链接起来则可以得到,这些节点在空间上并没有重叠部分,也没有相接部分,整个三维场景就转化成N*M个链表;根据起点及终点的二维坐标,确定起点及终端所在的链表,并遍历链表的节点,通过比较高度可以得到起点及终端所在的节点;
所述S300包括:
S310,通过寻路节点的位置信息,得到寻路节点所在链表的最接近的8个链表;
S320,遍历8个链表的所有节点,通过比较节点与寻路节点的高度值,确定与寻路节点相通的节点;
S330,检查所述S320得到的节点是否处于终点对应的节点列表中,并舍弃在终点对应的节点列表里的节点;
S340,对所述S320及S330得到的每个节点,根据节点对应的位置信息和高度信息,分别计算对应的评估值,所述评估值用于起点列表的优先度排序;
S350,将节点中添加寻路节点的指针;
S360,将节点按评估值插入到起点列表中,并对起点列表进行排序;
所述S400包括:
重复所述S310~S360,直到所述S310取出的节点是终点所在的节点或取不出节点,若结果为取不出节点,则寻路结束,起点与终端之间不存在空间上的通路,并在交互界面进行显示;
若取到了终点所在节点,根据取出的指针,回溯出整个起点对应的节点到终点对应的节点所有寻路节点;
所述节点内寻路包括:
S510,将节点平铺展开,可以得到高度图;
S520,尝以直线从起点的节点以直线连线到终点的节点;
S530,当碰到高度不可通过的节点时,计算该节点最近可以通过的点,将该点作为转折点;
S540,将转折点到原本的终点之间的节点重新作为高度图,将高度图重复执行S510~S530的处理,直到所有高度图都不再产生新的转折点,则完成节点内寻路。
2.一种用于游戏三维空间飞行的寻路装置,该装置包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1的方法步骤。
3.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1的方法步骤。
CN202110197404.4A 2021-02-22 2021-02-22 用于游戏三维空间飞行的寻路方法、装置及介质 Active CN112999658B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110197404.4A CN112999658B (zh) 2021-02-22 2021-02-22 用于游戏三维空间飞行的寻路方法、装置及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110197404.4A CN112999658B (zh) 2021-02-22 2021-02-22 用于游戏三维空间飞行的寻路方法、装置及介质

Publications (2)

Publication Number Publication Date
CN112999658A CN112999658A (zh) 2021-06-22
CN112999658B true CN112999658B (zh) 2023-12-05

Family

ID=76405983

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110197404.4A Active CN112999658B (zh) 2021-02-22 2021-02-22 用于游戏三维空间飞行的寻路方法、装置及介质

Country Status (1)

Country Link
CN (1) CN112999658B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013007889A (ja) * 2011-06-24 2013-01-10 Mitsubishi Electric Corp 3次元道路地図データ生成装置、3次元道路地図データ処理システム、ナビゲーション装置及び3次元道路地図データ生成方法
CN109737965A (zh) * 2019-01-03 2019-05-10 温州大学 一种三维虚拟场景下的导航路径最优选择的方法
CN109931950A (zh) * 2018-09-05 2019-06-25 浙江科比特科技有限公司 一种实景导航方法、系统及终端设备
US10406437B1 (en) * 2015-09-30 2019-09-10 Electronic Arts Inc. Route navigation system within a game application environment
CN111714892A (zh) * 2020-06-29 2020-09-29 天津亚克互动科技有限公司 游戏寻路方法及装置、存储介质、计算机设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013007889A (ja) * 2011-06-24 2013-01-10 Mitsubishi Electric Corp 3次元道路地図データ生成装置、3次元道路地図データ処理システム、ナビゲーション装置及び3次元道路地図データ生成方法
US10406437B1 (en) * 2015-09-30 2019-09-10 Electronic Arts Inc. Route navigation system within a game application environment
CN109931950A (zh) * 2018-09-05 2019-06-25 浙江科比特科技有限公司 一种实景导航方法、系统及终端设备
CN109737965A (zh) * 2019-01-03 2019-05-10 温州大学 一种三维虚拟场景下的导航路径最优选择的方法
CN111714892A (zh) * 2020-06-29 2020-09-29 天津亚克互动科技有限公司 游戏寻路方法及装置、存储介质、计算机设备

Also Published As

Publication number Publication date
CN112999658A (zh) 2021-06-22

Similar Documents

Publication Publication Date Title
CN108444482B (zh) 一种无人机自主寻路避障方法及系统
CN107436148B (zh) 一种基于多地图的机器人导航方法及装置
CN104077326B (zh) 一种道路数据的处理方法及装置
JP6230213B2 (ja) ナビゲーション装置、高度座標を決定する方法、並びに、デーベースを生成する方法
JP5237837B2 (ja) 空間データ管理装置、空間データ管理方法、および、空間データ管理プログラム
CN107577750B (zh) 绘制导航数据矢量路口的方法和系统
CN108334523B (zh) 道路场景地图的构建方法和装置
EP2565583A1 (en) Navigation device, method of outputting a map, and method of generating a database
JPH08287085A (ja) データベース検索システム
KR101925088B1 (ko) 데이터베이스 생성 방법, 네비게이션 장치, 및 높이 정보 판정 방법
CN110059209A (zh) 房源信息显示方法、装置、设备及存储介质
CN108108489A (zh) 基于地理位置的poi检索方法和装置
EP2589933B1 (en) Navigation device, method of predicting a visibility of a triangular face in an electronic map view
KR19990023486A (ko) 내비게이션 시스템, 이 내비게이션 시스템의 입체지형표시 방법, 및 이 방법을 기록한 기록 매체
CN114818065A (zh) 三维巷道模型搭建方法、装置、电子设备及存储介质
US10067950B1 (en) Systems and methods for efficiently organizing map styling information
US5748197A (en) Dynamic computation of a line segment arrangement using finite precision arithmetic for use in a processor controlled system
KR20070099298A (ko) 모바일 내비게이션용 3차원 형상정보 생성방법 및 장치
CN112999658B (zh) 用于游戏三维空间飞行的寻路方法、装置及介质
US20190042672A1 (en) Pressure loss determination device, computer readable medium, and pressure loss determination method
CN113256029A (zh) 建筑内寻路方法、装置、设备及存储介质
US8692827B1 (en) Carving buildings from a three-dimensional model, and applications thereof
Musliman et al. 3D navigation for 3D-GIS—Initial requirements
CN115779424A (zh) 一种导航网格寻路方法、装置、设备及介质
CN115920401A (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