CN113244619B - 数据处理方法、装置、设备及存储介质 - Google Patents
数据处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113244619B CN113244619B CN202110697886.XA CN202110697886A CN113244619B CN 113244619 B CN113244619 B CN 113244619B CN 202110697886 A CN202110697886 A CN 202110697886A CN 113244619 B CN113244619 B CN 113244619B
- Authority
- CN
- China
- Prior art keywords
- node
- target
- obstacle
- tree structure
- virtual object
- 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/50—Controlling the output signals based on the game progress
- A63F13/53—Controlling 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/537—Controlling 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/5375—Controlling 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
-
- 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/57—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
- A63F13/577—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using determination of contact between game characters or objects, e.g. to avoid collision between virtual racing cars
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Optics & Photonics (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请实施例提供了一种数据处理方法、装置、设备及存储介质,涉及游戏、人工智能、云技术及区块链技术领域。该方法包括:获取目标虚拟对象在虚拟场景中的当前位置;基于基准位置重复执行对虚拟场景中基准位置的周向进行障碍物检测,根据障碍物检测结果确定目标虚拟对象的移动方向,控制目标虚拟对象按照移动方向移动第一设定距离,并将移动后的位置作为新的基准位置的操作,直至满足预设条件,并基于获取的所有基准位置,确定虚拟场景中虚拟地图的可移动区域,以基于该可移动区域对虚拟场景中的第一虚拟对象进行导航,其中,初始的基准位置为当前位置。基于本申请实施例提供的方案,能够有效提高虚拟场景的探索效率,大幅度降低人力成本。
Description
技术领域
本申请涉及游戏、人工智能、云技术及区块链领域,具体而言,本申请涉及一种数据处理方法、装置、设备及存储介质。
背景技术
随着科学技术的快速发展,游戏产业作为网络产品的标杆产物,也得到了迅速的发展,游戏场景越来越宏大,玩法也越来越高级。
由于游戏场景的不断扩大,游戏场景中地图的个数也越来越多,游戏地图的自动化探索是游戏AI的重要组成部分,能用于游戏的性能测试和bug(漏洞)测试。目前,常用的游戏地图探索方法都需要人力参与,比如,由人工标注每张地图中的移动关键点序列,随后控制游戏AI(Artificial Intelligence,人工智能)沿着预先定义好的关键点序列进行移动,从而实现对游戏地图的探索。虽然现有方法一定程度上能够满足需求,但都会耗费大量的人力成本,探索效率也较低。
发明内容
本申请的目的旨在提供一种数据处理方法、装置、设备及存储介质,能够实现对虚拟场景中虚拟地图的自动化探索、提高探索效率。为了实现该目的,本申请实施例提供的技术方案如下:
一个方面,本申请实施例提供了一种数据处理方法,该方法包括:
获取目标虚拟对象在虚拟场景中的当前位置;
基于基准位置重复执行以下操作,直至满足预设条件,并基于获取的所有基准位置,确定虚拟场景中虚拟地图的可移动区域,以基于虚拟地图的可移动区域对虚拟场景中的第一虚拟对象进行导航,其中,初始的基准位置为当前位置:
对虚拟场景中基准位置的周向进行障碍物检测,根据障碍物检测结果确定目标虚拟对象的移动方向,控制目标虚拟对象按照该移动方向移动第一设定距离,并将移动后的位置作为新的基准位置。
另一方面,本申请实施例提供了一种数据处理装置,该装置包括:
位置获取模块,用于获取目标虚拟对象在虚拟场景中的当前位置;
区域探索模块,用于基于基准位置重复执行以下操作,直至满足预设条件,并基于获取的所有基准位置,确定虚拟场景中的可移动区域,以基于虚拟地图的可移动区域对虚拟场景中的第一虚拟对象进行导航,其中,初始的基准位置为当前位置:
对虚拟场景中基准位置的周向进行障碍物检测,根据障碍物检测结果确定目标虚拟对象的移动方向,控制目标虚拟对象按照移动方向移动第一设定距离,并将移动后的位置作为新的基准位置。
可选的,区域探索模块在对虚拟场景中基准位置的周向进行障碍物检测,根据障碍物检测结果确定目标虚拟对象的移动方向时,可以用于:
对基准位置周向的至少一个指定方向进行障碍物检测,得到每个指定方向的障碍物检测结果;将障碍物检测结果为不存在障碍物的指定方向,作为目标虚拟对象的移动方向。
可选的,区域探索模块可以用于:以基准位置为起始点,通过分别向各指定方向发射设定长度的射线进行障碍物检测,得到各指定方向的障碍物检测结果。
可选的,区域探索模块在根据障碍物检测结果确定目标虚拟对象的移动方向时可以用于:
若障碍物检测结果中存在检测结果为不存在障碍物的指定方向,则将不存在障碍物的各指定方向作为候选移动方向,将任一候选移动方向作为目标虚拟对象的移动方向;
若各指定方向的障碍物检测结果均为存在障碍物,则重复执行以下步骤,直至确定出目标虚拟对象的移动方向:
将基准位置作为初始的第一位置,控制目标虚拟对象移动至第一位置之前的所在位置,若该所在位置存在其他候选移动方向,则将任一其他候选移动方向作为目标虚拟对象的移动方向,若该所在位置不存在其他候选移动方向,则将该所在位置作为新的第一位置;
其中,其他候选方向是指该所在位置对应的各候选移动方向中未作为过目标虚拟对象的移动方向的方向。
可选的,区域探索模块可以用于:
将当前位置作为树形结构的根节点,构建树形结构;基于树形结构中的目标节点,重复执行以下操作,直至满足预设条件,初始的目标节点为根节点:
对目标节点周向的至少一个指定方向进行障碍物检测,得到每个指定方向的障碍物检测结果;对于每个指定方向,若该方向的障碍物检测结果为不存在障碍物,则确定该方向所对应的新的位置,并将该新的位置作为目标节点在该方向上的子节点添加到树形结构中,其中,新的位置是若控制目标虚拟对象从目标节点按照该方向移动第一设定距离后的位置;从树形结构的各节点中确定新的目标节点,并控制目标虚拟对象移动至新的目标节点。
可选的,上述满足预设条件包括以下至少一项:
树形结构中没有新的节点生成;
树形结构中各节点在虚拟场景中对应的最长路径长度大于或等于设定长度阈值;
目标虚拟对象在虚拟场景中已移动区域的面积大于或等于设定面积。
可选的,对于每个指定方向,区域探索模块在将该新的位置作为目标节点在该方向上的子节点添加到树形结构时,可以用于:
确定新的位置与树形结构中的各节点的距离;若各节点对应的距离均大于或等于第二设定距离,则将该新的位置作为目标节点在该方向上的子节点添加到树形结构中。
可选的,上述第一设定距离小于或等于设定长度,第二设定距离小于第一设定距离。
可选的,区域探索模块还用于:获取各指定方向的优先级;
区域探索模块在从树形结构的各节点中确定新的目标节点时可以用于:
若当前的目标节点存在至少一个子节点,则按照各指定方向的优先级,将至少一个子节点中对应的方向优先级最高的子节点确定为新的目标节点;
若当前的目标节点不存在子节点,则将当前的目标节点的父节点作为初始的第一节点,并重复执行以下步骤,直至确定出新的目标节点:
若第一节点存在至少一个可选子节点,则按照各指定方向的优先级,将至少一个可选子节点中对应的方向优先级最高的子节点确定为新的目标节点,若第一节点不存在可选子节点,则将第一节点的父节点作为新的第一节点;其中,可选子节点是指第一节点的子节点中未作为过目标节点的节点。
可选的,区域探索模块基于获取的所有基准位置,确定虚拟场景中的虚拟地图的可移动区域时,可以用于:
基于树形结构,构建并保存虚拟场景中虚拟地图对应的无向图结构,无向图结构表征了虚拟场景中可移动区域;
其中,无向图结构中的节点对应于树形结构中的各节点,树形结构中具有父子关系的节点在无向图结构中对应的节点之间具有连边,具有连边的两个节点在无向图结构的相对位置对应于两个节点之间在虚拟地图中的相对方向。
可选的,区域探索模块还可以用于:对于每个指定方向,若指定方向的障碍物检测结果为存在障碍物,获取并记录指定方向的障碍物的相关信息,相关信息包括以下至少一项:
障碍物在虚拟场景中的位置;障碍物的属性信息;障碍物的标识。
可选的,上述相关信息包括障碍物的属性信息;对于每个指定方向,若该指定方向的障碍物检测结果为存在障碍物,区域探索模块还可以用于:
在该指定方向对应的障碍物的属性信息为指定属性信息时,将该指定方向的障碍物检测结果修正为不存在障碍物,其中,在虚拟场景中指定属性信息对应的对象为不阻碍目标虚拟对象移动的对象。
另一个方面,本申请还提供了一种电子设备,该电子设备包括存储器和处理器,其中,存储器中存储有计算机程序,处理器在运行该计算机程序时用于执行本申请任一可选实施例中提供的方法。
另一方面,本申请还提供了一种计算机可读存储介质,该存储介质中存储有计算机程序,该计算机程序在处理器中运行时,处理器用于执行本申请任一可选实施例中提供的方法。
另一方面,本申请提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述本申请任一可选实施例中提供的方法。
本申请提供的技术方案带来的有益效果是:
本申请实施例所提供的方案,通过以目标虚拟对象所在的位置(当前位置或者移动后的位置)为基准位置,对其四周进行障碍物检测,从而可以基于检测结果确定其四周哪些方向可以移动,哪些方向存在障碍物,并可以通过控制目标虚拟对象向可以移动的方向移动后重复执行上述各步骤,基于该方案,可以在无需人工参与的情况下,实现对虚拟场景中虚拟地图的自动化探索,探索出虚拟地图的可行区域。与现有技术相比,本申请实施例提供的方案,能够有效提高地图探索的效率,大幅降低人工成本。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种数据处理方法的流程示意图;
图2为本申请一示例中提供的一种在虚拟场景中发射射线的示意图;
图3为本申请一示例中提供的一种构建树形结构的原理示意图;
图4为本申请一示例中的一种树形结构的示意图;
图5为本申请一示例中提供的一种虚拟地图中的可行区域对应的图结构的示意图;
图6为本申请一可选实施例中提供的一种数据处理方法的流程示意图;
图7为本申请一示例中提供的一种虚拟场景中存在斜坡时发射射线的示意图;
图8为本申请一示例中提供的一种确定目标虚拟对象在虚拟场景中移动后的位置的原理示意图;
图9为本申请一示例中提供的一种构建虚拟场景对应的树形结构的原理示意图;
图10为本申请实施例提供的一种数据处理装置的结构示意图;
图11为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本申请是针对现有游戏地图探索方式所存在的探索效率低、人力成本耗费大的问题,而提出的一种数据处理方法、装置、设备及存储介质,基于该方案,可以通过控制游戏角色(即目标虚拟对象)进行游戏场景的自动化探索,知晓虚拟场景中的地图的可行区域,从而可以在后续将该自动化的探索结果用于游戏中虚拟对象的导航,比如,控制虚拟对象移动到特定目标位置。
本申请实施例的方案涉及到人工智能技术,如游戏AI,基于本申请实施例的方案,能够帮助游戏AI知晓地图中哪些区域可以移动,从而可以实现游戏场景中AI的导航。例如,可以包括但不限于通过游戏AI控制目标虚拟对象在虚拟场景中的移动。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习、自动驾驶、智慧交通等几大方向。
本申请实施例提供的方案所适用的游戏可以是传统游戏(需要下载安装的游戏),也可以是云游戏(Cloud gaming)。本申请实施例的方案可以基于云技术实现,比如,本申请实施例中所涉及的数据处理/计算可以采用云计算技术实现。在
可选的,本申请提供的该数据处理方法中所涉及的数据(比如基于目标虚拟对象的位置所构建的树形结构、无向图结构等)可以保存于区块链中。对于具有多个游戏服务器的游戏服务平台而言,多个游戏服务器可以组成一个区块链,而游戏服务器为区块链上的节点,比如,对于云游戏而言,云游戏服务平台的大量云端设备(如云游戏服务器、管理服务器、边缘服务器等)可以组成一个区块链。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图1示出了本申请实施例提供的一种数据处理方法的流程示意图,该方法可以任一计算机设备执行,如可以是游戏测试人员使用的终端设备,对于云游戏而言,该计算设备可以是云游戏服务平台的云游戏设备。如图1中所示,该方法可以包括以下步骤:
步骤S110:获取目标虚拟对象在虚拟场景中的当前位置;
目标虚拟对象可以是由计算机设备控制的任一虚拟对象,虚拟对象的类型本申请实施例也不做限定,如可以是虚拟玩家角色、也可以是NPC(non-player character,非玩家角色),对象的形态也不做限定,可以是人、动物或者其他对象。
其中,虚拟场景可以是游戏中的虚拟场景即游戏场景。游戏的类型本申请实施例不做限定,只要是游戏场景中包含地图,游戏中的对象可以在游戏场景中移动的游戏即可,如可以是动作、冒险、模拟、角色扮演等任意的游戏类型,比如可以是枪战类游戏。
对于目标虚拟对象,可以通过游戏接口获取目标虚拟对象在虚拟场景(也就是游戏场景)中的位置,也就是位置坐标,该位置坐标通常是一个三维向量,表示游戏场景中虚拟地图的三维坐标(也就是常说的x坐标、y坐标和z坐标)。其中,目标虚拟对象的位置可以是该对象的指定部位的位置,比如,目标虚拟对象可以是虚拟人物,其在游戏场景中的位置可以是该虚拟人物的头部的位置坐标。
步骤S120:基于基准位置重复执行对虚拟场景中基准位置的周向进行障碍物检测,根据障碍物检测结果确定目标虚拟对象的移动方向,控制目标虚拟对象按照移动方向移动第一设定距离,并将移动后的位置作为新的基准位置的操作,直至满足预设条件,其中,初始的基准位置为当前位置;
步骤S130:基于获取的所有基准位置,确定虚拟场景中虚拟地图的可移动区域,以基于虚拟地图的可移动区域对虚拟场景中的第一虚拟对象进行导航。
在获取到目标虚拟对象的当前位置之后,可以以该位置为初始的基准位置,对虚拟场景中该目标虚拟对象的周向进行障碍物检测,也就是检测该对象的四周是否存在障碍物,确定其四周哪些方向是可以移动的方向。通过障碍物检测确定出该对象四周可以移动的方向之后,可以控制该目标虚拟对象按照可以移动的方向移动第一设定距离,之后,则可以将该对象移动后的位置作为新的基准位置,重复执行上述障碍物检测、确定移动方向、控制对象按照移动方向移动第一设定距离的步骤,并将再次移动后的位置作为新的基准位置,再次重复上述步骤,直至满足预设条件。
上述预设条件可以根据实际应用需求配置,本申请实施例不做限定。可选的,上述满足预设条件可以是目标对象在虚拟场景中没有新的可移动方向、没有新的基准位置、目标虚拟对象的移动次数达到设定次数、目标虚拟对象已探索出的最长路径长度(所有基准位置对应的最长路径长度)达到设定长度阈值、目标虚拟对象已探索区域的区域大小(可以根据当前已确定的基准位置计算得到,如将能够包围所有已确定的位置的圆/矩形的面积大小作为已探索区域的大小)达到设定区域大小等条件中的一个或多个。
在对虚拟场景中基准位置的周向进行障碍物检测时,可以是在基准位置周向一定范围内进行,比如,对周向2米范围内的障碍物进行检测,以确定出目标虚拟对象的可移动方向,并可以控制目标虚拟对象移动一定距离。其中,基准位置的周向指的是基准位置的四周/周围方向,也就是以基准位置为起点指向的各个方向,本申请实施例中,可以通过向目标虚拟对象四周的多个方向进行障碍物检测,找出哪些方向是存在障碍物、哪些方向是不存在障碍物的。可以理解的是,为了保证目标虚拟对象在移动过程中不会遇到障碍物,目标虚拟对象移动的距离不大于障碍物检测的范围。可选的,障碍物检测的范围可以基准位置周向2米的范围,第一设定距离可以是2米,基于该方案,可以控制目标虚拟对象在移动尽可能大的距离,又能够避免发生碰撞。
需要说明的是,在实际应用中,障碍物指的是在虚拟场景中会阻碍目标虚拟对象移动的对象,虚拟场景中的哪些对象或者哪些类别的对象属于障碍物,是可以根据实际需求配置的。比如,在游戏场景中,有些对象虽然看上去是障碍物,但是游戏配置中,该对象是目标虚拟对象可以穿过或穿透的对象,则该对象不是障碍物,比如游戏场景中的虚拟火焰在有些游戏场景中是被配置为可穿过的,该虚拟火焰则不属于障碍物,因为不会阻挡目标虚拟对象的移动。
通过不断的重复执行上述步骤S120,可以确定出虚拟场景中的很多基准位置,由于新的基准位置都是从上一次的基准位置按照确定的移动方向移动一定距离后所能够到达的位置,因此,可以基于这些确定出的基准位置,确定出该虚拟场景中的可移动区域(即可行区域)。
其中,第一虚拟对象可以是在虚拟场景中移动的任一虚拟对象,可以是上述目标虚拟对象,也可以上述目标虚拟对象之外的其他对象,如可以是由任意用户的终端设备所控制的虚拟角色。在确定出虚拟地图的可移动区域之后,可以基于确定出的可移动区域,对该虚拟角色在虚拟场景中的移动进行导航,比如根据第一虚拟角色在虚拟场景中的当前位置和虚拟地图的可移动该区域,确定该角色当前的可移动路径,并基于可移动路径对该角色进行指引,虚拟角色的玩家可以通过其终端设备控制该角色在虚拟场景中移动。第一虚拟对象也可以是测试用的虚拟对象,如游戏AI对象,可以基于虚拟地图的可移动区域控制该对象在游戏场景中移动,以进行游戏的性能测试。
基于本申请实施例所提供的方案,可以在快速、有效地实现对虚拟场景中地图的自动化探索,确定出该场景中的可行区域,且该方案可以无需人力参与,与现有技术相比,可以大幅度降低人力成本,并能够有效提高探索效率。
本申请的可选实施例中,上述对虚拟场景中基准位置的周向进行障碍物检测,根据障碍物检测结果确定目标虚拟对象的移动方向,可以包括:
以基准位置为起始点,通过向基准位置周向的至少一个指定方向发射设定长度的射线进行障碍物检测,得到每个指定方向的障碍物检测结果;
将障碍物检测结果为不存在障碍物的指定方向,作为目标虚拟对象的移动方向。
为了降低探索的复杂度,提升虚拟场景中地图的探索效率,在对目标虚拟对象的四周进行障碍物检测时,可以选择对其周向的若干个方向进行障碍物检测。其中,上述至少一个指定方向可以是多个方向,具体是哪几个方向可以根据实际需求配置,本申请实施例不做限定。
需要说明的是,指定方向指的是虚拟场景中的相对方向。可选的,至少一个指定方向可以包括虚拟场景中的北向、南向、西向和东向等,其中,北向、南向、西向和东向这四个方向分别也可以称为前方、后方(或下方)、左方和右方等。对于方向的名称的叫法本申请实施例不做限定,而至于哪个方位是北向、南向、西向和动向通常是预先配置好的。
本申请实施例中,可以通过射线检测的方式对基准位置的周向进行障碍区检测。其中,射线检测就是从一个点或者一个方向,向一个方向发射一条射线,当有碰撞体(即障碍物)的时候就停止并会返回碰撞体信息(也就是本申请实施例中的障碍物信息)。因此,可以通过射线检测的方式对基准位置的周向进行障碍物检测。
其中,在采用射线检测方式时,可以指定需要发射的射线的相关信息,可以包括射线的起始点(本申请实施例中的基准位置)、射线的长度(本申请实施例中的设定长度)、发射方向(本申请实施例中的指定方向)、需要返回的碰撞检测信息(发生碰撞时碰撞体/障碍物的相关信息、未发生碰撞时返回的信息等)等。通过调用游戏引擎的接口,可以基于设定的相关信息,发射一条由基准位置开始、发射方向为指定方向、长度为设定长度的射线,并基于射线的返回信息得到指定方向的障碍物检测结果。比如,如果一个指定方向的射线碰撞到了障碍物,射线的返回信息可以包括该障碍物的属性信息,如障碍物的名称、类别或者障碍物位置等信息中的一项或多项,如果一个指定方向在距离起始点的设定长度内不存在障碍物,射线的返回信息可以是指定信息,如返回空(Null)或者其他特定信息。
其中,上述设定长度指的是以基准位置为起点的射线的长度,射线的防线则为上述指定方向。设定长度的具体取值本申请实施例不做限定,可以根据实际需求配置,比如,可以是2米。为了保证目标虚拟对象在移动过程中不会发生碰撞,设定长度的取值大于或等于第一设定距离。
本申请的可选实施例中,该方法还可以包括:对于每个指定方向,若该指定方向的障碍物检测结果为存在障碍物,获取并记录该指定方向的障碍物的相关信息,该相关信息可以包括以下至少一项:
障碍物在虚拟场景中的位置;障碍物的属性信息;障碍物的标识。
基于该方案,可以对障碍物的相关信息进行记录,以可以在基于虚拟地图的可行区域对在虚拟场景中移动的对象进行导航时,根据障碍物的位置、属性信息等信息进行相应的提示,或者还可以根据与障碍物的相关信息有关的测试需求对虚拟场景进行相应的测试。其中,上述属性信息可以包括但不限于障碍物的类别等信息。
可选的,上述相关信息包括障碍物的属性信息;对于任一指定方向,若该指定方向的障碍物检测结果为存在障碍物,该方法还可以包括:
若指定方向对应的所述障碍物的属性信息为指定属性信息,则将指定方向的障碍物检测结果修正为不存在障碍物,其中,在虚拟场景中所述指定属性信息对应的对象为不阻碍目标虚拟对象移动的对象。
其中,上述指定属性信息可以是一种属性信息、也可以是多种属性信息,上述障碍物的属性信息为指定属性信息可以是障碍物的属性信息是指定属性信息中的任一属性信息,也可以是障碍物的属性信息满足指定属性信息中的所有属性信息或至少两种,具体采用哪种方式,可以根据实际需求配置。由前文的描述可知,对于目标虚拟对象而言,虚拟场景中的有些物体/对象是可以穿过的,在采用射线检测的方式进行障碍物检测时,如果射线的返回信息不是指定信息,还可以根据障碍物的属性信息进一步确定是否真的检测到了障碍物,比如,某个方向上的射线的返回信息中包含的障碍物的类别是瀑布或者火(即指定属性信息包括瀑布和火),而在当前的游戏中游戏角色是可以穿过瀑布或火的,此时,该方向的障碍物检测结果确定为不存在障碍物。
作为一个示例,图2中示出了一种虚拟场景中射线发射的原理示意图,实际的虚拟场景为三维的,图2为一种示意性的三维游戏场景中俯视视角的二维地图,图2中具有斜线填充的区域代表障碍物,白色代表可移动区域,黑色圆点代表当前的基准位置,其中,初始的基准位置为目标虚拟对象的当前位置。在该示意图中,可以以黑色圆点为起始点,向前方、后方、左边、右边(图中所示的前、后、左、右)这四个方向水平发射4条射线,比如,向这四个方向发射设定长度为2米的射线,射线会检测2米内是否遇到障碍物,如果碰撞到障碍物,则返回障碍物的属性(如障碍物的类别),否则返回空,基于每个方向的射线返回信息,可以确定出哪个方向有障碍物,哪个方向上没有障碍物,图2所示的该场景示意图中,基准位置的前方2米内存在障碍物,左边、右边和后方2米内没有障碍物。
本申请的可选实施例中,根据障碍物检测结果确定目标虚拟对象的移动方向,可以包括:
若障碍物检测结果中存在检测结果为不存在障碍物的指定方向,则将不存在障碍物的各指定方向作为候选移动方向,将任一候选移动方向作为目标虚拟对象的移动方向;
若各指定方向的障碍物检测结果均为存在障碍物,则重复执行以下步骤,直至确定出目标虚拟对象的移动方向:
将基准位置作为初始的第一位置,控制目标虚拟对象移动至第一位置之前的所在位置,若该所在位置存在其他候选移动方向,则将任一其他候选移动方向作为目标虚拟对象的移动方向,若该所在位置不存在其他候选移动方向,则将该所在位置作为新的第一位置;
其中,上述其他候选移动方向是指该所在位置对应的各候选移动方向中未作为过目标虚拟对象的移动方向的方向。
在实际应用中,对于当前的基准位置而言,其周向的各指定方向中可能会存在多个不存在障碍物的方向,也可能各指定方向均存在障碍物,对于前一种情况,不存在障碍物的多个方向均可以作为目标虚拟对象的可移动方向(即候选移动方向),任一可移动方向均可以作为当前的移动方向,控制目标虚拟对象按照该方向移动,对于后一种情况,说明目标虚拟对象在当前的基准位置无法再向各指定方向的任一方向移动,此时则可以控制目标虚拟对象移动至之前所在的位置,并基于该位置的其他候选移动方向确定目标虚拟对象的移动方向。
基于本申请实施例提供的该方案,在目标虚拟对象在当前的基准位置无法继续移动时,并不会结束对虚拟地图的探索,而是可以通过重复执行上述步骤,通过控制对象回退至上一位置,再重新确定对象可以的移动方向,实现了对虚拟地图的可行区域尽可能全面的探索。
本申请的可选实施例中,将当前位置作为初始的基准位置,基于基准位置重复执行以下操作,直至满足预设条件,包括:
将当前位置作为树形结构的根节点,构建树形结构;
基于树形结构中的目标节点,重复执行以下操作,直至满足预设条件,初始的目标节点为根节点:
对目标节点周向的至少一个指定方向发射设定长度的射线进行障碍物检测,得到每个指定方向的障碍物检测结果;
对于每个指定方向,若该方向的障碍物检测结果为不存在障碍物,则确定该方向所对应的新的位置,并将该新的位置作为目标节点在该方向上的子节点添加到树形结构中,其中,该新的位置是若控制目标虚拟对象从目标节点按照该方向移动第一设定距离后的位置;
从树形结构的各节点中确定新的目标节点,并控制目标虚拟对象移动至该新的目标节点。
树形结构也可以称为树状结构或树结构,是一个或多个节点的有限集合,树结构可以简明清晰的表征出节点(节点所代表的数据)之间的层次关系,可以方便、快捷的对数结构中的节点进行访问,实现基于树结构中各个节点的进一步的数据处理。
本申请实施例提供的方案,可以实现虚拟场景中虚拟地图的可行区域的快速、自动化的探索,也就是对虚拟地图中的可行路径的探索,而可行路径通常是采用关键点序列表示,关键点序列中的各个关键点表征了虚拟地图中的各个位置,虚拟对象可以从关键点序列中的一个关键点移动至序列中的下一关键点。比如,在游戏场景中,游戏角色可以在游戏场景按照虚拟地图的任一可行路径的关键点序列进行移动。而树形结构是包含一个或多个具有层级关系的节点的集合,因此,可行路径上的每个关键点可以对应于树形结构中的一个节点,关键点序列中的关键点之间移动顺序关系则可以对应于树形结构中节点之间的层次关系,比如,目标虚拟对象从基准位置移动至下一位置,则基准位置和该下一位置对应于属性结构中的两个节点,且下一位置对应的节点为基准位置对应的节点的子节点,表示在虚拟场景中可以从基准位置移动到下一位置。因此,在探索虚拟场景中虚拟地图的可行区域时,可以采用构建树形结构的方式实现,以方便、快捷的实现对树形结构中节点的遍历,探索出树形结构中各节点的子节点,也就是可以从节点对应的位置移动到哪些新的位置。
基于此,本申请的可选实施例中,可以基于目标虚拟对象的当前位置、以及该对象在虚拟场景中移动前后的位置构建相应的树结构,其中,目标虚拟对象的当前位置为树结构的根节点,在虚拟场景中从该当前位置开始目标虚拟对象后续可移动至的位置,为根节点的子节点以及子节点的子节点。在基于目标对象当前的基准位置,确定出该基准位置的哪些指定方向存在障碍物,哪些指定方向不存在障碍物之后,则可以在不存在障碍物的指定方向上新增相应的节点,对于每个新增的节点,该节点虚拟场景中对应的位置是如果控制目标虚拟对象在该方向上移动第一设定距离后所到达的位置。相应的,可以在树结构中选择还未作为过目标节点的节点作为新的目标节点,并将该节点对应的位置作为新的基准位置,再次重新执行对基准位置周向进行障碍物检测、根据障碍物检测结果,确定不存在障碍物的每个指定方向上所对应的新的位置,并将该位置作为对应指定方向上的子节点添加到树形结构中的步骤。
由上述描述可知,本申请实施例中,上述树形结构中的父节点和其子节点之间是具有方向性的,这里的方向性对应的是虚拟场景中上述至少一个指定方向中方向,比如,对于当前的目标节点,若在虚拟场景中的北向不存在障碍物,则可以在树结构中添加一个对应于北向的该目标节点的子节点,也就是说在虚拟场景中,目标虚拟对象可以从目标节点对应的位置向北向移动第一设定距离后达到该子节点对应的位置。
接图2中所示的示例,图3示出了本申请实施例提供一种构建树形结构的原理示意图,图3中所示的节点10对应为目标虚拟对象的当前位置,即图2中的黑色圆点,该当前位置为初始的基准位置,也就是树形结构的根节点,以根节点为初始的目标节点,对虚拟场景中该目标节点的前、后、左、右四个方向分别发射长度为2米的射线,根据射线返回信息确定出前方存在障碍无,其他三个方向没有障碍物,因此,可以在根节点的左、右、后三个方向上添加子节点,如图3中所示,节点21、22和23分别为对应于左、后、右三个方向的子节点,以左方为例,该方向的子节点对应的位置是目标虚拟对象向左移动一定距离后的位置。
需要说明的是,在实际应用中,由于虚拟场景中的地面不一定都是水平的,是有可能是存在坡度的,对于目标虚拟对象而言,需要控制该对象到达实际位置后才能知道准确的高度信息,因此,对于上述子节点而言,该节点在虚拟场景中对应的位置的高度信息(也就是z坐标)可以是该对象在指定方向上水平移动一定距离后再确定,比如,指定方向为左方,第一设定距离为2米,可以获取目标虚拟对象左方水平方向2米位置处的x坐标和y坐标,根据确定出的x坐标和y坐标可以获取到该位置处的z坐标,此时的x坐标、y坐标和z坐标为该方向上的子节点在虚拟场景中对应的位置。
本申请的可选实施例中,上述满足预设条件可以包括以下至少一项:
树形结构中没有新的节点生成;
树形结构中各节点在所述虚拟场景中对应的最长路径长度大于或等于设定长度阈值;
目标虚拟对象在所述虚拟场景中已移动区域的面积大于或等于设定面积。
需要说明的是,满足预设条件可以包括但不限于上述条件中的一个或多个,是可以根据实际需求配置和调整的。其中,上述树形结构中各节点在虚拟场景中对应的最长路径长度,也就是树形结构中各节点在虚拟场景中对应的各位置所对应的所有可行路径中最长的路径的长度。目标虚拟对象在虚拟场景中已移动区域是指该对象在虚拟场景中已经移动到的各位置所对应的区域,比如,已经移动到的各位置所对应的最小外接矩形或者是能够包围各位置的最小外接圆。
可选的,在采用上述构建树形结构的方式时,上述满足预设条件可以包括直至树形结构中没有新的节点生成,也就是说,对应上述基于目标节点不断重复执行障碍物检测、根据检测结果增加树形结构的新的节点的步骤,再选择新的目标节点的操作,其结束的条件可以是树形结构中所有的节点都被遍历到,且没有新的节点生成。
本申请的可选实施例中,该方法还可以包括:
获取各指定方向的优先级;
相应的,上述从树形结构的各节点中确定新的目标节点,可以包括:
若当前的目标节点存在至少一个子节点,则按照各指定方向的优先级,将至少一个子节点中对应的方向优先级最高的子节点确定为新的目标节点;
若当前的目标节点不存在子节点,则将当前的目标节点的父节点作为初始的第一节点,并重复执行以下步骤,直至确定出新的目标节点:
若第一节点存在至少一个可选子节点,则按照各指定方向的优先级,将至少一个可选子节点中对应的方向优先级最高的子节点确定为新的目标节点,若第一节点不存在可选子节点,则将第一节点的父节点作为新的第一节点;其中,上述可选子节点是指第一节点的子节点中未作为过目标节点的节点。
由树形结构的构建和更新过程可知,本申请实施例中,树形结构中的每个节点都是目标虚拟对象从当前位置按照一定方向可以移动至的位置,为了更加全面的探索出虚拟地图中的可行区域,树形结构中的每个节点都可以分别作为目标节点,并对目标节点的周向进行障碍物检测,以探索出目标节点周向的可移动方向。可选的,为了提升虚拟场景中虚拟地图的探索效率,基于上述树形结构,本申请实施例提供了上述可选方式(简称为方式一)来确定树形结构中新的目标节点。具体的,可以预先为上述至少一个指定方向中的各方向设置优先级,该优先级也就是对树形结构中的节点进行遍历时的遍历优先级。比如,至少一个指定方向包括前方、后方、左方和右方,各方向的优先级由高到低的顺序依次为前方、左方、右方和后方,在对树形结构中的节点进行遍历时,也就是从各节点中确定新的目标节点时,优先遍历前向,如果该方向遇到了障碍物,再遍历其余方向。
在对树形结构进行遍历时,遍历的具体方式可以但不限于本申请实施例提供的上述遍历方式,可以预配置相应的遍历策略。比如,还可以按照各节点添加到树形结构中的顺序,依次将各节点作为目标节点,也可以按照树形结构中各节点所在的层级,先对树形结构中同一层级的节点进行依次访问(即作为目标节点),在对同一层的节点都访问之后再对下一层级的节点进行访问,也就是说,从根节点开始,根节点作为初始的目标节点,随着树形结构的更新(也就是树形结构中新的节点的增加),再依次将根节点的各个子节点(简称为第一层子节点)作为目标节点,之后,再依次将第一层子节点的各子节点作为目标节点,通过重复这种方式实现对树形结构中所有节点的遍历。
而本申请可选实施例所提供的上述方式一,是以树形结构的深度方向优先对树形结构中的节点进行遍历,相比于其他遍历的方式,该方式一可以有效减少遍历所消耗的时间成本(也就是目标虚拟对象移动所消耗的时间),提高遍历效率。
作为一个示例,图4示出了一个树形结构的示意图,图4中的节点E为该树形结构的根节点,如果采用上述方式一,图4中树形结构的遍历路径(即遍历顺序)为:E→B→A→B→C→B→E→D→E→F→G→F→H,如果采用上述按照节点所在层级的遍历方式,遍历路径为E→B→E→D→E→F→E→B→A→B→C→B→E→F→G→F→H,可见,采用方式一完成对图4中所示的树形结构的遍历需要移动12次,采用另一种遍历的方式需要16次,方式一减少了目标虚拟对象的移动时间成本,提高了虚拟地图的探索效率。
需要说明的是,在实际应用中,控制目标虚拟对象移动的操作和确定各新的位置的操作(也就是在树形结构中添加子节点的操作)的执行顺序并不唯一的,比如,在确定出存在障碍物的各可行方向(即不存在障碍物的各指定方向)之后,可根据各可行方向的优先级,控制目标虚拟对象向优先级最高的可行方向移动第一设定距离,此时该方向对应的新的位置也就是目标移动对象移动后的所在的位置,可将在树形结构中添加该位置对应的子节点。可以并行的或者按照设定执行顺序,确定其他可行方向对应的新的位置,并添加对应的子节点。可见,控制目标虚拟对象移动和确定各可行方向对应的信的位置的顺序是可以调整和配置的。
本申请的可选实施例中,对于每个指定方向,将该新的位置作为目标节点在该方向上的子节点添加到树形结构中,可以包括:
确定新的位置与树形结构中的各节点的距离;
若各节点对应的距离均大于或等于第二设定距离,则将该新的位置作为目标节点在该方向上的子节点添加到树形结构中。
考虑到在实际游戏场景中,一般距离比较近的两个位置之间通常不存在障碍物,且在进行障碍物检测时,树形结构中的每个节点都会被遍历,因此,如果一个新的位置与树形结构中已经存在的某个节点的距离比较近,即小于第二设定距离,则可以无需在树形结构中增加该新的位置对应的节点,以提高场景的探索效率。
基于该方案,对于某个指定方向,如果在该方向上一定距离内不存在障碍物,但该方向所对应的新的位置与树形结构中其他各个节点中任一节点的距离小于或等于第二设定距离,则可以不在树形结构新增该新的位置对应的子节点,以减少树形结构中节点的数量,减少探索的复杂度,进一步提高探索效率。
其中,第二设定距离的取值可以根据需求配置,可选的,第一设定距离小于或等于设定长度,第二设定距离小于第一设定距离。例如,所发射的射线的设定长度可以是2米,在采用发射射线的方式进行障碍物检测时,可以检测基准位置周向2米范围内(即射线的设定长度是2米)的障碍物信息,根据障碍物检测结果可以每次控制目标虚拟对象向不存在障碍物的方向移动1米(即第一设定距离为1米),上述第二设定距离可选为1米。
本申请的可选实施例中,上述基于获取的所有基准位置,确定虚拟场景中的虚拟地图的可移动区域,包括:
基于树形结构,构建并保存虚拟场景中虚拟地图对应的无向图结构,无向图结构表征了虚拟场景中可移动区域;
其中,无向图结构中的节点对应于树形结构中的各节点,树形结构中具有父子关系的节点在无向图结构中对应的节点之间具有连边,具有连边的两个节点在无向图结构的相对位置对应于两个节点之间在虚拟地图中的相对方向。
由前文描述可知,在对虚拟场景地图进行探索的过程中,目标虚拟对象的移动是按照指定方向从一个位置移动到另一个位置,基于目标虚拟对象的初始位置(即前文中的当前位置)和大量移动后的位置所构建的上述树形结构中,节点之间的也是对应有方向性的。而在实际的游戏场景中,从一个位置A可以移动到另一个位置B,那反过来也是可以从位置B移动到位置A的,也就是说,在虚拟场景的可行区域中,虚拟对象的可移动方向不是单一的,因此,完成虚拟场景的探索之后,根据所构建得到的树形结构是可以知晓出四周相邻节点之间是否存在障碍物,没有障碍物的则可以将两个节点相连从而得图结构(无向图),基于该图结构便可以知道虚拟场景中地图的可行区域,从而可以将该图结构应用于虚拟场景做游戏角色的导航等。
作为一个示例,图5中示出了图2中所示的虚拟场景中对应的无向图结构的示意图,图5中的黑色填充的矩形区域对应于图2中的斜线填充区域,也就是存虚拟场景中存在障碍物的区域即不可行区域。图5中的每个圆为无向图结构中的一个节点,每个节点对应虚拟场景中的一个具体位置,具有黑色填充的圆对应初始的基准位置,具有连线的节点之间是可以通行的。基于本申请实施例提供的方案,可以快速有效的生成虚拟场景中可行区域的图结构,能够在无需人力成本的情况下实现虚拟场景的自动化探索,其中,虚拟场景可以是任意的虚拟场景,比如,可以是游戏中新的游戏场景,也基于该方案,实现对新的游戏场景中地图的可行区域的自动化探索。
为了更加系统的说明和理解本申请提供的方案,下面结合一个具体的应用场景对本申请的一种可选实施例进行说明。本申请提供的方案适用于任意需要进行虚拟场景中可行区域探索的场景中,该可选实施例中以对枪战游戏中的游戏场景进行探索为例进行说明。在枪战游戏中为了更好的满足用户需求,提升用户的游戏体验,在游戏中经常会经常推出新的游戏场景,会出现新的游戏地图,或者对原有游戏场景中的地图进行更新。基于本申请提供的方案可以实现对游戏场景中的自动化地图探索,能够用于游戏的性能测试和漏洞测试。
图6中示出了该可选实施例中提供的一种游戏场景的数据处理方法的流程示意图,计算机设备(如测试人员的终端设备或云游戏设备)如图6中所示,该可选实施例中提供的该方法可以包括以下步骤S61至步骤S66。
步骤S61:获取游戏角色位置;
其中,游戏角色即目标虚拟对象,游戏角色位置为目标虚拟对象的当前位置(初始位置),游戏角色可以是任意由计算机设备控制的虚拟对象。启动并进入枪战游戏后,可以通过游戏接口获取游戏角色在游戏场景的位置坐标,得到的数据是一个三维向量,表示地图的x坐标、y坐标和z坐标,该位置坐标即为游戏角色的初始位置,将游戏角色进入场景的该初始位置设置为树(即树形结构)的根节点。可选的,本实施例中的游戏角色可以为虚拟的人物角色,游戏角色的位置可以是该人物角色的头部位置。
步骤S62:多方向发射射线;
步骤S63:障碍物检测;
步骤S62和步骤S63用于进行游戏角色四周的障碍物检测,以确定游戏角色可以移动的方向。该步骤的多方向即前文中的至少一个指定方向,本实施例中该多方向以游戏场景中的前方、后方、左方和右方为例。在获取到游戏角色的初始位置之后,以游戏角色的头部为中心,向前方、后方、左方、右方这四个方向水平发射4条射线,如图2中所示的示意图。本实施例中,射线的长度我2米,发射射线后,射线会检测2米内是否遇到障碍物,如果碰撞到障碍物,则返回障碍物的属性(如障碍物的类别),否则返回空。
本实施例中,设置为2米的原因是考虑地图中存在上坡地段,如果设置的距离过长,会导致射线碰撞到地面,从而返回对应方向有障碍物的错误结果,但只是存在坡度,实际是可移动的,同时枪战游戏的人物角色身高一般为1.8米左右,场景的坡度一般不超过45度,设置2米距离可以避免射线碰撞到带坡度的地面。
如图7中所示的一种存在坡度的虚拟场景中的射线碰撞检测的示意图,图7中虚拟人物角色的身高为1.8米,坡度α为45度,如果以人物角色的头部为起始点发射射线,射线的长度在超出2.5米的情况下才会与坡度的地面发生碰撞,因此,射线长度设置为2米可以避免上述障碍物检测有误的情况出现。
当然,在实际应用中,对于不同的应用需求,本申请实施例中所涉及的各种条件参数,包括但不限于第一设定距离、射线长度、第二设定距离、预设条件等都是可以根据实际需求配置和调整的。比如,想要探索虚拟场景中对于高度为1米的游戏角色的可行区域,可以根据该游戏角色的高度调整射线长度的取值。
步骤S64:构建树节点;
该步骤是基于射线检测的结果,在上述树形结构中添加子节点。通过上述步骤S620和步骤S630的射线检测步骤,可以确定一个方向上2米的距离内是否存在障碍物。对于每个方向而言,如果方向没有障碍物,且其与树中其余节点的距离均大于1米,则可以记录该方向2米(第一设定距离)位置的x坐标和y坐标,并获取该记录的坐标处所对应的z坐标(坐标对应高度信息),此时的x坐标、y坐标和z坐标就是该方向上新的位置。
作为一个示例,图8中示出了一种确定上述新的位置的示意图,假设游戏角色的当前位置为图8中所示的位置1,其位置坐标为(x1,y1,z1),游戏角色的右方2米内不存在障碍物,如果游戏角色向该方向水平移动两米,移动后的x坐标和y坐标分别为(x1+2,y1+2),由于当前位置右方1米位置处存在坡度为45度的上坡,所以新位置的z坐标不再是z1,而是变为了z1+1,因此,新的位置坐标为(x1+2,y1+2,z1+1)。
仍以图2为例,由于当前位置的前方存在障碍,而左方、右方和后方没有检测到障碍物,所以在这三个方向上新建了树节点,添加了新的节点后的树结构如图3所示。此时,新的目标节点(即下一次发射射线的起始点)可以是新增加的节点中的任意节点。
步骤S65:树节点遍历;
本实施例中,上述四个指定方向的优先级为:优先级最高的方向是前方,随后是左方、右方、下方。为了提升探索的效率,按照各方向的优先级,对树形结构采用上述方式一进行遍历。如图3中所示的树结构,由于前方存在障碍物,所以不存在该方向上的子节点,左方、右方和下方都存在对应的子节点,而左方的优先级是这三个方向上优先级最高的方向,因此,首先被遍历到的节点是左方对应的节点,即图3中的节点21,也就是说,节点21是此时的目标节点,也就是新的基准位置。
在确定出新的目标节点之后,则可以基于该目标节点,重复执行步骤S62至64,具体的,以该新的节点对应的位置为起始点,通过向多个方向分别发射射线进行障碍物检测、确定出不存在障碍物的各个方向、确定不存在障碍物的各个方向对应的新的位置、并基于各个方向上的新的位置在树形结构中新建对应的树节点,之后,基于上述方式一,再次确定新的目标节点,再次重复上述各步骤,直至没有新的节点生成。
仍以图3中所示的树结构为例,在将节点21、节点22和节点23作为根节点的子节点添加到树结构中之后,控制游戏角色移动至节点21对应的位置,将左方的节点21所对应的位置作为起始点(也就是将此时游戏角色的头部位置为起始点),向前方、后方、左方和右方分别发射射线,假设节点21的前方存在障碍物,左方、右方和后方不存在障碍物,则可以确定节点21这三个方向对应的新的位置,也就是如果目标虚拟对象向这三个方向分别水平移动2米之后的位置,并基于这三个新的位置分别添加节点21的子节点。
在实际应用中,由图3中也可以看出,节点21对应的根节点10向左水平移动2米后的位置,相应的,根节点10是节点21向右水平移动2米的位置,因此,在基于新的节点发射射线时,可以不向该节点的父节点对应的方向发射射线,因为不发射射线就可以确定新的节点到其父节点的方向是没有障碍物的,可以节省计算机设备的资源,由于探索虚拟场景的目的是为了能够确定虚拟场景中虚拟地图的可行区域,新节点和其父节点之间对应的路径已经可以确定是可行的,因此,此时也无需在该方向上添加新的节点的子节点。在基于节点21完成障碍物检测后,添加了新节点31和新节点32的树结构如图9所示。之后,基于方式一和各个方向的优先级关系,则可以控制游戏角色移动至节点31对应的位置,也就是节点31为新的目标节点,并重复上述过程,直至所有节点都没有新的子节点产生。
步骤S66:构建游戏场景的图结构。
通过不断重复执行遍历树结构中的节点,基于射线检测方式生成新的节点,直至没有新的节点生成的步骤,得到最终的树结构,由于树结构中的各节点都是基于障碍物检测结果所添加的节点,因此,从树结构本身就可以知晓每个节点与其四周相邻节点之间是否存在障碍物,不存在障碍物则可以通过将两个节点相连从而得到树结构所对应的无向图结构。如图5中所示的无向图结构的示意图,从无向图结构中可以很清晰明了的看出游戏场景中的可行区域。基于该图结构,可以帮助游戏AI知道地图中哪些区域可以移动,哪些区域存在障碍物,从而实现AI的导航,如根据地图中的可行区域,控制游戏角色从一个位置移动到目标位置。
对于本申请实施例所提供的方案,将该方案在游戏上进行了测试,通过测试发现,与现有技术相比,本申请实施例提供的方案能够大大提升游戏场景中地图的探索效率,实现对地图的快速探索,更好的满足了应用需求,从而实现游戏AI的导航。
本申请实施例所提供的数据处理方法,在对虚拟场景中的虚拟地图探索的过程中,考虑了目标虚拟对象之前的移动轨迹,同时可以采用射线检测的方式确定出各指定方向上是否存在障碍物,进一步的,如果存在障碍物信息,还可以基于射线返回信息获取障碍物的位置,能得到更精准的障碍物信息。
基于与图1中所示的方法相同的原理,本申请实施例还提供了一种数据处理装置,如图10中所示,该数据处理装置100可以包括位置获取模块110和区域探索模块120。其中:
位置获取模块110,用于获取目标虚拟对象在虚拟场景中的当前位置;
区域探索模块120,用于基于基准位置重复执行以下操作,直至满足预设条件,并基于获取的所有基准位置,确定虚拟场景中的虚拟地图的可移动区域,以基于该虚拟地图的可移动区域对虚拟场景中的第一虚拟对象进行导航,其中,初始的基准位置为当前位置:
对虚拟场景中基准位置的周向进行障碍物检测,根据障碍物检测结果确定目标虚拟对象的移动方向,控制目标虚拟对象按照移动方向移动第一设定距离,并将移动后的位置作为新的基准位置。
可选的,区域探索模块在对虚拟场景中基准位置的周向进行障碍物检测,根据障碍物检测结果确定目标虚拟对象的移动方向时,可以用于:
对基准位置周向的至少一个指定方向进行障碍物检测,得到每个指定方向的障碍物检测结果;将障碍物检测结果为不存在障碍物的指定方向,作为目标虚拟对象的移动方向。
可选的,区域探索模块可以用于:以基准位置为起始点,通过分别向各指定方向发射设定长度的射线进行障碍物检测,得到各指定方向的障碍物检测结果。
可选的,区域探索模块在根据障碍物检测结果确定目标虚拟对象的移动方向时可以用于:
若障碍物检测结果中存在检测结果为不存在障碍物的指定方向,则将不存在障碍物的各指定方向作为候选移动方向,将任一候选移动方向作为目标虚拟对象的移动方向;
若各指定方向的障碍物检测结果均为存在障碍物,则重复执行以下步骤,直至确定出目标虚拟对象的移动方向:
将基准位置作为初始的第一位置,控制目标虚拟对象移动至第一位置之前的所在位置,若该所在位置存在其他候选移动方向,则将任一其他候选移动方向作为目标虚拟对象的移动方向,若该所在位置不存在其他候选移动方向,则将该所在位置作为新的第一位置;
其中,其他候选方向是指该所在位置对应的各候选移动方向中未作为过目标虚拟对象的移动方向的方向。
可选的,区域探索模块在可以用于:
将当前位置作为树形结构的根节点,构建树形结构;基于树形结构中的目标节点,重复执行以下操作,直至满足预设条件,初始的目标节点为根节点:
对目标节点周向的至少一个指定方向进行障碍物检测,得到每个指定方向的障碍物检测结果;对于每个指定方向,若该方向的障碍物检测结果为不存在障碍物,则确定该方向所对应的新的位置,并将该新的位置作为目标节点在该方向上的子节点添加到树形结构中,其中,新的位置是若控制目标虚拟对象从目标节点按照该方向移动第一设定距离后的位置;从树形结构的各节点中确定新的目标节点,并控制目标虚拟对象移动至新的目标节点。
可选的,上述满足预设条件包括以下至少一项:
树形结构中没有新的节点生成;
树形结构中各节点在虚拟场景中对应的最长路径长度大于或等于设定长度阈值;
目标虚拟对象在虚拟场景中已移动区域的面积大于或等于设定面积。
可选的,对于每个指定方向,区域探索模块在将该新的位置作为目标节点在该方向上的子节点添加到树形结构时,可以用于:
确定新的位置与树形结构中的各节点的距离;若各节点对应的距离均大于或等于第二设定距离,则将将该新的位置作为目标节点在该方向上的子节点添加到树形结构中。
可选的,上述第一设定距离小于或等于设定长度,第二设定距离小于第一设定距离。
可选的,区域探索模块还可以用于:
获取各指定方向的优先级;
区域探索模块在从树形结构的各节点中确定新的目标节点时,可以用于:
若当前的目标节点存在至少一个子节点,则按照各指定方向的优先级,将至少一个子节点中对应的方向优先级最高的子节点确定为新的目标节点;
若当前的目标节点不存在子节点,则将当前的目标节点的父节点作为初始的第一节点,并重复执行以下步骤,直至确定出新的目标节点:
若第一节点存在至少一个可选子节点,则按照各指定方向的优先级,将至少一个可选子节点中对应的方向优先级最高的子节点确定为新的目标节点,若第一节点不存在可选子节点,则将第一节点的父节点作为新的第一节点;
其中,可选子节点是指第一节点的子节点中未作为过目标节点的节点。
可选的,区域探索模块基于获取的所有基准位置,确定虚拟场景中的虚拟地图的可移动区域时,可以用于:
基于树形结构,构建并保存虚拟场景中虚拟地图对应的无向图结构,无向图结构表征了虚拟场景中可移动区域;
其中,无向图结构中的节点对应于树形结构中的各节点,树形结构中具有父子关系的节点在无向图结构中对应的节点之间具有连边,具有连边的两个节点在无向图结构的相对位置对应于两个节点之间在虚拟地图中的相对方向。
可选的,区域探索模块还可以用于:对于每个指定方向,若指定方向的障碍物检测结果为存在障碍物,获取并记录指定方向的障碍物的相关信息,相关信息包括以下至少一项:
障碍物在虚拟场景中的位置;障碍物的属性信息;障碍物的标识。
可选的,上述相关信息包括障碍物的属性信息;对于每个指定方向,若该指定方向的障碍物检测结果为存在障碍物,区域探索模块还可以用于:
在该指定方向对应的障碍物的属性信息为指定属性信息时,将该指定方向的障碍物检测结果修正为不存在障碍物,其中,在虚拟场景中指定属性信息对应的对象为不阻碍目标虚拟对象移动的对象。
可以理解的是,本申请实施例提供的数据处理装置100可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该装置可以是一个应用软件/程序插件,计算机设备通过运行该软件或者程序插件可以用于执行本申请实施例提供的数据处理方法中的相应步骤。
需要说明的是,作为一可选方式,本申请提供的上述装置100可以采用软硬件结合的方式实现,作为示例,本发明实施例提供的该装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的数据处理方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific IntegratedCircuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
作为另一可选方式,本发明提供的该数据处理装置100可以采用软件方式实现,可以是程序和插件等形式的软件,并包括一系列的模块,如上述位置获取模块110和区域探索模块120,位置获取模块110和区域探索模块120用于实现本申请实施例提供的方法。
其中,用于实现本申请实施例提供的方法的软件可以运行于任意电子设备中,该设备通过运行该软件实现对虚拟场景中虚拟地图的自动化探索。
本申请实施例还提供了一种电子设备,该电子设备可以包括至少一个存储器和至少一个处理器,其中,存储器中存储有计算机程序,处理器可以运行该计算机程序,处理器在运行该计算机程序时,可以实现本申请任一可选实施例中所提供的方法。
作为一可选实施例,图11中示出了本申请实施例所适用的一种电子设备的结构示意图,如图11所示,该电子设备4000可以包括处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。可选地,电子设备4000还可以包括收发器4004,收发器4004可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,在实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本申请实施例的限定。
处理器4001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器4003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器4003用于存储执行本申请方案的应用程序代码(计算机程序),并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的应用程序代码/计算机程序,以实现本申请前述方法实施例中所示的内容。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。
基于与本申请实施例提供的方法相同的原理,本申请实施例还提供了一种本计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述本申请任一可选实施例中提供的方法。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (12)
1.一种数据处理方法,其特征在于,包括:
获取目标虚拟对象在虚拟场景中的当前位置;
基于基准位置重复执行以下操作,直至满足预设条件,并基于获取的所有基准位置,确定所述虚拟场景中的虚拟地图的可移动区域,以基于所述虚拟地图的可移动区域对所述虚拟场景中的第一虚拟对象进行导航,其中,初始的基准位置为所述当前位置:
对所述虚拟场景中所述基准位置的周向进行障碍物检测,根据障碍物检测结果确定所述目标虚拟对象的移动方向,控制所述目标虚拟对象按照所述移动方向移动第一设定距离,并将移动后的位置作为新的基准位置;
其中,所述基于基准位置重复执行以下操作,直至满足预设条件,包括:
将所述当前位置作为树形结构的根节点,构建树形结构;
基于所述树形结构中的目标节点,重复执行以下操作,直至满足预设条件,初始的目标节点为所述根节点:
对所述目标节点周向的至少一个指定方向发射设定长度的射线进行障碍物检测,得到每个所述指定方向的障碍物检测结果;
对于每个所述指定方向,若该方向的障碍物检测结果为不存在障碍物,则确定该方向所对应的新的位置,并将该新的位置作为所述目标节点在该方向上的子节点添加到所述树形结构中,其中,所述新的位置是若控制所述目标虚拟对象从所述目标节点按照该方向移动所述第一设定距离后的位置;
从所述树形结构的各节点中确定新的目标节点,并控制所述目标虚拟对象移动至所述新的目标节点;
其中,对于每个所述指定方向,所述将该新的位置作为所述目标节点在该方向上的子节点添加到所述树形结构中,包括:
确定所述新的位置与所述树形结构中的各节点的距离;
若各所述节点对应的所述距离均大于或等于第二设定距离,则将该新的位置作为所述目标节点在该方向上的子节点添加到所述树形结构中。
2.根据权利要求1所述的方法,其特征在于,所述对所述虚拟场景中所述基准位置的周向进行障碍物检测,根据障碍物检测结果确定所述目标虚拟对象的移动方向,包括:
以所述基准位置为起始点,通过向所述基准位置周向的至少一个指定方向发射设定长度的射线进行障碍物检测,得到每个所述指定方向的障碍物检测结果;
将所述障碍物检测结果为不存在障碍物的指定方向,作为所述目标虚拟对象的移动方向。
3.根据权利要求2所述的方法,其特征在于,所述根据障碍物检测结果确定所述目标虚拟对象的移动方向,包括:
若所述障碍物检测结果中存在检测结果为不存在障碍物的指定方向,则将不存在障碍物的各指定方向作为候选移动方向,将任一候选移动方向作为所述目标虚拟对象的移动方向;
若各所述指定方向的所述障碍物检测结果均为存在障碍物,则重复执行以下步骤,直至确定出所述目标虚拟对象的移动方向:
将所述基准位置作为初始的第一位置,控制所述目标虚拟对象移动至所述第一位置之前的所在位置,若该所在位置存在其他候选移动方向,则将任一所述其他候选移动方向作为所述目标虚拟对象的移动方向,若该所在位置不存在其他候选移动方向,则将该所在位置作为新的第一位置;
其中,所述其他候选移动方向,是指该所在位置对应的各候选移动方向中未作为过所述目标虚拟对象的移动方向的方向。
4.根据权利要求1所述的方法,其特征在于,所述满足预设条件包括以下至少一项:
所述树形结构中没有新的节点生成;
所述树形结构中各节点在所述虚拟场景中对应的最长路径长度大于或等于设定长度阈值;
所述目标虚拟对象在所述虚拟场景中已移动区域的面积大于或等于设定面积。
5.根据权利要求1所述的方法,其特征在于,所述第一设定距离小于或等于所述设定长度,所述第二设定距离小于所述第一设定距离。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取各所述指定方向的优先级;
所述从所述树形结构的各节点中确定新的目标节点,包括:
若当前的目标节点存在至少一个子节点,则按照各所述指定方向的优先级,将所述至少一个子节点中对应的方向优先级最高的子节点确定为新的目标节点;
若当前的目标节点不存在子节点,则将当前的目标节点的父节点作为初始的第一节点,并重复执行以下步骤,直至确定出新的目标节点:
若所述第一节点存在至少一个可选子节点,则按照各所述指定方向的优先级,将所述至少一个可选子节点中对应的方向优先级最高的子节点确定为新的目标节点,若所述第一节点不存在可选子节点,则将所述第一节点的父节点作为新的第一节点;
其中,所述可选子节点是指所述第一节点的子节点中未作为过目标节点的节点。
7.根据权利要求1所述的方法,其特征在于,所述基于获取的所有基准位置,确定所述虚拟场景中的虚拟地图的可移动区域,包括:
基于所述树形结构,构建并保存所述虚拟场景中虚拟地图对应的无向图结构,所述无向图结构表征了所述虚拟场景中可移动区域;
其中,所述无向图结构中的节点对应于所述树形结构中的各节点,所述树形结构中具有父子关系的节点在所述无向图结构中对应的节点之间具有连边,具有连边的两个节点在所述无向图结构的相对位置对应于所述两个节点之间在所述虚拟地图中的相对方向。
8.根据权利要求1-7中任一项所述的方法,其特征在于,还包括:
对于每个所述指定方向,若所述指定方向的障碍物检测结果为存在障碍物,获取并记录所述指定方向的障碍物的相关信息,所述相关信息包括以下至少一项:
所述障碍物在所述虚拟场景中的位置;所述障碍物的属性信息;所述障碍物的标识。
9.根据权利要求8所述的方法,其特征在于,所述相关信息包括所述障碍物的属性信息;
对于任一所述指定方向,若所述指定方向的障碍物检测结果为存在障碍物,所述方法还包括:
若所述指定方向对应的所述障碍物的属性信息为指定属性信息,则将所述指定方向的障碍物检测结果修正为不存在障碍物,其中,在所述虚拟场景中所述指定属性信息对应的对象为不阻碍所述目标虚拟对象移动的对象。
10.一种数据处理装置,其特征在于,包括:
位置获取模块,用于获取目标虚拟对象在虚拟场景中的当前位置;
区域探索模块,用于基于基准位置重复执行以下操作,直至满足预设条件,并基于获取的所有基准位置,确定所述虚拟场景中虚拟地图的可移动区域,以基于虚拟地图的可移动区域对虚拟场景中的第一虚拟对象进行导航,其中,初始的基准位置为所述当前位置:
对所述虚拟场景中所述基准位置的周向进行障碍物检测,根据障碍物检测结果确定所述目标虚拟对象的移动方向,控制所述目标虚拟对象按照所述移动方向移动第一设定距离,并将移动后的位置作为新的基准位置;
其中,所述基于基准位置重复执行以下操作,直至满足预设条件,包括:
将所述当前位置作为树形结构的根节点,构建树形结构;
基于所述树形结构中的目标节点,重复执行以下操作,直至满足预设条件,初始的目标节点为所述根节点:
对所述目标节点周向的至少一个指定方向发射设定长度的射线进行障碍物检测,得到每个所述指定方向的障碍物检测结果;
对于每个所述指定方向,若该方向的障碍物检测结果为不存在障碍物,则确定该方向所对应的新的位置,并将该新的位置作为所述目标节点在该方向上的子节点添加到所述树形结构中,其中,所述新的位置是若控制所述目标虚拟对象从所述目标节点按照该方向移动所述第一设定距离后的位置;
从所述树形结构的各节点中确定新的目标节点,并控制所述目标虚拟对象移动至所述新的目标节点;
其中,对于每个所述指定方向,所述将该新的位置作为所述目标节点在该方向上的子节点添加到所述树形结构中,包括:
确定所述新的位置与所述树形结构中的各节点的距离;
若各所述节点对应的所述距离均大于或等于第二设定距离,则将该新的位置作为所述目标节点在该方向上的子节点添加到所述树形结构中。
11.一种电子设备,其特征在于,包括存储器和处理器,其中,所述存储器中存储有计算机程序,所述处理器在运行所述计算机程序时用于执行权利要求1至9中任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序,所述计算机程序在处理器中运行时,所述处理器用于执行权利要求1至9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110697886.XA CN113244619B (zh) | 2021-06-23 | 2021-06-23 | 数据处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110697886.XA CN113244619B (zh) | 2021-06-23 | 2021-06-23 | 数据处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113244619A CN113244619A (zh) | 2021-08-13 |
CN113244619B true CN113244619B (zh) | 2022-11-18 |
Family
ID=77189319
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110697886.XA Active CN113244619B (zh) | 2021-06-23 | 2021-06-23 | 数据处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113244619B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113797543B (zh) * | 2021-09-27 | 2023-06-23 | 腾讯科技(深圳)有限公司 | 游戏处理方法、装置、计算机设备、存储介质及程序产品 |
CN114367110B (zh) * | 2022-01-10 | 2023-06-20 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN115445200A (zh) * | 2022-09-19 | 2022-12-09 | 上海米哈游天命科技有限公司 | 返回点的生成方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106964156A (zh) * | 2017-03-24 | 2017-07-21 | 腾讯科技(深圳)有限公司 | 一种寻路方法以及装置 |
CN110193198A (zh) * | 2019-05-23 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 对象跳跃控制方法、装置、计算机设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120067185A (ko) * | 2010-12-15 | 2012-06-25 | 한국전자통신연구원 | 실시간 길찾기 장치 및 방법 |
-
2021
- 2021-06-23 CN CN202110697886.XA patent/CN113244619B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106964156A (zh) * | 2017-03-24 | 2017-07-21 | 腾讯科技(深圳)有限公司 | 一种寻路方法以及装置 |
CN110193198A (zh) * | 2019-05-23 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 对象跳跃控制方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113244619A (zh) | 2021-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113244619B (zh) | 数据处理方法、装置、设备及存储介质 | |
CN106949893B (zh) | 一种三维避障的室内机器人导航方法和系统 | |
CN109701273B (zh) | 游戏数据的处理方法、装置、电子设备及可读存储介质 | |
CN109509210B (zh) | 障碍物跟踪方法和装置 | |
EP3798974B1 (en) | Method and apparatus for detecting ground point cloud points | |
CN111275816B (zh) | 获取点云数据的方法及相关设备 | |
US20080231628A1 (en) | Utilizing Ray Tracing for Enhanced Artificial Intelligence Path-Finding | |
WO2022127258A1 (zh) | 基于游戏场景的寻路方法及装置、设备、介质 | |
CN102901500A (zh) | 基于概率a星与智能体混合的飞行器最优路径确定方法 | |
CN103632606A (zh) | 信息处理方法和装置 | |
JP2021535504A (ja) | 複数ロボットによる衝突のない移動のための2dナビゲーションマップを生成するためにコンピュータに実装された方法、コンピュータシステム、コンピュータ可読媒体 | |
CN112130165A (zh) | 一种定位方法、装置、介质及无人设备 | |
CN114625162A (zh) | 基于混合算法的无人机最优路径规划方法、系统及介质 | |
US20160019248A1 (en) | Methods for processing within-distance queries | |
CN108268516A (zh) | 基于八叉树的云端地图地图更新方法及设备 | |
CN114404984A (zh) | 游戏场景的数据处理方法、装置、计算机设备及介质 | |
CN108268514A (zh) | 基于八叉树的云端地图地图更新设备 | |
CN103631261A (zh) | 信息处理方法和装置 | |
CN116764225B (zh) | 一种高效寻路的处理方法、装置、设备及介质 | |
CN115862416B (zh) | 一种路径规划方法、装置、电子设备及存储介质 | |
CN115957505A (zh) | 游戏中的寻路方法、装置、计算机设备及可读存储介质 | |
CN115507840A (zh) | 一种栅格地图构建方法、栅格地图构建装置及电子设备 | |
CN110716547A (zh) | 一种基于波前算法的3d探索的方法 | |
CN114367110B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN113797543B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40051666 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |