CN112221143B - 一种控制虚拟对象移动的方法、装置及存储介质 - Google Patents
一种控制虚拟对象移动的方法、装置及存储介质 Download PDFInfo
- Publication number
- CN112221143B CN112221143B CN202011071517.1A CN202011071517A CN112221143B CN 112221143 B CN112221143 B CN 112221143B CN 202011071517 A CN202011071517 A CN 202011071517A CN 112221143 B CN112221143 B CN 112221143B
- Authority
- CN
- China
- Prior art keywords
- map
- virtual object
- target
- key point
- game
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请实施例涉及人工智能领域,以及提供一种控制虚拟对象移动的方法、装置及存储介质,该方法包括:获取虚拟对象的寻路任务以及获取虚拟对象在第一寻路地图中的关键点集合;寻路任务包括至少一张局部地图的寻路路径,关键点集合中的关键点是虚拟对象在目标路径移动中符合预设移动行为的位置;获取所述虚拟对象在第一寻路地图中的实时位置,根据关键点集合以及实时位置,控制虚拟对象按照寻路任务在第一寻路地图中从实时位置朝向目标关键点移动,并在目标关键点的有效范围内向下一个关键点移动,直至完成寻路任务。本方案能够随时改变游戏角色的视角,从局部地图中推断游戏角色的位置,让游戏角色按照较为固定的路径移动。
Description
技术领域
本申请实施例涉及人工智能技术领域,尤其涉及一种控制虚拟对象移动的方法、装置及存储介质。
背景技术
在游戏行业,基于人工智能(Artificial Intelligence,AI)技术可以实现游戏测试。目前主要采用以下方式识别游戏角色的位置:
在基于全局游戏地图设定路线的游戏AI方案中,是通过颜色识别游戏角色在全局游戏地图中的位置,然后,由人工预先设定游戏角色在全局游戏地图中移动的路径,即先由人工标注路径上的关键点,然后控制游戏角色沿着路径上关键点的位置进行移动,以完成对该游戏角色的游戏测试。虽然能够通过颜色识别游戏角色在完整游戏地图中的位置,且不需要人工录制样本,但其使用的基础是游戏图像中包含完整的游戏地图信息,由于目前的枪战类游戏大部分只有局部雷达地图信息,且玩家不能改变游戏角色的视角,因此,无法针对任意视角的游戏图像和游戏动作进行录制,故而得到包含完整的游戏地图的游戏图像的难度较高且不够全面,较难得到游戏角色在全局游戏地图中的准确位置,最终导致整个游戏测试的效率降低和测试效果不够全面。
发明内容
本申请实施例提供了一种控制虚拟对象移动的方法、装置及存储介质,能够随时改变游戏角色的视角,从局部游戏地图中推断游戏角色的位置,让游戏角色按照较为固定的路径移动。
第一方面中,本申请实施例提供一种控制虚拟对象移动的方法,所述方法包括:
获取虚拟对象的寻路任务以及获取所述虚拟对象在第一寻路地图中的关键点集合;所述寻路任务包括所述虚拟对象在至少一张局部地图的寻路路径;
所述关键点集合包括有序排列的多个关键点,所述关键点是指所述虚拟对象在目标路径移动中符合预设移动行为的位置;
获取所述虚拟对象在所述第一寻路地图中的实时位置;
根据关键点集合,以及所述虚拟对象在所述第一寻路地图中的实时位置,控制所述虚拟对象按照所述寻路任务,在所述第一寻路地图中从实时位置朝向目标关键点移动,并在所述目标关键点的有效范围内向下一个关键点移动,直至完成所述寻路任务;所述目标关键点为所述关键点集合中与所述实时位置的间距小于预设间距的关键点。
一些实施方式中,在得到与所述实时俯仰角对应的第二灰度图像之后,所述方法还包括:
在所述互动界面上显示方位指示图标,所述方位指示图标与所述第一人称视角的实时俯仰角对应。
一些实施方式中,在得到目标匹配位置之后,将所述第二灰度图像中的白色区域与所述目标匹配位置所在的游戏地图区域进行融合,得到更新的拼接地图,如此往复操作,继续进行下一张局部地图的融合操作(即拼接操作),不断的更新拼接地图,直至融合得到所述第一寻路地图(即全局游戏地图,即拼接后的全局地图)。白色区域为与游戏地图相关的区域。
一些实施方式中,所述预设移动行为包括开始移动、移动转向或停止移动中的至少一项;
所述确定所述虚拟对象在所述第一寻路地图中的位置,包括:
当所述虚拟对象在所述目标路径的移动行为符合开始移动、移动转向或停止移动中的至少一项时,将第一局部地图和所述第一局部地图的第一灰度图像匹配第一寻路地图,以匹配出所述虚拟对象在所述第一寻路地图中的位置。
第二方面中,本申请实施例提供一种虚拟对象移动控制装置,具有实现对应于上述第一方面提供的控制虚拟对象移动的方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块,所述模块可以是软件和/或硬件。
一些实施方式中,所述虚拟对象移动控制装置包括:
输入输出模块,用于获取虚拟对象的寻路任务以及获取所述虚拟对象在第一寻路地图中的关键点集合;所述寻路任务包括所述虚拟对象在至少一张局部地图的寻路路径;所述关键点集合包括有序排列的多个关键点,所述关键点是指所述虚拟对象在目标路径移动中符合预设移动行为的位置;
所述输入输出模块还用于获取所述虚拟对象在所述第一寻路地图中的实时位置;
处理模块,用于根据所述关键点集合,以及所述虚拟对象在所述第一寻路地图中的实时位置,控制所述虚拟对象按照所述寻路任务,在所述第一寻路地图中从实时位置朝向目标关键点移动,并在所述目标关键点的有效范围内向下一个关键点移动,直至完成所述寻路任务;所述目标关键点为所述关键点集合中与所述实时位置的间距小于预设间距的关键点。
本申请实施例又一方面提供了一种虚拟对象移动控制装置,其包括至少一个连接的处理器、存储器和收发器,其中,所述存储器用于存储计算机程序,所述处理器用于调用所述存储器中的计算机程序来执行上述各方面所述的方法。
本申请实施例又一方面提供了一种计算机可读存储介质,其包括指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述第一方面、第一方面的各种实施方式中提供的方法。
相较于现有技术,本申请实施例提供的方案中,由于关键点集合包括有序排列的多个关键点,且关键点是指所述虚拟对象在目标路径移动中符合预设移动行为的位置,因此,根据关键点集合,以及所述虚拟对象在所述第一寻路地图中的实时位置,控制所述虚拟对象按照所述寻路任务在所述第一寻路地图中的移动行为时,能够顺利的实现虚拟对象在第一寻路地图中的寻路任务,因此能够提高测试效率。此外,相较于现有技术中基于颜色从全局游戏地图中识别游戏角色的位置而言,本申请实施例得到的虚拟对象的实时位置更加准确,进而在控制虚拟对象的实时位置时,能够朝向该实时位置所在的寻路路径上的关键点移动,接着,到达该关键点后,就可以控制虚拟对象继续朝向下一个关键点移动,直至跑完整个寻路任务。可见,通过结合关键点集合,能够准确地定位虚拟对象在第一寻路地图中的实时位置,这样就可以更好的控制该虚拟对象在该第一寻路地图中的移动状态(即移动方向、移动路径等),因此,在基于本方案控制虚拟对象在第一寻路地图中移动时,能够实现自动化的测试,因此能够提高测试效率和测试效果。
附图说明
图1a为本申请实施例中游戏样本的一种界面示意图;
图1b为本申请实施例中游戏角色正在从当前所在的关键点朝向下一个关键点移动的界面示意图;
图2为本申请实施例中控制虚拟对象移动的方法的一种流程示意图;
图3a为本申请实施例中关键点集合的一种示意图;
图3b为本申请实施例中控制虚拟对象移动的方法的一种流程示意图;
图4a为本申请实施例中控制虚拟对象移动的方法的一种流程示意图;
图4b为本申请实施例中视角对应的识别区域的一种示意图;
图4c为本申请实施例中控制虚拟对象移动的方法的一种流程示意图;
图5a为本申请实施例中获取候选区域的一种示意图;
图5b为本申请实施例中地图画板中拼接地图的一种示意图;
图5c为本申请实施例中全局的P城地图的一种示意图;
图6为本申请实施例中控制虚拟对象移动的方法的一种流程示意图;
图7为本申请实施例中虚拟对象移动控制装置的一种结构示意图;
图8为本申请实施例中控制虚拟对象移动的方法的实体设备的一种结构示意图;
图9为本申请实施例中服务器的一种结构示意图。
具体实施方式
本申请实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本申请实施例中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个系统中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块之间的间接耦合或通信连接可以是电性或其他类似的形式,本申请实施例中均不作限定。并且,作为分离部件说明的模块或子模块可以是也可以不是物理上的分离,可以是也可以不是物理模块,或者可以分布到多个电路模块中,可以根据实际的需要选择其中的部分或全部模块来实现本申请实施例方案的目的。
本申请实施例供了一种控制虚拟对象移动的方法、装置及存储介质,可用于实现游戏中人工智能的跑图功能,以为后续游戏测试场景提供依据。该方案可用于服务器侧或者终端设备侧,本申请实施例仅以服务器为例,服务器侧部署了虚拟对象移动控制装置。可以理解的是,本申请实施例均以交互式应用为游戏为例,相应的后续以游戏地图的处理为例,其他类型的交互式应用均可参考针对游戏地图的处理方式,本申请实施例不对此作限定。本方案中游戏可以包括但不限于第一人称射击类游戏(first-person shooting game,FPS)、跑酷类游戏、大型多人在线角色扮演游戏(Role-playing game,RPG)、多人在线战术竞技游戏(Multiplayer Online Battle Arena,MOBA)、音乐游戏(Music Game,MSC)以及体育运动类游戏(sport game,SPG)等。
本申请实施例的方案是基于人工智能(Artificial Intelligence,AI)技术,下面将对AI领域的一些基础概念进行介绍。AI是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,AI是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。AI也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。AI技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用AI芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
在游戏测试操作的过程中,可使用主任务网络,该主任务网络是基于机器学习(Machine Learning,ML)训练得到的,随着AI技术研究和进步,AI技术在多种方向展开研究,机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是AI的核心,是使计算机具有智能的根本途径,其应用遍及AI的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
在利用主任务网络对游戏图像中的地图进行识别时,涉及计算机视觉(ComputerVision)技术,CV是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
其中,需要特别说明的是,本申请实施例涉及的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
本申请实施例主要提供以下技术方案:
1、控制游戏角色围绕目标地点移动(例如绕一圈),录制移动过程中游戏角色的视角范围内出现的游戏样本。该游戏样本可参考如图1a所示的一种界面示意图。
2、根据游戏样本中局部游戏地图中的游戏角色和视角颜色,生成对应的掩模,以去除游戏地图无关的信息。
3、控制游戏角色按照目标路径移动,游戏角色在路径的开始点、转向点和结束点时,基于带掩模的模板与局部游戏地图进行匹配,推导出游戏角色在游戏地图中的关键点位置,并记录为路径的关键点序列。
4、基于关键点序列对多张局部游戏地图进行拼接,得到完整的游戏地图(即全局游戏地图)。
5、在测试阶段,根据游戏角色在游戏地图中的位置和关键点序列,控制游戏对象朝向下一个关键点移动,以实现游戏的跑图任务。例如图1b所示,图1b中显示了游戏角色正在从当前所在的关键点朝向下一个关键点跑的界面示意图。
下面,先介绍在对交互式应用进行测试之前的准备工作,比如录制交互样本、绘制全局的寻路地图、以及设置关键点集合,即为每种虚拟对象设置在交互式应用中的实际操控属性。具体来说,如图2所示,在控制所述虚拟对象按照所述寻路任务在所述第一寻路地图中的移动行为之前,本申请实施例包括:
101、接收用户的第一指令。
其中,第一指令用于控制虚拟对象按照目标路径移动。
目标路径是指根据虚拟对象的对象特点为该虚拟对象量身定制的寻路路径,虚拟对象遵循该目标路径移动到终点,即可完成一次完整的寻路任务,此处目标路径是指为虚拟对象预先设计的初始路径,是为了通过控制虚拟对象的移动最终确定中途出现的关键点,以便固定该虚拟对象在地图中的寻路路径和控制移动行为。例如,虚拟对象为某个英雄角色,那么该英雄角色会在位置A第一次出现,然后执行寻路任务,直至在位置B最后一次出现。那么,就可以将该英雄角色出现在地图中从位置A寻路到位置B的路径设为目标路径。
102、响应于所述第一指令,控制所述虚拟对象按照目标路径移动。
其中,目标路径是指在该游戏应用中,针对特定虚拟对象(例如上述虚拟对象)设定寻路任务时为该特定虚拟对象量身定制的寻路路径,该特定虚拟对象需要沿着该目标路径进行移动,这样才可以将该目标路径绑定到该特定虚拟对象,使得该游戏应用在测试阶段或者上线阶段,能够按照该目标路径进行移动。
例如,人工控制(例如通过上述第一指令控制)游戏角色按照目标路径进行寻路,以完成在该目标路径上的寻路任务。由于局部游戏地图的中心一般为游戏角色,例如为关羽时,则需要为该特定角色的关羽量身定制一个跑图任务,并且将该跑图任务(例如目标路径)绑定到该关羽,使得该关羽在该游戏中按照该固定的目标路径移动。本申请实施例中,目标路径可为多条路径组成,本申请实施例不其中多条路径的走向、连接方式、连接点作限定,只要最终在寻路完整个寻路任务时,虚拟对象到达终点即可。
本申请实施例中,响应于,用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
103、当所述虚拟对象的移动行为符合预设移动行为时,将所述第一局部地图和所述第一局部地图的第一灰度图像匹配所述第一寻路地图,以得到所述虚拟对象当前在所述第一寻路地图中的第一位置。
104、将所述第一位置作为预设关键点,并将所述预设关键点更新到关键点集合。
具体来说,由于虚拟对象在第一寻路地图中为实时移动,因此,虚拟对象在第一寻路地图中的位置也是实时变化,而跑图任务中是对应多个指示虚拟对象进行预设移动行为这类特征的位置,也就是关键点。因此,控制虚拟对象移动时,若虚拟对象每改变一次移动行为都负荷预设移动行为,则将改变了移动状态所在的位置看作一个关键点,每得到一个关键点,就更新到关键点集合中。也就是说,会得到多个第一位置,因此,分别所述虚拟对象在所述目标路径移动中符合预设移动行为的各第一位置均作为预设关键点,即可得到包括目标路径中所有关键点的上述关键点集合。
其中,预设移动行为可包括起步、停止或转向等移动行为中的至少一项。其中,起步可为虚拟对象在任意位置开始移动,可包括在寻路中初始位置时的起步,也可包括寻路中途停止后重新开始移动,具体本申请实施例不作限定。停止为虚拟对象在寻路过程中停止当前的移动状态的一个行为。转向则是指虚拟对象在寻路过程中从当前的移动状态通过更改移动方向来切换到一个新的移动状态的行为。
所述关键点集合包括有序排列的多个关键点,某些场景下所述关键点集合也可包括至少一个关键点,所述关键点是指所述虚拟对象在所述目标路径移动中符合预设移动行为的位置。所述关键点集合中的每个关键点唯一对应一个所述位置。所述关键点集合表征虚拟对象从第一位置移动到第二位置所对应的完整寻路路径。
由于预设移动行为能够表征虚拟对象在移动中的移动状态的变化,因此,基于预设移动行为确定出的关键点则为虚拟对象在一个寻路任务中寻路时的一个关键转折点,那么根据关键点集合就可以为图6所对应的实施例中为控制虚拟对象移动提供依据,即控制虚拟对象朝着下一个关键点移动,直至跑完整条路径。
得到游戏角色的位置后,即可开始录制A点到B点的游戏样本。具体来说,分别记录起始点、转向点和终点对应的关键点,将其按照时间序列的形式进行保存,以保留关键点的前后关系。即每到一个关键点位置,通过识别游戏角色在拼接地图中的位置,将该关键点位置更新到关键点序列中。最终生成的路径关键点序列如图3a所示。实心点对应关键点,实线对应游戏角色移动的路径。
可以理解的是,在获取关键点集合的流程中,可以实时的录制有游戏样本,以制定该虚拟对象在按照目标路径执行寻路任务时的记录,便于固定该虚拟对象在该交互式应用中的属性,一方面可以为后续测试阶段测试该虚拟对象执行寻路任务时的效果,另一方面可为后续上线后向用户提供学习或了解该虚拟对象的参考。具体来说,从交互界面中获取多张游戏地图图像。
其中,游戏地图图像是指交互式应用中的局部交互区域,一些实施方式中,游戏地图图像可为雷达地图图像,该雷达地图图像呈现出同时在一个局部地图中的至少两个游戏角色的雷达方向指示。例如游戏地图图像是指全局的游戏地图的局部区域,包含游戏角色的箭头、游戏角色的第一人称视角区域和该游戏角色队友的方向箭头。
一些实施方式中,所述从交互界面中获取多张游戏地图图像,包括:
获取所述虚拟对象在交互界面中进行交互时出现的多张游戏图像;
从所述多张游戏图像中去除目标图像,所述目标图像包括游戏地图中的虚拟对象、以及虚拟对象的第一人称视角区域内的干扰信息;
根据去除所述目标图像后的所述游戏图像得到所述多张游戏地图图像。
其中,游戏图像是指用于组成或呈现交互式应用中某个区域中的物件、场景、道路、建筑等可视化形态的图像。例如,在游戏场景中出现的草垛、道路、河流、房屋、车等设施或物件。
第一人称视角区域是指以虚拟对象的视角进行,若用游戏比喻,就是游戏的初始视角,在该第一人称视角区域内,只能看到除自己之外的区域,即虚拟对象不能看到该虚拟对象本身的全身,因此需要去除这些不在该虚拟角色的第一人称视角区域内的图像。
一些实施方式中,为便于准确的确定虚拟对象的实际位置,在测试之前生成掩模模板,从而为获取关键点提供依据。因此,如图3b所示,在得到所述关键点集合之前,所述方法还包括:
201、接收所述用户的第二指令。
该第二指令用于指示控制所述虚拟对象在目标位置的有效范围内移动。
目标位置是指当前虚拟对象在地图中所在的任意位置,例如虚拟对象放入地图时的初始位置,具体目标位置是基于虚拟对象的对象特点或寻路任务等预先设定的,不对此作限定。例如,虚拟对象为某个英雄角色,那么该英雄角色会在某个位置第一次出现,然后执行寻路任务,那么,就可以将该英雄角色第一次应该出现在地图中的位置设为目标位置。
有效范围则是指限定虚拟对象的移动范围,以便于得到以该目标位置为中心时,通过控制虚拟对象移动得到该虚拟对象在该有效范围内移动过程中的游戏图像,进而得到局部地图的游戏样本。
例如,控制游戏角色在以目标城区的中心点(目标城区的中心坐标为(2,3))为中心点的直径为3米的圆圈范围内移动。例如,控制游戏角色围绕目标城区移动,记录游戏过程中的图像。
202、响应于所述第二指令,控制所述虚拟对象在目标位置的有效范围内移动。
具体可通过手柄、键盘快捷键、键盘方向键、手势等来控制虚拟对象的移动行为。将虚拟对象在目标位置的有效范围内移动,是为了让虚拟对象后期在移动至该目标位置的有效范围内时,就可以直接控制该虚拟对象以该有效范围内的任意位置作为当前关键点,然后依据关键点集合中关键点之间的顺序来控制虚拟对象朝向该当前关键点的下一个关键点移动,以此类推,这样就实现准确的自动寻路。
203、获取所述有效范围内的至少一个互动样本。
其中,所述互动样本是指以所述虚拟对象的第一人称视角的视角范围内出现的游戏素材。例如,互动样本为以游戏角色的第一人称视角的视角范围内出现的游戏素材,控制游戏角色围绕目标位置移动一圈,并记录在绕圈过程中该视角范围内能够获取到的游戏素材。可以录视频或者拍照方式获取,本申请实施例不对此作限定。例如,互动样本可为该游戏角色在游戏过程中的游戏地图图像。
204、根据所述目标位置所在的第一局部地图,以及各互动样本的颜色信息,生成所述第一局部地图的第一灰度图像。
其中,第一局部地图为目标位置所在一定区域范围内的地图,该第一局部地图属于拼接地图中的一部分。例如,该目标位置为某山庄,该山庄所在的局部地图则是以该山庄为中心,全角度旋转,并以虚拟对象的第一人称视角所在的视角范围内的地图。该山庄所在的局部地图为游戏地图的局部地图。
本申请实施例中,灰度图像可用N值化图像替代,例如可由对灰度图像进行二值化后得到的掩膜图像替代。本申请实施例中,可对将互动样本对应的灰度图像进行二值化、五值化等处理,不对此作限定,类似之处不作赘述,具体可参考图4a中的fig2所示的一种示意图。
一些实施方式中,可根据灰度图像得到实时视角的灰度图像。具体来说,根据所述目标位置所在的第一局部地图,以及各互动样本的颜色信息,分别生成各互动样本对应的灰度图像,包括:
a、根据所述虚拟对象的实时位置获取俯仰角小于预设角度(例如俯仰角为0)时的第一局部地图。
b、获取俯仰角小于预设角度时的第一局部地图对应的第二灰度图像。
c、获取所述第一人称视角的实时俯仰角。
d、根据所述实时俯仰角旋转所述第二灰度图像,得到与所述实时俯仰角对应的第一灰度图像。
以灰度图像替换为掩膜图像为例,如图4a所示,预先准备游戏角色的视角为0时的掩模图像。图4a中fig1为视角为0的局部游戏地图,图4a中的fig2为局部游戏地图对应的掩模图像M。掩模图像M中的白色区域代表游戏地图相关区域。
在得到视角为0的掩模图像M后,识别游戏角色当前的视角(可称为俯仰角),根据视角将掩模图像M进行旋转,得到对应视角的掩模图像M1,视角对应的识别区域如图4b的矩形实线框所示。依此类推,本方案收集视角在0到9的角度范围内的掩模图像,由于局部地图为具有方向指向性的雷达地图,因此通过用局部地图匹配即可识别出如图4b所示矩形实线框中的数字,进而得到视角对应的数字,随后按照视角旋转掩模图像,得到当前视角对应的掩模图像,为后续得到地图画板中的拼接地图提供依据。
本申请实施例中,局部游戏地图(例如第一局部地图、第二局部地图)中包含游戏角色的圆圈(例如图4a中标号为1所示的圆圈)和视角相关的白色的扇形区域(例如图4a中的fig1所示)。
一些实施方式中,在得到与所述实时俯仰角对应的第二灰度图像之后,为便于用户实时的、直观的读取当前虚拟对象所在的方位,在得到第二灰度图像之后,还可以在所述互动界面上显示方位指示图标,所述方位指示图标与所述第一人称视角的实时俯仰角对应。
另一些实施方式中,为了减少基于第一局部地图与地图画板匹配的面积,还可以对第二灰度图像进行腐蚀处理,具体来说,在得到与所述实时俯仰角对应的第二灰度图像之后,所述方法还包括:
对所述第一灰度图像进行腐蚀处理,得到腐蚀处理后的第一灰度图像。
例如,对上述掩膜图像M1进行腐蚀处理,即将上述掩模图像M1中的灰度值为0的区域(例如白色区域)缩小,以生成新的掩模图像M2。一些实施方式中,可采用下述腐蚀处理方式:对于掩膜图像M1,掩膜图像M1的中间是结构元素B,结构元素B的中心点为当前处理元素的位置,将结构元素B的中心点和掩膜图像M1上的像素点一个一个地对比,如果结构元素B上的所有点都在掩膜图像M1的范围内,则保留该黑色的像素点,否则去掉该黑色的像素点,最终得到掩膜图像M2。腐蚀处理后,掩膜图像M2中的各像素点仍在原来掩膜图像M1的范围内,且比掩膜图像M1包含的像素点要少,就像掩膜图像M1被腐蚀掉了一层。
可见,通过将上述掩模图像M1中的灰度值为0的区域缩小这种腐蚀操作,能够减少匹配图像的面积,进而确保匹配的区域存在于第一寻路地图(例如为通过拼接、合成等操作得到的完整的游戏地图)。
205、将所述第一局部地图与所述第一灰度图像在所述地图画板中进行匹配,以得到所述第一局部地图在所述地图画板中的目标匹配位置。
其中,目标匹配位置可以为第一局部地图中的任意顶点,例如可为第一局部地图的左上角顶点。
本申请实施例中的地图画板可采用全黑的图像,以便于匹配、以及便于将灰度图像对应的局部地图覆盖到该地图画板中,这样才能更快的、更精准的得到全局的第一寻路地图。
206、根据所述目标匹配位置,将所述第一灰度图像中的白色区域覆盖到所述地图画板上,以更新所述地图画板中的拼接地图。
可选的,在本申请的一些实施例中,为减小第一局部地图在地图画板上匹配出的目标匹配位置的误差,还可以根据所述实时位置从所述地图画板中的已拼接地图中截取目标区域,然后将当前游戏图像的第一局部地图和腐蚀后的掩模图像M2在目标区域内匹配,即可得到该局部地图在地图画板上最匹配的位置。具体来说,本申请实施例包括步骤(1)-步骤(3):
(1)获取历史匹配位置。
其中,所述历史匹配位置是指所述虚拟对象在所述第二局部地图时第二局部地图在所述地图画板中匹配到的位置,即历史匹配位置是指虚拟对象在第二局部地图时,第二局部地图和第二局部地图在地图画板上匹配得到的位置。所述历史匹配位置包括虚拟对象在第一方向的第一坐标和虚拟对象在第二方向的第二坐标。
例如,历史匹配位置可为游戏地图上n次匹配的位置,n为正整数。由于游戏角色移动的速度有限,同一游戏角色在下一帧的匹配位置和在上一帧的匹配位置不会有太大差异,因此,历史匹配位置可采用当前帧的上一帧的匹配结果,这样能够减小匹配的计算量,进而加快匹配的速度,同时提升位置匹配的精度。
(2)根据所述历史匹配位置在所述地图画板中绘制目标区域。
具体来说,可通过下述操作(a)-(c)实现:
(a)、将所述第一坐标在所述第一方向上移动第一距离,以及将所述第二坐标在所述第二方向上移动第二距离,以形成候选区域。
如图5a所示,可将X坐标左移50像素,Y坐标上移50像素,得到候选区域。其中,50像素根据游戏角色在1秒内移动的距离设置。其中,左移和右移的像素根据游戏角色移动的速度决定,以保证截取的局部地图包含当前的局部地图。
X坐标、和Y坐标的像素变化可相同或不同,只要保证截取的,目标区域(即截取的局部地图)包含当前的局部地图即可,本申请实施例不对此作限定。例如,以X-50为局部地图中任意顶点(例如左上角顶点)的横坐标,Y-50为局部地图中任意顶点(例如左上角顶点)的纵坐标,宽高为局部游戏地图的宽度加上100,用这样的方式从地图画板中当前的已拼接地图中截取候选区域。
(b)根据第一距离和所述第二局部地图的宽度得到目标宽度,以及根据第二距离和所述第二局部地图的长度得到目标长度。
其中,目标宽度是指待绘制的目标区域的宽度,目标长度是指待绘制的目标区域的长度。
(c)以所述候选区域为中心区域,绘制目标区域。
其中,目标区域用于和所述掩膜图像和局部地图匹配以得到虚拟对象当前在第一寻路地图中的实时位置。即,目标区域是从第一寻路地图(即前述拼接得到的全局游戏地图)中截取的一部分区域。
绘制目标区域时,参考步骤(3)中得到的目标宽度和目标长度。也就是说,绘制完目标区域后,所述目标区域的宽度为所述目标宽度,所述目标区域的长度为所述目标长度。例如,矩阵区域的宽度是局部游戏地图的宽度加上100,高度是局部游戏地图的高度加上100。
(3)、将所述第一局部地图和所述第一灰度图像在所述目标区域中进行匹配,以得到所述目标匹配位置。
一些实施方式中,在绘制目标区域之后,考虑到游戏地图中可能仅有部分像素区域为与游戏地图相关的图像,为了后期再测试阶段更准确的匹配出虚拟对象在第一寻路地图中的实时位置,可以在本阶段从第一寻路地图中先找出第一局部地图在地图画板中最匹配的位置,即目标匹配位置。具体来说,包括:
将所述第一局部地图和所述第一灰度图像(也可以是腐蚀处理后的第一灰度图像)添加至所述目标区域内;
将所述第一局部地图和所述第一灰度图像在所述目标区域中进行匹配,得到所述第一局部地图在所述地图画板中的目标匹配位置。
本申请实施例中,地图画板的初始状态为一张空白的画板,用于对游戏应用中的各个局部地图进行拼接,最终拼接得到第一寻路地图。其中,第一寻路地图是指当前虚拟对象在整个交互时应用的全局游戏地图中的某个区域所对应的局部游戏地图,虚拟对象在该局部游戏地图中需要按照预设的寻路路径进行寻路去完成其在该第一寻路地图的一段寻路任务。
对于处于初始状态下的地图画板而言,当将第一个局部地图覆盖到所述地图画板时,可在地图画板中设置一个起始位置,将该第一个局部地图的某个顶点与该起始位置重合。
(4)、根据所述目标匹配位置,将所述第一灰度图像中的白色区域覆盖到所述地图画板上,以更新所述地图画板中的拼接地图。
具体来说,在得到目标匹配位置之后,将所述第一灰度图像中的白色区域与所述目标匹配位置所在的游戏地图区域进行融合,以更新所述地图画板中的拼接地图,如此往复操作,继续进行下一张局部地图的融合操作(即拼接操作),从而不断的更新拼接地图,直至融合得到所述第一寻路地图(即全局游戏地图,即拼接后的全局游戏地图)。白色区域为与游戏地图相关的区域。例如,可参考图5b所示的一种拼接示意图,历史匹配位置所代表的是第二局部地图。目标匹配位置则代表的是第一局部地图。
例如,从游戏地图(即拼接得到的全局地图,简称为拼接地图)挑选出矩形区域后,将当前图像的局部游戏地图和腐蚀处理后的掩模图像M2在矩形区域内进行匹配,即可得到最为匹配的位置。随后将掩模图像M1中白色区域对应的图像与匹配度最高的游戏地图区域进行融合,融合的一种公式可参考下述公式:
其中,p1代表拼接地图的像素值,c代表该像素在拼接过程中出现在掩模白色区域的次数,p2代表当前局部游戏地图的像素值。上述融合的公式仅为一种示例,可以在其基础上增加、删除或变更参数等任意变型,本申请实施例不作限定。
可见,由于采用局部地图在拼接地图截取的目标区域上进行匹配,因此,从拼接地图上截取一块目标区域能够提升匹配精度,以及由于无需将局部地图与拼接地图的每个区域分别进行匹配,所以能够降低整体因匹配所带来的的计算量。
通过将掩模图像M1中白色区域对应的图像与匹配度最高的游戏地图区域进行融合,即可有效过滤掉局部游戏地图中的噪声,例如过滤图4c中的子弹。
按照上述过程不断拼接游戏图像,最终得到拼接地图,即拼接后的游戏地图。例如,基于图4a-图4c等对应的实施例,对游戏图像进行拼接,最终得到拼接后的P城地图,拼接后的全局P城地图的示例可参考图5c所示的一种示意图。
在完成上述录制互动样本、绘制全局的寻路地图、以及设置关键点集合等初始设置之后,可以对交互式应用进行测试,例如可以将该虚拟对象运用到测试中,以测试该虚拟对象是否严格按照预设的寻路任务进行寻路,关键点的设置是否存在偏差等问题。具体来说,参照图6,以下介绍本申请实施例所提供的一种控制虚拟对象移动的方法,本申请实施例包括:
301、获取虚拟对象的寻路任务以及获取所述虚拟对象在第一寻路地图中的关键点集合。
其中,虚拟对象是指交互式应用中扮演的角色对象,该虚拟对象能够与交互式应用中其他虚拟角色之间进行交互。例如在游戏场景中,虚拟对象可为游戏角色,两个游戏角色之间可以互相攻击、追赶等。控制虚拟对象的时用户(也可称作玩家)。虚拟对象也可称作虚拟角色、玩家、虚拟用户等,本申请实施例不对此作限定。
所述寻路任务包括所述虚拟对象在至少一张局部地图的寻路路径。寻路任务可以是针对一条或至少两条寻路路径而言。例如,在游戏场景中,对于局部地图A而言,当游戏角色A进去该局部地图A时,该游戏角色需要按照预设的寻路路径从一个点移动到另一个点,最终才能跑完该局部地图A,从局部地图A中走出,进入相邻的其他局部地图B。
第一寻路地图是指当前虚拟对象在整个交互时应用的全局地图中的某个区域所对应的局部地图,虚拟对象在该局部地图中需要按照预设的寻路路径进行寻路去完成其在该第一寻路地图的一段寻路任务。
所述关键点集合包括有序排列的多个关键点,所述关键点是指所述虚拟对象在目标路径移动中符合预设移动行为的位置。
302、获取所述虚拟对象在所述第一寻路地图中的实时位置。
由于虚拟对象在第一寻路地图中是可能不断在移动位置的,因此,虚拟对象的实时位置也相应跟随虚拟对象的移动而不断变化。例如,游戏角色在11:20分时在游戏地图中的魔力城堡,11:22分时,游戏角色在游戏地图中的地下河。
一些实施方式中,所述获取所述虚拟对象在第一寻路地图中的实时位置,包括:
识别当前的游戏人物视角,将掩模图像M根据视角进行旋转,得到对应的掩模图像;
基于局部游戏地图和掩模图像在拼接地图中进行预设掩模模板匹配,找到最为匹配的位置(x,y)。
由于局部游戏地图的中心是游戏角色,因此,将x坐标和y坐标分别加上局部游戏地图宽度和高度的一半,从而推导出游戏角色在拼接地图中的位置。
303、根据关键点集合,以及所述虚拟对象在所述第一寻路地图中的实时位置,控制所述虚拟对象按照所述寻路任务,在所述第一寻路地图中从实时位置朝向目标关键点移动,并在所述目标关键点的有效范围内向下一个关键点移动,直至完成所述寻路任务。
其中,所述目标关键点可为所述关键点集合中与所述实时位置的间距小于预设间距的关键点。
控制虚拟对象按照寻路任务,在所述第一寻路地图中从实时位置朝向目标关键点移动,并在所述目标关键点的有效范围内向下一个关键点移动,直至完成所述寻路任务也可简称为控制虚拟对象的移动行为。移动行为是指虚拟对象在第一寻路地图中移动时的动作、速度、方向等信息。例如,移动行为可以是指游戏角色在游戏地图中起步、停止或转向等。
一些实施方式中,由于寻路地图中的寻路路径变化,控制虚拟对象执行相应的寻路任务时,虚拟对象的移动行为可能包括起步、停止或转向,这些移动行为是衔接两条相邻寻路路径的枢纽。
一般情况下,每个虚拟对象在游戏地图中都要移动到很多位置,因此,关键点集合一般包括至少两个关键点。当关键点集合包括至少两个关键点时,以其中的两个关键点为例介绍控制虚拟对象从一个关键点移动到另一个关键点的流程。具体来说,所述关键点集合包括第一关键点和第二关键点,所述第一关键点在所述关键点集合中的顺序先于所述第二关键点,第二关键点为第一关键点的下一个关键点,即第一关键点与第二关键点相邻。可将第一关键点等效看作上述目标关键点,具体目标关键点的确定依据虚拟对象的实时位置而定。可根据以下操作控制所述虚拟对象按照所述寻路任务在所述第一寻路地图中的移动行为:
当所述虚拟对象的实时位置在所述第一关键点的有效范围内时,控制所述虚拟对象朝向所述第二关键点移动。其中,所述第一关键点的有效范围可以用实时位置与第一关键点的间距小于预设间距来表示。本申请实施例不对关键点集合中的任意关键点(例如前述目标关键点、第一关键点)的有效范围的形状、大小等作限定。
例如,先基于掩膜图像和局部地图在地图画板匹配出游戏角色的实时位置,然后判断距离实时位置最近的第一关键点(例如为转向点),并控制游戏角色朝向该转向点移动,当游戏角色的实时位置在与转向点(即第一关键点)的间距为0.5m半径范围时,可以控制开游戏角色朝向停止点(即第二关键点)跑过去,以此类推,每接近一个关键点时,就可以控制游戏角色朝向下一个关键点移动。
可见,通过控制游戏角色跑完一条寻路路径,直至跑完整个寻路任务,进而实现自动化的跑完该游戏角色的整个任务,从而为录制和自动化测试提供基础。
与现有技术相比,本申请实施例中提供的方案主要体现在以下几方面:
1、由于关键点集合包括有序排列的多个关键点,且关键点是指所述虚拟对象在所述目标路径移动中符合预设移动行为的位置,因此,根据关键点集合,以及所述虚拟对象在所述第一寻路地图中的实时位置,控制所述虚拟对象按照所述寻路任务在所述第一寻路地图中的移动行为时,能够顺利的实现虚拟对象在第一寻路地图中的寻路任务,为后续测试交互时应用提供基础。
2、根据录制游戏样本中的局部游戏地图生成游戏地图,通过带掩模的模板即可匹配得到游戏角色在游戏地图的位置,进而对游戏地图进行拼接,为后续实现寻路任务提供依据。
3、通过设置预设移动行为,并结合虚拟对象的位置来判定在寻路路径中出现的关键点,因此,最终能够准确的、快速的得到整个寻路地图的关键点集合。这样,在测试该交互时应用阶段,虚拟对象基于掩模模板匹配的位置和该关键点集合即可完成交互时应用设置的寻路任务。
4、基于寻路路径中的关键点,通过小段录制的游戏样本,以及根据局部游戏地图拼接游戏地图,通过掩模模板匹配能快速推导虚拟对象所在的位置,从而记录关键点,最终实现虚拟对象的跑图功能。
图1a至图6中任一项所对应的实施例中所提及的任一技术特征也同样适用于本申请实施例中的图7至图9所对应的实施例,后续类似之处不再赘述。
以上对本申请实施例中一种控制虚拟对象移动的方法进行说明,以下对执行上述控制虚拟对象移动的方法的装置进行介绍。
参阅图7,如图7所示的一种虚拟对象移动控制装置70的结构示意图,其可应用于游戏测试场景。本申请实施例中的虚拟对象移动控制装置70能够实现对应于上述图1a-图6中任一项所对应的实施例中所执行的控制虚拟对象移动的方法的步骤。所述虚拟对象移动控制装置70包括处理模块701和输入输出模块702:
所述输入输出模块702,用于获取虚拟对象的寻路任务以及获取所述虚拟对象在第一寻路地图中的关键点集合;所述寻路任务包括所述虚拟对象在至少一张局部地图的寻路路径;所述关键点集合包括有序排列的多个关键点,所述关键点是指所述虚拟对象在目标路径移动中符合预设移动行为的位置;
所述输入输出模块702还用于获取所述虚拟对象在所述第一寻路地图中的实时位置;
所述处理模块701,用于根据关键点集合,以及所述虚拟对象在所述第一寻路地图中的实时位置,控制所述虚拟对象按照所述寻路任务,在所述第一寻路地图中从实时位置朝向目标关键点移动,并在所述目标关键点的有效范围内向下一个关键点移动,直至完成所述寻路任务;所述目标关键点为所述关键点集合中与所述实时位置的间距小于预设间距的关键点。
一些实施方式中,所述关键点集合包括第一关键点和第二关键点,所述第一关键点在所述关键点集合中的顺序先于所述第二关键点;
所述处理模701具体块用于:
当所述虚拟对象的实时位置在所述第一关键点的有效范围内时,控制所述虚拟对象朝向所述第二关键点移动。
一些实施方式中,所述处理模块701在所述输入输出模块702获取所述虚拟对象在第一寻路地图中的关键点集合之前,还用于:
通过所述输入输出模块702从交互界面中获取多张游戏地图图像;
将所述多张游戏地图图像合成为第一寻路地图;
通过所述输入输出模块702接收用户的第一指令;
响应于所述第一指令,控制所述虚拟对象按照目标路径移动;
当所述虚拟对象的移动行为符合所述预设移动行为时,将所述第一局部地图和所述第一局部地图的第一灰度图像匹配所述第一寻路地图,以得到所述虚拟对象当前在所述第一寻路地图中的第一位置;
将所述第一位置设为预设关键点,并将所述预设关键点更新到所述关键点集合。
一些实施方式中,所述处理模块701在所述输入输出模块702获取所述虚拟对象在第一寻路地图中的关键点集合之前,还用于:
通过所述输入输出模块702接收用户的第一指令;
响应于所述第一指令,控制所述虚拟对象按照目标路径移动;
当所述虚拟对象的移动行为符合所述预设移动行为时,将所述第一局部地图和所述第一局部地图的第一灰度图像匹配所述第一寻路地图,以得到所述虚拟对象当前在所述第一寻路地图中的第一位置;
将所述第一位置设为预设关键点,并将所述预设关键点更新所述关键点集合。
一些实施方式中,所述处理模块701具体用于:
通过所述输入输出模块702获取所述虚拟对象在交互界面中进行交互时出现的多张游戏图像;
从所述多张游戏图像中去除目标图像,所述目标图像包括游戏地图中的虚拟对象、以及虚拟对象的第一人称视角区域内的干扰信息;
根据去除所述目标图像后的所述游戏图像得到所述多张游戏地图图像。
一些实施方式中,所述处理模块701得到所述关键点集合之前,还用于:
通过所述输入输出模块702接收所述用户的第二指令;
响应于所述第二指令,控制所述虚拟对象在目标位置的有效范围内移动;
获取所述有效范围内的至少一个互动样本,所述互动样本是指以所述虚拟对象的第一人称视角的视角范围内出现的互动游戏;
根据所述目标位置所在的第一局部地图,以及各互动样本的颜色信息,
生成所述第一局部地图的第一灰度图像;
将所述第一局部地图与所述第一灰度图像在所述地图画板中进行匹配,以得到所述第一局部地图在所述地图画板中的目标匹配位置。
根据所述目标匹配位置,将所述第一灰度图像中的白色区域覆盖到所述地图画板上,以更新所述地图画板中的拼接地图。
一些实施方式中,所述处理模块701具体用于:
根据所述目标位置获取俯仰角小于预设角度时的第一局部地图;
获取所述俯仰角小于预设角度时的第一局部地图对应的第二灰度图像;
获取所述第一人称视角的实时俯仰角;
根据所述实时俯仰角旋转所述第二灰度图像,得到与所述实时俯仰角对应的第一灰度图像。
一些实施方式中,所述处理模块701在得到与所述实时俯仰角对应的第一灰度图像之后,还用于:
对所述第一灰度图像进行腐蚀处理,得到腐蚀处理后的第一灰度图像。
一些实施方式中,所述虚拟对象移动控制装置70还包括显示模块(图7中未标识出),所述显示模块在所述处理模块701得到与所述实时俯仰角对应的第二灰度图像之后,用于:
在所述互动界面上显示方位指示图标,所述方位指示图标与所述第一人称视角的实时俯仰角对应。
一些实施方式中,所述处理模块701还用于:
获取历史匹配位置的坐标数据,所述历史匹配位置为所述虚拟对象在所述第二局部地图时,第二局部地图在所述地图画板中的匹配位置;
根据所述历史匹配位置在所述地图画板中绘制目标区域;
将所述第一局部地图和所述第一灰度图像在所述目标区域中进行匹配,以得到所述目标匹配位置。
一些实施方式中,所述坐标数据包括第一方向的第一坐标和第二方向的第二坐标;所述处理模块701具体用于:
将所述第一坐标在所述第一方向上移动第一距离,以及将所述第二坐标在所述第二方向上移动第二距离,以形成候选区域;
根据第一距离和所述第二局部地图的宽度得到目标宽度,以及根据第二距离和所述第二局部地图的长度得到目标长度;
以所述候选区域为中心区域,在所述地图画板上上绘制目标区域,所述目标区域的宽度为所述目标宽度,所述目标区域的长度为所述目标长度,所述目标区域用于和所述第一局部地图匹配以得到虚拟对象当前在第一寻路地图中的实时位置。
一些实施方式中,所述处理模块701绘制目标区域之后,还用于:
将所述第一局部地图和所述第一灰度图像添加至所述目标区域内;
将所述第二局部地图和所述第一灰度图像在所述目标区域上进行匹配,得到目标匹配位置;
将所述第一灰度图像中的白色区域与所述目标匹配位置所在的游戏地图区域进行融合,以更新所述地图画板中的拼接地图。
上面从模块化功能实体的角度对本申请实施例中的虚拟对象移动控制装置70进行了描述,下面从硬件处理的角度分别对本申请实施例中的执行控制虚拟对象移动的方法的服务器进行描述。需要说明的是,在本申请实施例图7所示的实施例中的输入输出模块702对应的实体设备可以为输入/输出单元、收发器、射频电路、通信模块和输出接口等,处理模块701对应的实体设备可以为处理器,显示模块对应的实体设备可为显示屏。图7所示的虚拟对象移动控制装置70可以具有如图8所示的结构,当图7所示的虚拟对象移动控制装置70具有如图8所示的结构时,图8中的处理器、输入输出单元和显示屏能够实现前述对应该虚拟对象移动控制装置70的装置实施例提供的处理模块701、输入输出模块702、显示模块相同或相似的功能,图8中的存储器存储处理器执行上述控制虚拟对象移动的方法时需要调用的计算机程序。
图9是本申请实施例提供的一种服务器结构示意图,该服务器900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(英文全称:centralprocessing units,英文简称:CPU)922(例如,一个或一个以上处理器)和存储器932,一个或一个以上存储应用程序942或数据944的存储介质930(例如一个或一个以上海量存储设备)。其中,存储器932和存储介质930可以是短暂存储或持久存储。存储在存储介质930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器922可以设置为与存储介质930通信,在服务器920上执行存储介质930中的一系列指令操作。
服务器920还可以包括一个或一个以上电源926,一个或一个以上有线或无线网络接口950,一个或一个以上输入输出接口957,和/或,一个或一个以上操作系统941,例如Windows Server,Mac OS X,Unix,Linux,FreeBSD等等。
上述实施例中由服务器所执行的步骤可以基于该图9所示的服务器920的结构。例如上述实施例中由图9所示的虚拟对象移动控制装置70所执行的步骤可以基于该图9所示的服务器结构。例如,所述处理器922通过调用存储器932中的指令,执行以下操作:
通过输入输出接口957获取虚拟对象的寻路任务以及获取所述虚拟对象在第一寻路地图中的关键点集合;所述寻路任务包括所述虚拟对象在至少一张局部地图的寻路路径;所述关键点集合包括有序排列的多个关键点,所述关键点是指所述虚拟对象在目标路径移动中符合预设移动行为的位置;
以及通过输入输出接口957获取所述虚拟对象在所述第一寻路地图中的实时位置;
根据关键点集合,以及所述虚拟对象在所述第一寻路地图中的实时位置,控制所述虚拟对象按照所述寻路任务,在所述第一寻路地图中从实时位置朝向目标关键点移动,并在所述目标关键点的有效范围内向下一个关键点移动,直至完成所述寻路任务;所述目标关键点为所述关键点集合中与所述实时位置的间距小于预设间距的关键点。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请实施例所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请实施例各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
以上对本申请实施例所提供的技术方案进行了详细介绍,本申请实施例中应用了具体个例对本申请实施例的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请实施例的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请实施例的限制。
Claims (11)
1.一种控制虚拟对象移动的方法,其特征在于,所述方法包括:
获取虚拟对象的寻路任务,以及根据第一局部地图和所述第一局部地图的第一灰度图像对第一寻路地图的匹配操作,获取所述虚拟对象在所述第一寻路地图中的关键点集合;其中,所述寻路任务包括所述虚拟对象在至少一张局部地图的寻路路径;所述第一寻路地图通过地图画板对游戏应用中的各个局部地图进行拼接得到;所述第一灰度图像为所述虚拟对象在第一人称视角的实时俯仰角对应的灰度图像;所述关键点集合包括有序排列的多个关键点,所述关键点是指所述虚拟对象在目标路径移动中符合预设移动行为的位置;
获取所述虚拟对象在所述第一寻路地图中的实时位置;
根据所述关键点集合,以及所述虚拟对象在所述第一寻路地图中的实时位置,控制所述虚拟对象按照所述寻路任务,在所述第一寻路地图中从实时位置朝向目标关键点移动,并在所述目标关键点的有效范围内向下一个关键点移动,直至完成所述寻路任务;所述目标关键点为所述关键点集合中与所述实时位置的间距小于预设间距的关键点。
2.根据权利要求1所述的方法,其特征在于,所述根据第一局部地图和所述第一局部地图的第一灰度图像对第一寻路地图的匹配操作,获取所述虚拟对象在所述第一寻路地图中的关键点集合,包括:
接收用户的第一指令;
响应于所述第一指令,控制所述虚拟对象按照目标路径移动;
当所述虚拟对象的移动行为符合所述预设移动行为时,将第一局部地图和所述第一局部地图的第一灰度图像匹配所述第一寻路地图,以得到所述虚拟对象当前在所述第一寻路地图中的第一位置;
将所述第一位置设为预设关键点,并将所述预设关键点更新到所述关键点集合。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
获取所述虚拟对象在交互界面中进行交互时出现的多张游戏图像;
从所述多张游戏图像中去除目标图像,所述目标图像包括游戏地图中的虚拟对象、以及虚拟对象的第一人称视角区域内的干扰信息;
根据去除所述目标图像后的所述游戏图像得到多张游戏地图图像。
4.根据权利要求2或3所述的方法,其特征在于,在得到所述关键点集合之前,所述方法还包括:
接收所述用户的第二指令;
响应于所述第二指令,控制所述虚拟对象在目标位置的有效范围内移动;
获取所述有效范围内的至少一个互动样本,所述互动样本是指以所述虚拟对象的第一人称视角的视角范围内出现的互动素材;
根据所述目标位置所在的第一局部地图,以及各互动样本的颜色信息,生成所述第一局部地图的第一灰度图像;
将所述第一局部地图与所述第一灰度图像在所述地图画板中进行匹配,以得到所述第一局部地图在所述地图画板中的目标匹配位置;
根据所述目标匹配位置,将所述第一灰度图像中的白色区域覆盖到所述地图画板上,以更新所述地图画板中的拼接地图。
5.根据权利要求4所述的方法,其特征在于,所述根据所述目标位置所在的第一局部地图,以及各互动样本的颜色信息,生成所述第一局部地图的第一灰度图像,包括:
根据所述目标位置获取所述虚拟对象的俯仰角小于预设角度时的第一局部地图;
获取俯仰角小于预设角度时的第一局部地图对应的第二灰度图像;
获取所述第一人称视角的实时俯仰角;
根据所述实时俯仰角旋转所述第二灰度图像,得到与所述实时俯仰角对应的第一灰度图像。
6.根据权利要求5所述的方法,其特征在于,所述得到与所述实时俯仰角对应的第一灰度图像之后,所述方法还包括:
对所述第一灰度图像进行腐蚀处理,得到腐蚀处理后的第一灰度图像。
7.根据权利要求6所述的方法,其特征在于,所述将所述第一局部地图与所述第一灰度图像在所述地图画板中进行匹配,以得到目标匹配位置,包括:
获取历史匹配位置,所述历史匹配位置为所述虚拟对象在第二局部地图时,第二局部地图在所述地图画板中的匹配位置;
根据所述历史匹配位置在所述地图画板中绘制目标区域;
将所述第一局部地图和所述第一灰度图像在所述目标区域中进行匹配,以得到所述目标匹配位置。
8.根据权利要求7所述的方法,其特征在于,所述历史匹配位置包括第一方向的第一坐标和第二方向的第二坐标;所述根据所述历史匹配位置在所述地图画板中绘制目标区域,包括:
将所述第一坐标在所述第一方向上移动第一距离,以及将所述第二坐标在所述第二方向上移动第二距离,以形成候选区域;
根据第一距离和所述第二局部地图的宽度得到目标宽度,以及根据第二距离和所述第二局部地图的长度得到目标长度;
以所述候选区域为中心区域,在所述地图画板上绘制目标区域,所述目标区域的宽度为所述目标宽度,所述目标区域的长度为所述目标长度,所述目标区域用于和所述第一局部地图匹配以得到虚拟对象当前在所述第一寻路地图中的实时位置。
9.一种虚拟对象移动控制装置,其特征在于,所述虚拟对象移动控制装置包括:
输入输出模块,用于获取虚拟对象的寻路任务,以及根据第一局部地图和所述第一局部地图的第一灰度图像对第一寻路地图的匹配操作,获取所述虚拟对象在所述第一寻路地图中的关键点集合;其中,所述寻路任务包括所述虚拟对象在至少一张局部地图的寻路路径;所述第一寻路地图通过地图画板对游戏应用中的各个局部地图进行拼接得到;所述第一灰度图像为所述虚拟对象在第一人称视角的实时俯仰角对应的灰度图像;所述关键点集合包括有序排列的多个关键点,所述关键点是指所述虚拟对象在目标路径移动中符合预设移动行为的位置;
所述输入输出模块还用于获取所述虚拟对象在所述第一寻路地图中的实时位置;
处理模块,用于根据所述关键点集合,以及所述虚拟对象在所述第一寻路地图中的实时位置,控制所述虚拟对象按照所述寻路任务,在所述第一寻路地图中从实时位置朝向目标关键点移动,并在所述目标关键点的有效范围内向下一个关键点移动,直至完成所述寻路任务;所述目标关键点为所述关键点集合中与所述实时位置的间距小于预设间距的关键点。
10.一种虚拟对象移动控制装置,其特征在于,虚拟对象移动控制装置包括:
至少一个处理器、存储器和收发器;
其中,所述存储器用于存储计算机程序,所述处理器用于调用所述存储器中存储的计算机程序来执行如权利要求1-8中任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,其包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011071517.1A CN112221143B (zh) | 2020-10-09 | 2020-10-09 | 一种控制虚拟对象移动的方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011071517.1A CN112221143B (zh) | 2020-10-09 | 2020-10-09 | 一种控制虚拟对象移动的方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112221143A CN112221143A (zh) | 2021-01-15 |
CN112221143B true CN112221143B (zh) | 2022-07-15 |
Family
ID=74120074
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011071517.1A Active CN112221143B (zh) | 2020-10-09 | 2020-10-09 | 一种控制虚拟对象移动的方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112221143B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113082713B (zh) * | 2021-03-01 | 2022-12-09 | 上海硬通网络科技有限公司 | 游戏控制方法、装置及电子设备 |
CN113209622B (zh) * | 2021-05-28 | 2024-09-24 | 北京字节跳动网络技术有限公司 | 动作的确定方法、装置、可读介质和电子设备 |
CN113546419B (zh) * | 2021-07-30 | 2024-04-30 | 网易(杭州)网络有限公司 | 游戏地图显示方法、装置、终端及存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003000940A (ja) * | 2001-06-20 | 2003-01-07 | Enix Corp | ビデオゲーム装置、記録媒体およびプログラム |
CN106267822A (zh) * | 2016-08-18 | 2017-01-04 | 网易(杭州)网络有限公司 | 游戏性能的测试方法和装置 |
CN106422330B (zh) * | 2016-10-14 | 2019-10-29 | 网易(杭州)网络有限公司 | 单位的寻路方法及装置 |
CN109999498A (zh) * | 2019-05-16 | 2019-07-12 | 网易(杭州)网络有限公司 | 一种虚拟对象的寻路方法和装置 |
CN110302537B (zh) * | 2019-07-10 | 2023-12-19 | 深圳市腾讯网域计算机网络有限公司 | 虚拟对象控制方法、装置、存储介质和计算机设备 |
CN110465089B (zh) * | 2019-07-29 | 2021-10-22 | 腾讯科技(深圳)有限公司 | 基于图像识别的地图探索方法、装置、介质及电子设备 |
CN110755848B (zh) * | 2019-11-06 | 2023-09-15 | 网易(杭州)网络有限公司 | 一种游戏中的寻路方法、终端及可读存储介质 |
CN111111187B (zh) * | 2019-11-28 | 2023-07-14 | 玩心(北京)网络科技有限公司 | 基于网格的在线游戏寻路方法和装置 |
-
2020
- 2020-10-09 CN CN202011071517.1A patent/CN112221143B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112221143A (zh) | 2021-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112221143B (zh) | 一种控制虚拟对象移动的方法、装置及存储介质 | |
CN110457414B (zh) | 离线地图处理、虚拟对象显示方法、装置、介质和设备 | |
CN106250938B (zh) | 目标跟踪方法、增强现实方法及其装置 | |
CN111530073B (zh) | 游戏地图的显示控制方法、存储介质、电子设备 | |
CN111744187B (zh) | 一种游戏数据处理方法、装置、计算机及可读存储介质 | |
CN111754541A (zh) | 目标跟踪方法、装置、设备及可读存储介质 | |
CN105046213A (zh) | 一种增强现实的方法 | |
CN112699832B (zh) | 目标检测方法、装置、设备以及存储介质 | |
CN112057858B (zh) | 虚拟对象的控制方法、装置、设备及存储介质 | |
CN114972958B (zh) | 关键点检测方法、神经网络的训练方法、装置和设备 | |
CN107084740A (zh) | 一种导航方法和装置 | |
Kasapakis et al. | Occlusion handling in outdoors augmented reality games | |
KR102396390B1 (ko) | 증강 현실 기반의 3차원 조립 퍼즐을 제공하는 방법 및 단말 | |
US20230142566A1 (en) | System and method for precise positioning with touchscreen gestures | |
CN110465089A (zh) | 基于图像识别的地图探索方法、装置、介质及电子设备 | |
CN111405314B (zh) | 一种信息处理方法、装置、设备及存储介质 | |
CN113723164A (zh) | 获取边缘差异信息的方法、装置、设备及存储介质 | |
CN111744197B (zh) | 一种数据处理方法、装置、设备及可读存储介质 | |
CN112150464B (zh) | 一种图像检测方法、装置、电子设备及存储介质 | |
CN113011326B (zh) | 图像处理方法、装置、存储介质及计算机设备 | |
Jacob et al. | A non-intrusive approach for 2d platform game design analysis based on provenance data extracted from game streaming | |
CN115994944A (zh) | 三维关键点预测方法、训练方法及相关设备 | |
CN111739134B (zh) | 虚拟角色的模型处理方法、装置及可读存储介质 | |
CN109816791B (zh) | 用于生成信息的方法和装置 | |
CN115228092B (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: 40037808 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |