CN110935175A - 数据处理方法及装置 - Google Patents

数据处理方法及装置 Download PDF

Info

Publication number
CN110935175A
CN110935175A CN201911242834.2A CN201911242834A CN110935175A CN 110935175 A CN110935175 A CN 110935175A CN 201911242834 A CN201911242834 A CN 201911242834A CN 110935175 A CN110935175 A CN 110935175A
Authority
CN
China
Prior art keywords
map data
obstacle
grid map
area
data corresponding
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
Application number
CN201911242834.2A
Other languages
English (en)
Other versions
CN110935175B (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.)
Beijing Kingsoft Internet Security Software Co Ltd
Original Assignee
Beijing Kingsoft Internet Security Software 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 Beijing Kingsoft Internet Security Software Co Ltd filed Critical Beijing Kingsoft Internet Security Software Co Ltd
Priority to CN201911242834.2A priority Critical patent/CN110935175B/zh
Publication of CN110935175A publication Critical patent/CN110935175A/zh
Application granted granted Critical
Publication of CN110935175B publication Critical patent/CN110935175B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Navigation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本申请公开一种数据处理方法及装置,其中,一种数据处理方法包括:获取导航地图,所述导航地图包括移动区域和障碍物区域,若确定所述障碍物区域满足所述目标条件,则根据所述移动区域对应的第一网格图数据和所述障碍物区域对应的第二网格图数据,计算所述目标物体的导航路径;若确定所述障碍物区域不满足所述目标条件,则根据所述移动区域对应的所述第一网格图数据,计算所述目标物体的导航路径。采用本发明的技术方案,可以实时更新游戏地图中目标物体可以通过的移动区域,有效计算目标物体的最优导航路径。

Description

数据处理方法及装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据处理方法及装置。
背景技术
在游戏场景中,可以对游戏导航地图中目标物体可以移动的区域进行网格划分,在划分好的网格中计算目标物体的导航路径。但是导航地图中虚拟角色可以移动的移动区域不是一成不变的,即不断存在变化。例如,当障碍物区域是未破坏状态时,则不能作为虚拟角色的移动区域,当障碍物区域被破坏时,则可以作为虚拟角色的移动区域。现有技术是,只要虚拟角色的可以移动的移动区域变化,就重新划分网格,重新生成网格图数据,再基于重新生成的网格图数据计算虚拟角色的导航路径,计算量大,无法在游戏运行中实时更新虚拟角色的导航路径。
发明内容
本发明实施例提供一种数据处理方法及装置,可以在障碍物区域满足不同条件时,快速计算出目标物体的导航路径,而不需要反复更新网格图数据。
第一方面,本发明实施例提供了一种数据处理方法,包括:
获取导航地图,所述导航地图包括移动区域和障碍物区域,当前控制的目标物体具有在所述移动区域移动的权限,在所述障碍物区域满足目标条件时,所述目标物体具有在所述障碍物区域移动的权限;
若确定所述障碍物区域满足所述目标条件,则根据所述移动区域对应的第一网格图数据和所述障碍物区域对应的第二网格图数据,计算所述目标物体的导航路径;
若确定所述障碍物区域不满足所述目标条件,则根据所述移动区域对应的所述第一网格图数据,计算所述目标物体的导航路径。
在一种可能实现的实施例中,所述障碍物区域满足所述目标条件包括:所述障碍物区域对应的所述第二网格图数据的状态被标记为破坏标记;
所述障碍物区域不满足所述目标条件包括:所述障碍物区域对应的所述第二网格图数据的状态被标记为恢复标记。
在一种可能实现的实施例中,所述根据所述移动区域对应的第一网格图数据和所述障碍物区域对应的第二网格图数据,计算所述目标物体的导航路径,包括:
对所述第一网格图数据和所述第二网格图数据进行合并处理,得到目标网格图数据;
根据所述目标网格图数据,计算所述目标物体的导航路径。
在一种可能实现的实施例中,所述方法还包括:
接收第一事件,所述第一事件用于指示所述障碍物区域的状态发生变化,所述第一事件包括所述障碍物区域的当前状态和所述障碍物区域的位置信息,所述当前状态为破坏状态或者恢复状态;
根据所述位置信息,获取所述障碍物区域对应的所述第二网格图数据;
若所述当前状态为破坏状态,则将所述第二网格图数据的状态标记为破坏标记;
若所述当前状态为恢复状态,则将所述第二网格图数据的状态标记为恢复标记。
在一种可能实现的实施例中,所述障碍物区域为多边形,所述位置信息为所述障碍物区域的多个顶点中每个顶点的位置信息;
所述根据所述位置信息,获取所述障碍物区域对应的所述第二网格图数据,包括:
根据所述障碍物区域的多个顶点中每个顶点的位置信息,计算所述障碍物区域的中心位置;
查找与所述障碍物区域的中心位置对应的所述第二网格图数据。
第二方面,本发明实施例提供一种数据处理装置,包括:
第一获取模块,用于获取导航地图,所述导航地图包括移动区域和障碍物区域,当前控制的目标物体具有通过所述移动区域的权限,在所述障碍物区域满足目标条件时,所述目标物体具有通过所述障碍物区域的权限;
第一计算模块,用于若确定所述障碍物区域满足所述目标条件,则根据所述移动区域对应的第一网格图数据和所述障碍物区域对应的第二网格图数据,计算所述目标物体的导航路径;
第二计算模块,用于若确定所述障碍物区域不满足所述目标条件,则根据所述移动区域对应的所述第一网格图数据,计算所述目标物体的导航路径。
在一种可能实现的实施例中,所述障碍物区域满足所述目标条件包括:所述障碍物区域对应的所述第二网格图数据的状态被标记为破坏标记;
所述障碍物区域不满足所述目标条件包括:所述障碍物区域对应的所述第二网格图数据的状态被标记为恢复标记。
在一种可能实现的实施例中,所述第一计算模块包括:
得到单元,用于对所述第一网格图数据和所述第二网格图数据进行合并处理,得到目标网格图数据;
第一计算单元,用于根据所述目标网格图数据,计算所述目标物体的导航路径。
在一种可能实现的实施例中,所述装置还包括
接受模块,用于接收第一事件,所述第一事件用于指示所述障碍物区域的状态发生变化,所述第一事件包括所述障碍物区域的当前状态和所述障碍物区域的位置信息,所述当前状态为破坏状态或者恢复状态;
第二获取模块,用于根据所述位置信息,获取所述障碍物区域对应的所述第二网格图数据;
第一标记模块,用于若所述当前状态为破坏状态,则将所述第二网格图数据的状态标记为破坏标记;
第二标记模块,用于若所述当前状态为恢复状态,则将所述第二网格图数据的状态标记为恢复标记。
在一种可能实现的实施例中,所述障碍物区域为多边形,所述位置信息为所述障碍物区域的多个顶点中每个顶点的位置信息;
所述第二获取模块包括:
第二计算单元,用于根据所述障碍物区域的多个顶点中每个顶点的位置信息,计算所述障碍物区域的中心位置;
查找单元,用于查找与所述障碍物区域的中心位置对应的所述第二网格图数据。
第三方面,本发明实施例提供另一种数据处理装置,其特征在于,包括处理器、存储器以及通信接口,所述处理器、存储器和通信接口相互连接,其中,所述通信接口用于接收和发送数据,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,执行第一方面所述的方法。
第四方面,本发明实施例提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现第一方面所述的方法。
本发明实施例中,通过获取导航地图,所述导航地图包括移动区域和障碍物区域,若确定所述障碍物区域满足所述目标条件,则根据所述移动区域对应的第一网格图数据和所述障碍物区域对应的第二网格图数据,计算所述目标物体的导航路径;若确定所述障碍物区域不满足所述目标条件,则根据所述移动区域对应的所述第一网格图数据,计算所述目标物体的导航路径。采用本发明的技术方案,可以根据导航地图中障碍物区域满足不同条件时,可以根据预先划分好的网格图数据,快速计算出目标物体的导航路径,而不需要反复去更新网格,再重新生成网格图数据,提高了导航路径的计算效率。
附图说明
为了说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的一种数据处理方法的流程图;
图2为本发明实施例提供的一种第一网格图数据和第二网格的示意图;
图3为本发明实施例提供的一种第一网格图数据与第二网格图数据合并成目标网格图数据的示意图;
图4为本发明实施例提供的一种对障碍物区域对应的第二网格图数据进行标记的示意图;
图5为本发明实施例提供的一种数据处理控制装置的结构示意图;
图6为本发明实施例提供的另一种数据处理装置的结构示意图;
图7为本发明实施例提供的又一种数据处理装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
下面将结合附图1-附图4,对本发明实施例提供的一种数据处理方法进行详细介绍。
请参见图1,为本发明实施例提供的一种数据处理方法的流程示意图。如图1所示,本发明实施例的所述数据处理方法可以包括以下步骤S101-步骤S103。
S101,获取导航地图,所述导航地图包括移动区域和障碍物区域,
在本发明实施中,当前控制的目标物体具有在所述移动区域移动的权限,在所述障碍物区域满足目标条件时,所述目标物体具有在所述障碍物区域移动的权限,该目标物体是指在游戏运行过程中被游戏玩家控制的虚拟角色或者其他游戏角色。其中,该导航地图是指游戏场景地图中目标物体可以移动的区域和障碍物对应的区域,移动区域是指目标物体可以通行的区域,障碍物区域是指目标物体不能通行的区域。导航地图中的障碍物区域指的是可破坏障碍物对应的区域,该可破坏障碍物在游戏运行的过程中可以被游戏玩家控制的目标物体打击破坏,或者游戏中的其他角色打击破坏,当该可破坏障碍物被破坏以后,在特定时间范围内会恢复到被破坏以前的模样。其中,当可破坏障碍物被破坏以后,目标物体可以通过该可破坏障碍物所在的区域;当该可破坏障碍物恢复原状后,目标物体不能通过该恢复原状的可破坏障碍物所在的区域。
可选的,在获取导航地图之后,可以先将导航地图中目标物体可以移动的区域进行网格划分,获取目标物体的可移动区域对应的第一网格图数据。再在导航地图中查找可破坏障碍物,将可破坏障碍物对应的区域进行网格划分,获取可破坏障碍物对应的第二网格图数据。同时,在对可破坏障碍物区域进行网格划分的时候,在获得的第二网格图数据中记录可破坏障碍物的初始状态,一般这些可破坏障碍物的初始状态都为未破坏状态,当然也可能为破坏状态。将第一网格图数据和第二网格图数据导出作为目标物体的寻路文件,用于游戏客户端在游戏初始化过程中直接加载使用。
如图2所示,为本发明实施例提供的一种第一网格图数据和第二网格的示意图,如图所示,可以先对导航地图中目标物体可以移动的区域进行网格划分,得到图2中所示的白色网格区域,即移动区域对应的第一网格图数据。得到导航地图中目标物体可以移动的移动区域对应的第一网格图数据之后,再对导航地图中目标物体不可以通过的可破坏障碍物区域进行网格划分,得到可破坏障碍物区域对应的第二网格图数据。如图2所示,图中的黑色区域P1、P2为可破坏障碍物区域,可以对可破坏障碍物区域P1、可破坏障碍物区域P2进行网格划分,获取可破坏障碍物区域P1、可破坏障碍物区域P2对应的第二网格图数据,并在可破坏障碍物区域P1、P2对应的第二网格图数据中,标记可破坏障碍物区域P1、P2的状态,即破坏状态或者恢复状态。获取导航地图中所有移动区域对应的第一网格图数据和所有可破坏障碍物对应的第二网格图数据,并分别存储所有移动区域对应的第一网格图数据和所有可破坏障碍物对应的第二网格图数据。
S102,若确定所述障碍物区域满足所述目标条件,则根据所述移动区域对应的第一网格图数据和所述障碍物区域对应的第二网格图数据,计算所述目标物体的导航路径;
S103,若确定所述障碍物区域不满足所述目标条件,则根据所述移动区域对应的所述第一网格图数据,计算所述目标物体的导航路径。
其中,障碍物区域满足所述目标条件包括:所述障碍物区域对应的所述第二网格图数据的状态被标记为破坏标记,所述障碍物区域不满足所述目标条件包括:所述障碍物区域对应的所述第二网格图数据的状态被标记为恢复标记。
在游戏运行过程中,若可破坏障碍物区域对应第二网格图数据的状态被标记为破坏标记,则可以直接根据步骤S101中可破坏障碍物区域对应第二网格图数据和移动区域对应的第一网格图数据,计算目标物体的导航路径;若障碍物区域对应的所述第二网格图数据的状态被标记为恢复标记,就不能再根据被标记为恢复标记的第二网格数据计算目标物体的导航路径,则根据步骤S101中移动区域对应的所述第一网格图数据,计算目标物体的导航路径。在本实施例中,可破坏障碍物被破坏或者恢复之后,会实时更新可破坏障碍物对应的第二网格图数据的标记,再依据第二网格图数据的标记确定是否要根据该第二网格图数据,对目标物体的导航路径进行计算,而不用再反复的对可破坏障碍物区域进行网格划分,重新获取出更新后的网格图数据,并且重新对可破坏障碍物区域进行网格划分,重新获取出更新后的网格图数据的计算量太大,有时可能无法实现。
如图3所示,为本发明实施例提供的一种第一网格图数据与第二网格图数据合并成目标网格图数据的示意图,如图所示,当可破坏障碍物区域P1、可破坏障碍物区域P2被破坏之后,目标物体可以在可破坏障碍物区域P1、可破坏障碍物区域P2中通行,则将可破坏障碍物区域P1、可破坏障碍物区域P2对应的第二网格图数据标记为破坏标记,就可以根据第一网格图数据与第二网格图数据合并成目标网格图数据,计算目标物体的导航路径。
可选的,如图4所示,为本发明实施例提供的一种更改第二网格图数据状态方法的示意图,如图所示,本发明实施例的所述游戏场景的显示控制方法可以包括以下步骤S21-步骤S24。
S21,接收第一事件,所述第一事件用于指示所述障碍物区域的状态发生变化,所述第一事件包括所述障碍物区域的当前状态和所述障碍物区域的位置信息,所述当前状态为破坏状态或者恢复状态;
S22,根据所述位置信息,获取所述障碍物区域对应的所述第二网格图数据;
S23,若所述当前状态为破坏状态,则将所述第二网格图数据的状态标记为破坏标记;
S24,若所述当前状态为恢复状态,则将所述第二网格图数据的状态标记为恢复标记。
在本发明实施例中,可以在游戏初始化时,加载出游戏地图之后,加载完用于目标物体的导航路径的网格图数据对于的寻路文件之后,可以注册导航地图中可破坏障碍物对应的回调函数。
在游戏运行过程中,当游戏场景中某个可破坏障碍物被目标物体或者其他游戏虚拟角色打击破坏以后,在先注册的回调函数会接受到该被破坏了的可破坏障碍物发送的第一事件,该第一事件用于指示所述障碍物区域的状态发生变化,所述第一事件包括所述障碍物区域的当前状态和所述障碍物区域的位置信息,所述当前状态为破坏状态或者恢复状态。回调函数接收到该可破坏障碍物对应的第一事件之后,根据第一事件中记录的该可破坏障碍物的位置信息,获取该可破坏障碍物区域对于的第二网格图数据。其中,在获取可破坏障碍物区域对于的第二网格数据之后,会根据第一事件中记录的可破坏障碍物对应的当前状态,对可破坏障碍物对应的第二网格数据进行标记。若可破坏障碍物区域当前状态为破坏状态,则将所述第二网格图数据的状态标记为破坏标记,若可破坏障碍物的当前状态为恢复状态,则将所述第二网格图数据的状态标记为恢复标记。其中,但多个可破坏障碍物同时被破坏时,会分别发出多个第一事件,每个可破坏障碍物对应的第一事件中会记录各自的地理位置信息以及当前状态,调用在先注册的回调函数,对各自对应的第二网格图数据进行标记,实时更新用于计算目标物体的导航路径的目标网格图数据。
可选的,障碍物区域为多边形,所述位置信息为所述障碍物区域的多个顶点中每个顶点的位置信息。可以根据第一事件中记录的可破坏障碍物区域的位置信息,获取所述障碍物区域对应的所述第二网格图数据。
可选的,可以根据所述障碍物区域的多个顶点中每个顶点的位置信息,计算所述障碍物区域的中心位置,将每个可破坏障碍物区域对应的中心坐标存储,再根据中心位置的坐标查找与所述障碍物区域的中心位置对应的所述第二网格图数据,减少计算量。其中,在计算可破坏障碍物区域的中心坐标时可以利用Hash算法进行计算。
在本实施例中,当可破坏障碍物被破坏而将可破坏障碍物区域对应的第二网格数据标记为破坏标记之后,可以根据所述移动区域对应的第一网格图数据和所述障碍物区域对应的第二网格图数据,计算所述目标物体的导航路径。
如图3所示,当可破坏障碍物区域P1、可破坏障碍物区域P2被破坏,将对应的第二网格数据标记为破坏标记以后,可以对第一网格图数据和第二网格图数据进行合并处理,得到目标网格图数据,根据目标网格图数据,计算目标物体的导航路径。当可破坏障碍物区域对应的第二网格数据标记为破坏标记以后,目标物体可以通过第一网格图数据对应的可破坏障碍物区域,也可以从可破坏障碍物区域中通过到达移动区域。因此可以根据所述移动区域对应的第一网格图数据和所述障碍物区域对应的第二网格图数据合并处理后得到的目标网格图数据,计算所述目标物体的导航路径。其中,当障碍物区域没有被破坏的时候,目标物体不能通过可破坏障碍物区域,即不能根据该没有被破坏的可破坏障碍物区域对应的第二网格图数据计算目标物体的导航路径。其中,被破坏了的可破坏障碍物在一定时间后会恢复原状,也会发送第一事件调用在先注册的回调函数,将恢复原状的可破坏区域对应的第二网格图数据标记为恢复标记,此时,目标物体不能通过该恢复原状的可破坏障碍物的区域,则不能根据该可破坏障碍物区域对应的第二网格图数据计算目标物体的导航路径。
在本实施例中,通过获取导航地图,所述导航地图包括移动区域和障碍物区域,若确定所述障碍物区域满足所述目标条件,则根据所述移动区域对应的第一网格图数据和所述障碍物区域对应的第二网格图数据,计算所述目标物体的导航路径;若确定所述障碍物区域不满足所述目标条件,则根据所述移动区域对应的所述第一网格图数据,计算所述目标物体的导航路径。采用本发明的技术方案,可以根据导航地图中障碍物区域满足不同条件时,可以根据预先划分好的网格图数据,快速计算出目标物体的导航路径,而不需要反复去更新网格,再重新生成网格图数据,提高了导航路径的计算效率。
请参见图5,为本发明实施例提供了一种数据源处理装置的结构示意图。如图5所示,本发明实施例的所述一种数据处理装置可以包括:
第一获取模块11,用于获取导航地图,所述导航地图包括移动区域和障碍物区域,当前控制的目标物体具有通过所述移动区域的权限,在所述障碍物区域满足目标条件时,所述目标物体具有通过所述障碍物区域的权限;
在本发明实施中,当前控制的目标物体具有在所述移动区域移动的权限,在所述障碍物区域满足目标条件时,所述目标物体具有在所述障碍物区域移动的权限。其中,该导航地图是指游戏场景地图中目标物体可以移动的区域和可破坏障碍物对应的区域,移动区域是指目标物体可以通行的区域,障碍物区域是指目标物体不能通行的可破坏障碍物区域。导航地图中的障碍物区域指的是可破坏障碍物对应的区域,该可破坏障碍物在游戏运行的过程中可以被游戏玩家控制的目标物体打击破坏,或者游戏中的其他角色打击破坏,当该可破坏障碍物被破坏以后,在特定时间范围内会恢复到被破坏以前的模样。其中,当可破坏障碍物被破坏以后,目标物体可以通过该可破坏障碍物所在的区域;当该可破坏障碍物恢复原状后,目标物体不能通过该恢复原状的可破坏障碍物所在的区域。
第一计算模块12,用于若确定所述障碍物区域满足所述目标条件,则根据所述移动区域对应的第一网格图数据和所述障碍物区域对应的第二网格图数据,计算所述目标物体的导航路径;
所述第二计算模块包括得到单元、第一计算单元;
得到单元,用于对所述第一网格图数据和所述第二网格图数据进行合并处理,得到目标网格图数据;
第一计算单元,用于根据所述目标网格图数据,计算所述目标虚拟角色的导航路径。
第二计算模块13,用于若确定所述障碍物区域不满足所述目标条件,则根据所述移动区域对应的所述第一网格图数据,计算所述目标物体的导航路径。
在本发明实施中,当前控制的目标物体具有在所述移动区域移动的权限,在所述障碍物区域满足目标条件时,所述目标物体具有在所述障碍物区域移动的权限。其中,该导航地图是指游戏场景地图中目标物体可以移动的区域和障碍物对应的区域,移动区域是指目标物体可以通行的区域,障碍物区域是指目标物体不能通行的区域。导航地图中的障碍物区域指的是可破坏障碍物对应的区域,该可破坏障碍物在游戏运行的过程中可以被游戏玩家控制的目标物体打击破坏,或者游戏中的其他角色打击破坏,当该可破坏障碍物被破坏以后,在特定时间范围内会恢复到被破坏以前的模样。其中,当可破坏障碍物被破坏以后,目标物体可以通过该可破坏障碍物所在的区域;当该可破坏障碍物恢复原状后,目标物体不能通过该恢复原状的可破坏障碍物所在的区域。
可选的,在获取导航地图之后,可以先将导航地图中目标物体可以移动的区域进行网格划分,获取目标物体的可移动区域对应的第一网格图数据。再在导航地图中查找可破坏障碍物,将可破坏障碍物对应的区域进行网格划分,获取可破坏障碍物对应的第二网格图数据。同时,在对可破坏障碍物区域进行网格划分的时候,在获得的第二网格图数据中记录可破坏障碍物的初始状态,一般这些可破坏障碍物的初始状态都为未破坏状态,当然也可能为破坏状态。将用于计算目标物体的导航路径的网格图数据导出作为目标物体的寻路文件,用于游戏客户端在游戏初始化过程中直接加载使用。
如图2所示,为本发明实施例提供的一种第一网格图数据和第二网格图数据的示意图,如图所示,可以先对导航地图中目标物体可以移动的区域进行网格划分,得到图2中所示的白色网格区域,即移动区域对应的第一网格图数据。得到导航地图中目标物体可以移动的移动区域对应的第一网格图数据之后,再对导航地图中目标物体不可以通过的可破坏障碍物区域进行网格划分,得到可破坏障碍物区域对应的第二网格图数据。如图2所示,图中的黑色区域P1、P2为可破坏障碍物区域,可以对可破坏障碍物区域P1、可破坏障碍物区域P2进行网格划分,获取可破坏障碍物区域P1、可破坏障碍物区域P2对应的第二网格图数据,并在可破坏障碍物区域P1、P2对应的第二网格图数据中,标记可破坏障碍物区域P1、P2的状态,即破坏状态或者恢复状态。获取导航地图中所有移动区域对应的第一网格图数据和所有可破坏障碍物对应的第二网格图数据。
其中,障碍物区域满足所述目标条件包括:所述障碍物区域对应的所述第二网格图数据的状态被标记为破坏标记,所述障碍物区域不满足所述目标条件包括:所述障碍物区域对应的所述第二网格图数据的状态被标记为恢复标记。
在游戏运行过程中,若可破坏障碍物区域对应第二网格图数据的状态被标记为破坏标记,则可以直接根据可破坏障碍物区域对应第二网格图数据和移动区域对应的第一网格图数据,计算目标物体的导航路径;若障碍物区域对应的所述第二网格图数据的状态被标记为恢复标记,就不会再根据被标记为恢复标记的第二网格数据计算目标物体的导航路径,则根据移动区域对应的所述第一网格图数据和其他被标记为破坏标记的第二网格图数据,计算目标物体的导航路径。在本实施例中,可破坏障碍物被破坏或者恢复之后,实时更新可破坏障碍物对应的第二网格图数据的标记,再根据第二网格图数据的标记,对目标物体的导航路径进行计算,而不用再反复的对可破坏障碍物区域进行网格划分,重新获取出更新后的总网格图数据,并且重新对可破坏障碍物区域进行网格划分,重新获取出更新后的总网格图数据的计算量太大,有时可能无法实现。
如图3所示,为本发明实施例提供的一种第一网格图数据与第二网格图数据合并成目标网格图数据的示意图,如图所示,当可破坏障碍物区域P1、可破坏障碍物区域P2被破坏之后,目标物体可以在可破坏障碍物区域P1、可破坏障碍物区域P2中通行,则将可破坏障碍物区域P1、可破坏障碍物区域P2对应的第二网格图数据标记为破坏标记,根据第一网格图数据与第二网格图数据合并成目标网格图数据,计算目标物体的导航路径。
具体内容请参看图1实施例的描述,在此不再累述。
在本实施例中,通过获取导航地图,所述导航地图包括移动区域和障碍物区域,若确定所述障碍物区域满足所述目标条件,则根据所述移动区域对应的第一网格图数据和所述障碍物区域对应的第二网格图数据,计算所述目标物体的导航路径;若确定所述障碍物区域不满足所述目标条件,则根据所述移动区域对应的所述第一网格图数据,计算所述目标物体的导航路径。采用本发明的技术方案,可以根据导航地图中障碍物区域满足不同条件时,可以根据预先划分好的网格图数据,快速计算出目标物体的导航路径,而不需要反复去更新网格,再重新生成网格图数据,提高了导航路径的计算效率。
如图6所示,为本发明实施例提供的另一种数据处理装置的结构示意图,如图所示,本发明实施例提供的数据处理装置包括:第一获取模块21、接受模块22、第二获取模块23、第一标记模块24、第一计算模块25、第二标记模块26、第二计算模块27;其中,第一获取模块21、第一计算模块25、第二计算模块27请参照图5实施例的描述,在此不再赘述。
接受模块22,用于接收第一事件,所述第一事件用于指示所述障碍物区域的状态发生变化,所述第一事件包括所述障碍物区域的当前状态和所述障碍物区域的位置信息,所述当前状态为破坏状态或者恢复状态;
第二获取模块23,用于根据所述位置信息,获取所述障碍物区域对应的所述第二网格图数据;
所述第二获取模块包括第二计算单元、查找单元;
第二计算单元,用于根据所述障碍物区域的多个顶点中每个顶点的位置信息,计算所述障碍物区域的中心位置;
查找单元,用于查找与所述障碍物区域的中心位置对应的所述第二网格图数据。第一标记模块24,用于若所述当前状态为破坏状态,则将所述第二网格图数据的状态标记为破坏标记;第一标记模块24,用于若所述当前状态为破坏状态,则将所述第二网格图数据的状态标记为破坏标记;
第二标记模块26,用于若所述当前状态为恢复状态,则将所述第二网格图数据的状态标记为恢复标记。
在本发明实施例中,可以在游戏初始化时,加载出游戏地图之后,加载完用于目标物体的导航路径的网格图数据对于的寻路文件之后,可以注册导航地图中可破坏障碍物对应的回调函数。
在游戏运行过程中,当游戏场景中某个可破坏障碍物区域被目标物体或者其他虚拟角色打击破坏以后,在先注册的回调函数会接受到该可破坏障碍物区域发送的第一事件,该第一事件用于指示所述障碍物区域的状态发生变化,所述第一事件包括所述障碍物区域的当前状态和所述障碍物区域的位置信息,所述当前状态为破坏状态或者恢复状态。回调函数接受到该可破坏障碍物对应的第一事件之后,根据第一事件中记录的该可破坏障碍物的位置信息,在第一网格图数据和第二网格图数据组成的总网格图数据中,获取该可破坏障碍物区域对于的第二网格图数据。其中,在获取可破坏障碍物区域对于的第二网格数据之后,会根据第一事件中记录的可破坏障碍物对应的当前状态,对可破坏障碍物对应的第二网格数据进行标记。若可破坏障碍物区域当前状态为破坏状态,则将所述第二网格图数据的状态标记为破坏标记,若可破坏障碍物的当前状态为恢复状态,则将所述第二网格图数据的状态标记为恢复标记。其中,但多个可破坏障碍物同时被破坏时,会分别发出对应的第一事件,记录各自的地理位置信息以及当前状态,调用在先注册的回调函数,对对应的第二网格图数据进行标记,实时更新用于计算目标物体的导航路径的目标网格图数据。
可选的,障碍物区域为多边形,所述位置信息为所述障碍物区域的多个顶点中每个顶点的位置信息。在根据第一事件中记录的可破坏障碍物区域的位置信息,获取所述障碍物区域对应的所述第二网格图数据方法中,可以根据所述障碍物区域的多个顶点中每个顶点的位置信息,计算所述障碍物区域的中心位置,再根据中心位置的坐标查找与所述障碍物区域的中心位置对应的所述第二网格图数据,减少计算量。其中,在计算可破坏障碍物区域的中心坐标时可以利用Hash算法进行计算。
在本实施例中,当可破坏障碍物被破坏而将可破坏障碍物区域对应的第二网格数据标记为破坏标记之后,可以根据所述移动区域对应的第一网格图数据和所述障碍物区域对应的第二网格图数据,计算所述目标物体的导航路径。
如图3所示,当可破坏障碍物区域P1、可破坏障碍物区域P2被破坏,将对应的第二网格数据标记为破坏标记以后,可以对第一网格图数据和第二网格图数据进行合并处理,得到目标网格图数据,根据目标网格图数据,计算目标物体的导航路径。当可破坏障碍物区域对应的第二网格数据标记为破坏标记以后,目标物体可以通过第一网格图数据对应的可破坏障碍物区域,也可以从可破坏障碍物区域中通过到达移动区域。因此可以根据所述移动区域对应的第一网格图数据和所述障碍物区域对应的第二网格图数据闭合处理后得到的目标网格图数据,计算所述目标物体的导航路径。其中,当障碍物区域没有被破坏的时候,目标物体不能通过可破坏障碍物区域,即不能根据该没有被破坏的可破坏障碍物区域对应的第二网格图数据计算目标物体的导航路径。其中,被破坏了的可破坏障碍物在一定时间后会恢复原状,也会发送第一事件调用在先注册的回调函数,将恢复原状的可破坏区域对应的第二网格图数据标记为恢复标记,此时,目标物体不能通过该恢复原状的可破坏障碍物的区域,则不能根据该可破坏障碍物区域对应的第二网格图数据计算目标物体的导航路径。
具体内容请参看图1实施例的描述,在此不再累述。
在本实施例中,通过获取导航地图,所述导航地图包括移动区域和障碍物区域,若确定所述障碍物区域满足所述目标条件,则根据所述移动区域对应的第一网格图数据和所述障碍物区域对应的第二网格图数据,计算所述目标物体的导航路径;若确定所述障碍物区域不满足所述目标条件,则根据所述移动区域对应的所述第一网格图数据,计算所述目标物体的导航路径。采用本发明的技术方案,可以根据导航地图中障碍物区域满足不同条件时,可以根据预先划分好的网格图数据,快速计算出目标物体的导航路径,而不需要反复去更新网格,再重新生成网格图数据,提高了导航路径的计算效率。
请参照图7,为本发明实施例提供的又一种数据处理装置的结构示意图,如图7所示,所述数据处理装置1000可以包括:至少一个处理器1001,例如CPU,至少一个通信接口1003,存储器1004,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。通信接口1003可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1004可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1004可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图7所示,作为一种计算机存储介质的存储器1004中可以包括操作系统、网络通信模块以及程序指令。
在图7所示的数据处理装置1000中,处理器1001可以用于加载存储器1004中存储的程序指令,并具体执行以下操作:
获取导航地图,所述导航地图包括移动区域和障碍物区域,当前控制的目标物体具有在所述移动区域移动的权限,在所述障碍物区域满足目标条件时,所述目标物体具有在所述障碍物区域移动的权限;
若确定所述障碍物区域满足所述目标条件,则根据所述移动区域对应的第一网格图数据和所述障碍物区域对应的第二网格图数据,计算所述目标物体的导航路径;
若确定所述障碍物区域不满足所述目标条件,则根据所述移动区域对应的所述第一网格图数据,计算所述目标物体的导航路径。
在一种可能实现的实施例中,所述障碍物区域满足所述目标条件包括:所述障碍物区域对应的所述第二网格图数据的状态被标记为破坏标记;
所述障碍物区域不满足所述目标条件包括:所述障碍物区域对应的所述第二网格图数据的状态被标记为恢复标记。
在一种可能实现的实施例中,所述根据所述移动区域对应的第一网格图数据和所述障碍物区域对应的第二网格图数据,计算所述目标物体的导航路径,包括:
对所述第一网格图数据和所述第二网格图数据进行合并处理,得到目标网格图数据;
根据所述目标网格图数据,计算所述目标物体的导航路径。
在一种可能实现的实施例中,所述方法还包括:
接收第一事件,所述第一事件用于指示所述障碍物区域的状态发生变化,所述第一事件包括所述障碍物区域的当前状态和所述障碍物区域的位置信息,所述当前状态为破坏状态或者恢复状态;
根据所述位置信息,获取所述障碍物区域对应的所述第二网格图数据;
若所述当前状态为破坏状态,则将所述第二网格图数据的状态标记为破坏标记;
若所述当前状态为恢复状态,则将所述第二网格图数据的状态标记为恢复标记。
在一种可能实现的实施例中,所述障碍物区域为多边形,所述位置信息为所述障碍物区域的多个顶点中每个顶点的位置信息;
所述根据所述位置信息,获取所述障碍物区域对应的所述第二网格图数据,包括:
根据所述障碍物区域的多个顶点中每个顶点的位置信息,计算所述障碍物区域的中心位置;
查找与所述障碍物区域的中心位置对应的所述第二网格图数据。
本发明实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图1所示实施例的方法步骤,具体执行过程可以参见图1所示实施例的具体说明,在此不进行赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。

Claims (10)

1.一种数据处理方法,其特征在于,包括:
获取导航地图,所述导航地图包括移动区域和障碍物区域,当前控制的目标物体具有在所述移动区域移动的权限,在所述障碍物区域满足目标条件时,所述目标物体具有在所述障碍物区域移动的权限;
若确定所述障碍物区域满足所述目标条件,则根据所述移动区域对应的第一网格图数据和所述障碍物区域对应的第二网格图数据,计算所述目标物体的导航路径;
若确定所述障碍物区域不满足所述目标条件,则根据所述移动区域对应的所述第一网格图数据,计算所述目标物体的导航路径。
2.如权利要求1所述的方法,其特征在于,所述障碍物区域满足所述目标条件包括:所述障碍物区域对应的所述第二网格图数据的状态被标记为破坏标记;
所述障碍物区域不满足所述目标条件包括:所述障碍物区域对应的所述第二网格图数据的状态被标记为恢复标记。
3.如权利要求1所述的方法,其特征在于,所述根据所述移动区域对应的第一网格图数据和所述障碍物区域对应的第二网格图数据,计算所述目标物体的导航路径,包括:
对所述第一网格图数据和所述第二网格图数据进行合并处理,得到目标网格图数据;
根据所述目标网格图数据,计算所述目标物体的导航路径。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
接收第一事件,所述第一事件用于指示所述障碍物区域的状态发生变化,所述第一事件包括所述障碍物区域的当前状态和所述障碍物区域的位置信息,所述当前状态为破坏状态或者恢复状态;
根据所述位置信息,获取所述障碍物区域对应的所述第二网格图数据;
若所述当前状态为破坏状态,则将所述第二网格图数据的状态标记为破坏标记;
若所述当前状态为恢复状态,则将所述第二网格图数据的状态标记为恢复标记。
5.如权利要求4所述的方法,其特征在于,所述障碍物区域为多边形,所述位置信息为所述障碍物区域的多个顶点中每个顶点的位置信息;
所述根据所述位置信息,获取所述障碍物区域对应的所述第二网格图数据,包括:
根据所述障碍物区域的多个顶点中每个顶点的位置信息,计算所述障碍物区域的中心位置;
查找与所述障碍物区域的中心位置对应的所述第二网格图数据。
6.一种数据处理装置,其特征在于,包括:
第一获取模块,用于获取导航地图,所述导航地图包括移动区域和障碍物区域,当前控制的目标物体具有通过所述移动区域的权限,在所述障碍物区域满足目标条件时,所述目标物体具有通过所述障碍物区域的权限;
第一计算模块,用于若确定所述障碍物区域满足所述目标条件,则根据所述移动区域对应的第一网格图数据和所述障碍物区域对应的第二网格图数据,计算所述目标物体的导航路径;
第二计算模块,用于若确定所述障碍物区域不满足所述目标条件,则根据所述移动区域对应的所述第一网格图数据,计算所述目标物体的导航路径。
7.如权利要求6所述的装置,其特征在于,所述障碍物区域满足所述目标条件包括:所述障碍物区域对应的所述第二网格图数据的状态被标记为破坏标记;
所述障碍物区域不满足所述目标条件包括:所述障碍物区域对应的所述第二网格图数据的状态被标记为恢复标记。
8.如权利要求7所述的装置,其特征在于,所述第一计算模块包括:
得到单元,用于对所述第一网格图数据和所述第二网格图数据进行合并处理,得到目标网格图数据;
第一计算单元,用于根据所述目标网格图数据,计算所述目标物体的导航路径。
9.一种数据处理装置,其特征在于,包括处理器、存储器以及通信接口,所述处理器、存储器和通信接口相互连接,其中,所述通信接口用于接收和发送数据,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,执行如权利要求1至6任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现权利要求1至6任一项所述的方法。
CN201911242834.2A 2019-12-06 2019-12-06 数据处理方法及装置 Active CN110935175B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911242834.2A CN110935175B (zh) 2019-12-06 2019-12-06 数据处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911242834.2A CN110935175B (zh) 2019-12-06 2019-12-06 数据处理方法及装置

Publications (2)

Publication Number Publication Date
CN110935175A true CN110935175A (zh) 2020-03-31
CN110935175B CN110935175B (zh) 2023-07-25

Family

ID=69909098

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911242834.2A Active CN110935175B (zh) 2019-12-06 2019-12-06 数据处理方法及装置

Country Status (1)

Country Link
CN (1) CN110935175B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113786623A (zh) * 2021-09-17 2021-12-14 上海米哈游璃月科技有限公司 一种导航网格更新方法、装置和系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108088455A (zh) * 2017-12-14 2018-05-29 山东中图软件技术有限公司 一种导航方法
CN109568959A (zh) * 2019-01-12 2019-04-05 孙伟乐 一种支持游戏内大量单位同时寻路的方法
US20190212751A1 (en) * 2016-09-18 2019-07-11 SZ DJI Technology Co., Ltd. Method and system for operating a movable object to avoid obstacles
CN110220524A (zh) * 2019-04-23 2019-09-10 炬星科技(深圳)有限公司 路径规划方法、电子设备、机器人及计算机可读存储介质
CN110320902A (zh) * 2018-03-30 2019-10-11 丰田自动车株式会社 路径计划装置、路径计划方法及计算机可读介质
CN110375742A (zh) * 2019-07-25 2019-10-25 广州景瑞智能科技有限公司 一种动态路径智能规划方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190212751A1 (en) * 2016-09-18 2019-07-11 SZ DJI Technology Co., Ltd. Method and system for operating a movable object to avoid obstacles
CN108088455A (zh) * 2017-12-14 2018-05-29 山东中图软件技术有限公司 一种导航方法
CN110320902A (zh) * 2018-03-30 2019-10-11 丰田自动车株式会社 路径计划装置、路径计划方法及计算机可读介质
CN109568959A (zh) * 2019-01-12 2019-04-05 孙伟乐 一种支持游戏内大量单位同时寻路的方法
CN110220524A (zh) * 2019-04-23 2019-09-10 炬星科技(深圳)有限公司 路径规划方法、电子设备、机器人及计算机可读存储介质
CN110375742A (zh) * 2019-07-25 2019-10-25 广州景瑞智能科技有限公司 一种动态路径智能规划方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113786623A (zh) * 2021-09-17 2021-12-14 上海米哈游璃月科技有限公司 一种导航网格更新方法、装置和系统
CN113786623B (zh) * 2021-09-17 2024-07-23 上海米哈游璃月科技有限公司 一种导航网格更新方法、装置和系统

Also Published As

Publication number Publication date
CN110935175B (zh) 2023-07-25

Similar Documents

Publication Publication Date Title
CN110955242B (zh) 机器人导航方法、系统、机器人及存储介质
CN112595337B (zh) 避障路径规划方法、装置、电子装置、车辆及存储介质
CN111680747B (zh) 用于占据栅格子图的闭环检测的方法和装置
CN113495940B (zh) 道路区域校正装置、道路区域校正方法以及能够由计算机读取的记录介质
CN113029167B (zh) 一种地图数据处理方法、地图数据处理装置及机器人
US20230410433A1 (en) Navigation mesh update
CN113570727B (zh) 场景文件的生成方法、装置、电子设备及存储介质
CN113189989B (zh) 车辆意图预测方法、装置、设备及存储介质
CN113110462A (zh) 障碍物信息的处理方法及装置、作业设备
CN110935175B (zh) 数据处理方法及装置
CN115326051A (zh) 一种基于动态场景的定位方法、装置、机器人及介质
CN113591216B (zh) 挖掘机工作模式确定方法、系统及挖掘机
CN116993785B (zh) 目标对象视觉跟踪方法、装置、电子设备及存储介质
CN115779424B (zh) 一种导航网格寻路方法、装置、设备及介质
CN113377814A (zh) 一种路径信息获取方法、装置、电子设备和可读介质
CN116642508A (zh) 一种改进a星算法的路径规划方法,装置及机器人
JP7359207B2 (ja) 多角形検索方法
CN114863300A (zh) 一种最短路径生成方法及装置
CN112711012B (zh) 一种激光雷达定位系统的全局位置初始化方法及系统
CN114339155A (zh) 抓拍漏洞路线确定方法和相关装置
Gruppi et al. An Efficient and Topologically Correct Map Generalization Heuristic.
CN112667648A (zh) 地形动态更新方法、装置、电子设备和可读存储介质
CN111383300A (zh) 一种导航代价图的更新方法、装置及设备
CN116383451B (zh) 一种地图分割方法、装置、电子设备及存储介质
CN113255600B (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