CN114247132B - 虚拟对象的控制处理方法、装置、设备、介质及程序产品 - Google Patents

虚拟对象的控制处理方法、装置、设备、介质及程序产品 Download PDF

Info

Publication number
CN114247132B
CN114247132B CN202210184755.6A CN202210184755A CN114247132B CN 114247132 B CN114247132 B CN 114247132B CN 202210184755 A CN202210184755 A CN 202210184755A CN 114247132 B CN114247132 B CN 114247132B
Authority
CN
China
Prior art keywords
jump
candidate
virtual object
distance
detection
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
CN202210184755.6A
Other languages
English (en)
Other versions
CN114247132A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202210184755.6A priority Critical patent/CN114247132B/zh
Publication of CN114247132A publication Critical patent/CN114247132A/zh
Application granted granted Critical
Publication of CN114247132B publication Critical patent/CN114247132B/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/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • 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
    • 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/80Special adaptations for executing a specific game genre or game mode
    • A63F13/822Strategy games; Role-playing games
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/807Role playing or strategy games
    • 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
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

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

Abstract

本申请提供了一种虚拟对象的控制处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品,方法包括:基于虚拟场景中虚拟对象的位置进行可移动节点的搜索处理,得到虚拟场景中的可移动目标节点;基于多个候选跳跃距离、以及可移动目标节点与虚拟对象之间的跳跃距离,确定每个候选跳跃距离的权重;基于候选跳跃距离与候选起跳速度的映射关系、以及每个候选跳跃距离的权重,确定虚拟对象的起跳速度;控制虚拟对象以起跳速度向可移动目标节点执行跳跃操作。通过本申请,能够实现自动化的准确跳跃。

Description

虚拟对象的控制处理方法、装置、设备、介质及程序产品
技术领域
本申请涉及计算机数据处理技术,尤其涉及一种虚拟对象的控制处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品。
背景技术
基于图形处理硬件的显示技术,扩展了感知环境以及获取信息的渠道,尤其是虚拟场景的显示技术,能够根据实际应用需求实现受控于用户或人工智能的虚拟对象之间的多样化的交互,具有各种典型的应用场景,例如在游戏等的虚拟场景中,能够模拟虚拟对象之间的真实的互动、对战等过程。
游戏关卡是一个很具挑战的任务,关卡中有很多跳跃障碍的高难度任务,需要精准地从A点跳跃到B点,跳跃的距离和落点与多个因素相关,在跳跃过程中,速度太快很容易跳出目标平台,速度太慢又会导致虚拟对象落空。
相关技术中,通过人工标注游戏地图中的关键点序列。在执行游戏关卡的过程中,虚拟对象按照关键点序列的顺序进行跳跃,从而实现游戏地图的探索。这种方案需要对每张游戏地图进行关键点序列标注,影响了虚拟场景中人机交互的效率,进而影响使用体验。
发明内容
本申请实施例提供一种虚拟对象的控制处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品,能够实现自动化的准确跳跃,提高虚拟场景中人机交互的效率。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种虚拟对象的控制处理方法,包括:
基于虚拟场景中虚拟对象的位置进行可移动节点的搜索处理,得到所述虚拟场景中的可移动目标节点;
基于多个候选跳跃距离、以及所述可移动目标节点与所述虚拟对象之间的跳跃距离,确定每个所述候选跳跃距离的权重;
基于所述候选跳跃距离与候选起跳速度的映射关系、以及每个所述候选跳跃距离的权重,确定所述虚拟对象的起跳速度;
控制所述虚拟对象以所述起跳速度向所述可移动目标节点执行跳跃操作。
本申请实施例提供一种虚拟对象的控制处理装置,包括:
搜索模块,用于基于虚拟场景中虚拟对象的位置进行可移动节点的搜索处理,得到所述虚拟场景中的可移动目标节点;
确定模块,用于基于多个候选跳跃距离、以及所述可移动目标节点与所述虚拟对象之间的跳跃距离,确定每个所述候选跳跃距离的权重;
基于所述候选跳跃距离与候选起跳速度的映射关系、以及每个所述候选跳跃距离的权重,确定所述虚拟对象的起跳速度;
执行模块,用于控制所述虚拟对象以所述起跳速度向所述可移动目标节点执行跳跃操作。
上述技术方案中,所述确定模块还用于确定每个所述候选跳跃距离与所述跳跃距离之间的距离差值的绝对值;
对所述绝对值进行映射处理,得到每个所述候选跳跃距离的权重;
其中,所述权重与所述绝对值负相关。
上述技术方案中,所述确定模块还用于针对任一所述候选跳跃距离执行以下处理:
基于所述候选跳跃距离查询所述映射关系,得到所述候选跳跃距离对应的候选起跳速度;
将所述候选跳跃距离对应的候选起跳速度与所述候选跳跃距离的比值,作为所述候选跳跃距离的跳跃比值;
基于每个所述候选跳跃距离的权重,对每个所述候选跳跃距离的跳跃比值进行加权求和,得到所述虚拟对象的跳跃因子;
将所述虚拟对象的跳跃因子与所述跳跃距离的乘积作为所述虚拟对象的起跳速度。
上述技术方案中,所述对每个所述候选跳跃距离的跳跃比值进行加权求和,得到所述虚拟对象的跳跃因子之前,所述确定模块还用于对所述候选跳跃距离的权重进行归一化处理,得到所述候选跳跃距离的归一化权重;
基于每个所述候选跳跃距离的归一化权重,对每个所述候选跳跃距离的跳跃比值进行加权求和,得到所述虚拟对象的跳跃因子。
上述技术方案中,所述控制所述虚拟对象以所述起跳速度向所述可移动目标节点执行跳跃操作之后,所述确定模块还用于确定执行所述跳跃操作对应的实际跳跃距离;
基于所述实际跳跃距离以及所述起跳速度对所述映射关系进行扩充处理,得到扩充后的映射关系;
其中,所述扩充后的映射关系用于后续基于所述虚拟场景中新的可移动目标节点,确定所述虚拟对象的新的起跳速度。
上述技术方案中,所述确定每个所述候选跳跃距离的权重之前,所述确定模块还用于基于检测射线对所述虚拟对象进行障碍物检测处理,得到所述虚拟对象的最大射线检测距离;
确定所述最大射线检测距离对应的方向上的多个测试起跳速度;
控制所述虚拟对象以每个所述测试起跳速度执行跳跃操作,得到每个所述测试起跳速度对应的测试跳跃距离;
将所述测试起跳速度作为所述映射关系中的候选起跳速度,将所述测试跳跃距离作为所述映射关系中的候选跳跃距离。
上述技术方案中,所述确定模块还用于控制所述虚拟对象向上移动跳跃高度,并从所述虚拟对象移动后的位置上向至少一个候选方向发射所述检测射线;
基于所述检测射线进行所述候选方向上的障碍物检测,其中,所述检测射线的长度为设定数值;
当确定所述候选方向上存在障碍物、且所述障碍物下方存在虚拟平台时,将所述候选方向上的障碍物与所述虚拟对象的距离,作为所述候选方向上的射线检测距离;
将所述射线检测距离中的最大值作为所述虚拟对象的最大射线检测距离。
上述技术方案中,所述确定模块还用于当所述检测射线与所述候选方向上的绑定在障碍物上的碰撞器组件存在交叉时,确定所述候选方向上存在所述障碍物;
当所述检测射线与所述候选方向上的绑定在障碍物上的碰撞器组件不存在交叉时,确定所述候选方向上不存在所述障碍物。
上述技术方案中,所述确定模块还用于当基于所述检测射线确定所述候选方向上不存在所述障碍物时,延长所述检测射线的长度;
基于延长后的检测射线进行所述候选方向上的障碍物检测。
上述技术方案中,所述搜索模块还用于从所述虚拟场景中虚拟对象的位置上向搜索方向发射检测射线;
当基于所述检测射线确定所述搜索方向上不存在障碍物时,以所述检测射线的终点为新的检测射线的起点,并向下发射所述新的检测射线;
当基于所述新的检测射线确定所述起点的下方存在虚拟平台时,将所述虚拟平台与所述新的检测射线的交点作为可移动目标节点。
上述技术方案中,所述搜索模块还用于当基于所述新的检测射线确定所述起点的下方不存在虚拟平台时,延长所述检测射线的长度;
基于延长后的检测射线继续进行所述障碍物的检测处理以及所述虚拟平台的检测处理,直至所述延长后的检测射线的长度达到所述虚拟对象能够跳跃的最远距离。
上述技术方案中,所述搜索模块还用于当基于所述检测射线确定所述搜索方向上不存在障碍物,或者基于所述新的检测射线确定所述起点的下方不存在虚拟平台时,对所述搜索方向进行角度调整,得到调整后的搜索方向;
基于所述虚拟对象的位置进行所述调整后的搜索方向上的可移动节点的搜索处理,得到所述调整后的搜索方向的可移动目标节点。
上述技术方案中,所述从所述虚拟场景中虚拟对象的位置上向搜索方向发射检测射线之前,所述搜索模块还用于确定多个候选搜索方向的优先级;
将优先级最高的所述候选搜索方向作为所述搜索方向;
当基于优先级最高的所述候选搜索方向未搜索到可移动目标节点时,对所述多个候选搜索方向中除所述优先级最高的候选搜索方向进行降序排序处理;
将降序排序结果中首个满足以下条件的候选搜索方向作为所述搜索方向:
在优先级仅高于所述候选搜索方向的候选搜索方向上未搜索到可移动目标节点;
所述候选搜索方向上未进行可移动节点的搜索处理。
本申请实施例提供一种用于控制处理的电子设备,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的虚拟对象的控制处理方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的虚拟对象的控制处理方法。
本申请实施例提供一种计算机程序产品,包括计算机程序或指令,所述计算机程序或指令被处理器执行时实现本申请实施例提供的虚拟对象的控制处理方法。
本申请实施例具有以下有益效果:
通过基于候选跳跃距离与候选起跳速度的映射关系、以及每个候选跳跃距离的权重,确定虚拟对象的起跳速度,并控制虚拟对象以起跳速度向可移动目标节点执行跳跃操作,以实现自动化的准确跳跃,相较于人工标注关键点序列的方案,提高了虚拟场景中人机交互的效率,从而节约了相关的通信资源和计算资源。
附图说明
图1A是本申请实施例提供的虚拟对象的控制处理方法的第一应用模式示意图;
图1B是本申请实施例提供的虚拟对象的控制处理方法的第二应用模式示意图;
图2是本申请实施例提供的用于控制处理的电子设备的结构示意图;
图3是本申请实施例提供的虚拟对象的控制处理方法的第一流程示意图;
图4是本申请实施例提供的虚拟对象的控制处理方法的第二流程示意图;
图5是本申请实施例提供的虚拟对象的控制处理方法的第三流程示意图;
图6是本申请实施例提供的射线检测的示意图;
图7是本申请实施例提供的延长射线进行检测的示意图;
图8是本申请实施例提供的关卡测试的示意图;
图9是本申请实施例提供的一种参数自适应优化的无监督关卡自动化方法的流程示意图;
图10是本申请实施例提供的角度调整的示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,所涉及的术语“第一\第二”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)响应于:用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
2)客户端:终端中运行的用于提供各种服务的应用程序,例如视频播放客户端、游戏客户端等。
3)虚拟场景:游戏程序在终端上运行时显示(或提供)的虚拟游戏场景。该虚拟场景可以是对真实世界的仿真环境,也可以是半仿真半虚构的虚拟环境,还可以是纯虚构的虚拟环境。虚拟场景可以是二维虚拟场景、2.5维虚拟场景或者三维虚拟场景中的任意一种,本申请实施例对虚拟场景的维度不加以限定。例如,虚拟场景可以包括天空、陆地、海洋等,该陆地可以包括沙漠、城市等环境元素,用户可以控制虚拟对象在该虚拟场景中进行移动。
4)虚拟对象:虚拟场景中可以进行交互的各种人和物的形象,或在虚拟场景中的可活动对象。该可活动对象可以是虚拟人物、虚拟动物、动漫人物等,例如在虚拟场景中显示的人物、动物等。该虚拟对象可以是虚拟场景中的一个虚拟的用于代表用户的虚拟角色。虚拟场景中可以包括多个虚拟对象,每个虚拟对象在虚拟场景中具有自身的形状和体积,占据虚拟场景中的一部分空间。
5)场景数据:表示虚拟场景的特征数据,例如可以是虚拟场景中建造区域的面积、虚拟场景当前所处的建筑风格等;也可以包括虚拟建筑在虚拟场景中所处的位置、以及虚拟建筑的占地面积等。
6)可移动节点:虚拟场景的地图界面中,能够被虚拟角色在其中移动行走(可达)的区域称为可移动区域(又称可行区域),可移动区域中的点称为可移动节点;不能够被虚拟角色在其中移动行走(可达)的区域称为不可移动区域(又称不可行区域),不可移动区域中的点称为不可移动节点。
例如,虚拟场景中一个方向的检测射线没有检测到障碍物,且以检测射线的终点为新的检测射线的起点,并向下发射新的检测射线,新的检测射线检测到下方有落脚点(又称虚拟平台),则虚拟平台称为可行区域,新的检测射线与虚拟平台的交点称为可行区域的可移动节点;虚拟场景中存在障碍物的区域,或者不存在落脚点的区域是不可行区域。
7)射线检测:从起点向特定方向发射检测射线(检测距离可以进行设置),当返回碰撞的信息,则说明特定方向发生碰撞,存在障碍物。
本申请实施例提供一种虚拟对象的控制处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品,能够实现自动化的准确跳跃,提高虚拟场景中人机交互的效率。为便于更容易理解本申请实施例提供的虚拟对象的控制处理方法,首先说明本申请实施例提供的虚拟对象的控制处理方法的示例性实施场景,本申请实施例提供的虚拟对象的控制处理方法中的虚拟对象可以完全基于终端输出,或者基于终端和服务器协同输出。
在一些实施例中,虚拟场景可以是供游戏角色交互的环境,例如可以是供游戏角色在虚拟场景中进行对战,通过控制游戏角色的行动可以在虚拟场景中进行双方互动,从而使用户能够在游戏的过程中舒缓生活压力。
在一个实施场景中,参见图1A,图1A是本申请实施例提供的虚拟对象的控制处理方法的应用模式示意图,适用于一些完全依赖于终端400的图形处理硬件计算能力即可完成虚拟场景100的相关数据计算的应用模式,例如单机版/离线模式的游戏,通过智能手机、平板电脑和虚拟现实/增强现实设备等各种不同类型的终端400完成虚拟场景的输出。
作为示例,图形处理硬件的类型包括中央处理器(CPU,Central ProcessingUnit)和图形处理器(GPU,Graphics Processing Unit)。
当形成虚拟场景100的视觉感知时,终端400通过图形计算硬件计算显示所需要的数据,并完成显示数据的加载、解析和渲染,在图形输出硬件输出能够对虚拟场景形成视觉感知的视频帧,例如,在智能手机的显示屏幕呈现二维的视频帧,或者,在增强现实/虚拟现实眼镜的镜片上投射实现三维显示效果的视频帧;此外,为了丰富感知效果,终端400还可以借助不同的硬件来形成听觉感知、触觉感知、运动感知和味觉感知的一种或多种。
作为示例,终端400上运行有客户端410(例如单机版的游戏应用),在客户端410的运行过程中输出包括有角色扮演的虚拟场景,虚拟场景可以是供游戏角色交互的环境,例如可以是用于供游戏角色进行对战的平原、街道、山谷等等;以第一人称视角显示虚拟场景100为例,在虚拟场景100中显示虚拟对象110,虚拟对象110可以是通过训练设置在虚拟场景中的人工智能(AI,Artificial Intelligence),虚拟对象110可以在虚拟场景中行走,还可以保持原地静止、跳跃以及使用各种功能(如技能和道具);虚拟对象110可以是受用户(或称玩家)控制的游戏角色,将响应于真实用户针对按钮(包括摇杆按钮、攻击按钮、防御按钮等)的操作而在虚拟场景中操作,例如当真实用户向左移动摇杆按钮时,虚拟对象将在虚拟场景中向左部移动,还可以保持原地静止、跳跃以及使用各种功能(如技能和道具);虚拟对象110还可以是设置在虚拟场景互动中的非用户角色(NPC,Non-Player Character)。
举例来说,以第一人称视角显示虚拟场景100为例,在虚拟场景100中显示虚拟对象110,在执行游戏关卡(包括很多跳跃障碍的高难度任务)时,通过本申请实施例的虚拟对象的控制处理方法,基于虚拟场景中虚拟对象100的位置进行可移动节点的搜索处理,得到虚拟场景中的可移动目标节点120(即虚拟平台),基于多个候选跳跃距离、以及可移动目标节点120与虚拟对象110之间的跳跃距离,确定每个候选跳跃距离的权重,基于候选跳跃距离与候选起跳速度的映射关系、以及每个候选跳跃距离的权重,确定虚拟对象110的起跳速度,控制虚拟对象110以起跳速度向可移动目标节点120执行跳跃操作,以完成跳跃障碍的高难度任务。
在另一个实施场景中,参见图1B,图1B是本申请实施例提供的虚拟对象的控制处理方法的应用模式示意图,应用于终端400和服务器200,适用于依赖于服务器200的计算能力完成虚拟场景计算、并在终端400输出虚拟场景的应用模式。
以形成虚拟场景100的视觉感知为例,服务器200进行虚拟场景相关显示数据(例如场景数据)的计算并通过网络300发送到终端400,终端400依赖于图形计算硬件完成计算显示数据的加载、解析和渲染,依赖于图形输出硬件输出虚拟场景以形成视觉感知,例如可以在智能手机的显示屏幕呈现二维的视频帧,或者,在增强现实/虚拟现实眼镜的镜片上投射实现三维显示效果的视频帧;对于虚拟场景的形式的感知而言,可以理解,可以借助于终端400的相应硬件输出,例如使用麦克风形成听觉感知,使用振动器形成触觉感知等等。
作为示例,终端400上运行有客户端410(例如网络版的游戏应用),通过连接服务器200(例如游戏服务器)与其他用户进行游戏互动,终端400输出客户端410的虚拟场景100,以第一人称视角显示虚拟场景100为例,在虚拟场景100中显示虚拟对象110,虚拟对象110可以是通过训练设置在虚拟场景中的人工智能,虚拟对象110可以在虚拟场景中行走,还可以保持原地静止、跳跃以及使用各种功能(如技能和道具);虚拟对象110可以是受用户(或称玩家)控制的游戏角色,将响应于真实用户针对按钮(包括摇杆按钮、攻击按钮、防御按钮等)的操作而在虚拟场景中操作,例如当真实用户向左移动摇杆按钮时,虚拟对象将在虚拟场景中向左部移动,还可以保持原地静止、跳跃以及使用各种功能(如技能和道具);虚拟对象110还可以是设置在虚拟场景互动中的非用户角色。
举例来说,以第一人称视角显示虚拟场景100为例,在虚拟场景100中显示虚拟对象110,在执行游戏关卡(包括很多跳跃障碍的高难度任务)时,通过本申请实施例的虚拟对象的控制处理方法,基于虚拟场景中虚拟对象100的位置进行可移动节点的搜索处理,得到虚拟场景中的可移动目标节点120(即虚拟平台),基于多个候选跳跃距离、以及可移动目标节点120与虚拟对象110之间的跳跃距离,确定每个候选跳跃距离的权重,基于候选跳跃距离与候选起跳速度的映射关系、以及每个候选跳跃距离的权重,确定虚拟对象110的起跳速度,控制虚拟对象110以起跳速度向可移动目标节点120执行跳跃操作,以完成跳跃障碍的高难度任务。
在一些实施例中,终端400可以通过运行计算机程序来实现本申请实施例提供的虚拟对象的控制处理方法,例如,计算机程序可以是操作系统中的原生程序或软件模块;可以是本地(Native)应用程序(APP,APPlication),即需要在操作系统中安装才能运行的程序,例如关卡游戏APP(即上述的客户端410);也可以是小程序,即只需要下载到浏览器环境中就可以运行的程序;还可以是能够嵌入至任意APP中的游戏小程序。总而言之,上述计算机程序可以是任意形式的应用程序、模块或插件。
以计算机程序为应用程序为例,在实际实施时,终端400安装和运行有支持虚拟场景的应用程序。该应用程序可以是第一人称射击游戏(FPS,First-Person Shootinggame)、第三人称射击游戏、虚拟现实应用程序、三维地图程序或者多人枪战类生存游戏中的任意一种。用户使用终端400操作位于虚拟场景中的虚拟对象进行活动,该活动包括但不限于:调整身体姿态、爬行、步行、奔跑、骑行、跳跃、驾驶、拾取、射击、攻击、投掷、建造虚拟建筑中的至少一种。示意性的,该虚拟对象可以是虚拟人物,比如仿真人物角色或动漫人物角色等。
在一些实施例中,本申请实施例还可以借助于云技术(Cloud Technology)实现,云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、以及应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源。
示例的,图1B中的服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端等,但并不局限于此。终端400以及服务器200可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
参见图2,图2是本申请实施例提供的用于控制处理的电子设备的结构示意图,以电子设备为终端400为例进行说明,图2所示的电子设备400包括:至少一个处理器420、存储器460、至少一个网络接口430和用户接口440。终端400中的各个组件通过总线系统450耦合在一起。可理解,总线系统450用于实现这些组件之间的连接通信。总线系统450除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统450。
处理器420可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口440包括使得能够呈现媒体内容的一个或多个输出装置441,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口440还包括一个或多个输入装置442,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器460可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器460可选地包括在物理位置上远离处理器420的一个或多个存储设备。
存储器460包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器460旨在包括任意适合类型的存储器。
在一些实施例中,存储器460能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统461,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块462,用于经由一个或多个(有线或无线)网络接口430到达其他计算设备,示例性的网络接口430包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块463,用于经由一个或多个与用户接口440相关联的输出装置441(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块464,用于对一个或多个来自一个或多个输入装置442之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的虚拟对象的控制处理装置可以采用软件方式实现,图2示出了存储在存储器460中的虚拟对象的控制处理装置465,其可以是程序和插件等形式的软件,包括以下软件模块:搜索模块4651、确定模块4652、执行模块4653,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。
在另一些实施例中,本申请实施例提供的虚拟对象的控制处理装置可以采用硬件方式实现,作为示例,本申请实施例提供的虚拟对象的控制处理装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的虚拟对象的控制处理方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,ProgrammableLogic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
下面将结合附图对本申请实施例提供的虚拟对象的控制处理方法进行具体说明。本申请实施例提供的虚拟对象的控制处理方法可以由图1A中的终端400单独执行,也可以由图1B中的终端400和服务器200协同执行。
下面,以由图1A中的终端400单独执行本申请实施例提供的虚拟对象的控制处理方法为例进行说明。参见图3,图3是本申请实施例提供的虚拟对象的控制处理方法的流程示意图,将结合图3示出的步骤进行说明。
需要说明的是,图3示出的方法可以由终端400上运行的各种形式的计算机程序执行,并不局限于上述的客户端410,还可以是上文的操作系统461、软件模块和脚本,因此客户端不应视为对本申请实施例的限定。
在步骤101中,基于虚拟场景中虚拟对象的位置进行可移动节点的搜索处理,得到虚拟场景中的可移动目标节点。
例如,本申请实施例中的虚拟场景包含多个虚拟平台,虚拟平台之间落空,需要虚拟对象通过跳跃从一个虚拟平台跳跃至另一个虚拟平台,在跳跃过程中,速度太快很容易跳出虚拟平台,速度太慢又会导致虚拟对象落空,掉落虚拟平台。为了保证虚拟对象能够从一个虚拟平台跳跃至另一个虚拟平台,需要进行可移动节点的搜索处理,以使虚拟对象能够跳跃至虚拟场景中的可移动目标节点。
需要说明的是,在虚拟场景中,能够被虚拟对象在其中移动的区域称为可移动区域(又称可行区域),可移动区域中的点称为可移动节点;不能够被虚拟对象在其中移动的区域称为不可移动区域(又称不可行区域),不可移动区域中的点称为不可移动节点。例如,虚拟场景中一个方向的检测射线没有检测到障碍物,且以检测射线的终点为新的检测射线的起点,并向下发射新的检测射线,新的检测射线检测到下方有落脚点(又称虚拟平台),则虚拟平台为可行区域,新的检测射线与虚拟平台的交点为可行区域的可移动节点;虚拟场景中存在障碍物的区域,或者不存在落脚点的区域是不可行区域。其中,可移动目标节点表示虚拟对象需要跳跃至的目标节点。
参见图4,图4是本申请实施例提供的虚拟对象的控制处理方法的一个可选的流程示意图,图4示出图3中的步骤101可以通过步骤1011-步骤1013实现:在步骤1011中,从虚拟场景中虚拟对象的位置上向搜索方向发射检测射线;在步骤1012中,当基于检测射线确定搜索方向上不存在障碍物时,以检测射线的终点为新的检测射线的起点,并向下发射新的检测射线;在步骤1013中,当基于新的检测射线确定起点的下方存在虚拟平台时,将虚拟平台与新的检测射线的交点作为可移动目标节点。
需要说明的是,搜索方向可以是设定的方向,例如前方、后方、左方、右方等,检测射线的长度为设定值,例如虚拟对象行走移动1秒的距离。本申请实施例可以从虚拟对象的位置上向搜索方向发射检测射线以实现障碍物检测,还可以控制虚拟对象向上移动跳跃高度(设定高度,例如1米),并从虚拟对象移动后的位置上向搜索方向发射检测射线以实现障碍物检测。
如图6所示,虚拟对象由初始位置601向上移动跳跃高度(设定高度,例如1米)至移动后的位置602,并从虚拟对象移动后的位置602上向前方发射检测射线以进行障碍物检测,当基于检测射线确定前方不存在障碍物时,以检测射线的终点603为新的检测射线的起点,并向下发射新的检测射线604,当基于新的检测射线604确定起点的下方存在虚拟平台605时,将虚拟平台与新的检测射线的交点作为可移动目标节点。
在一些实施例中,当基于新的检测射线确定起点的下方不存在虚拟平台时,延长检测射线的长度;基于延长后的检测射线继续进行障碍物的检测处理以及虚拟平台的检测处理,直至延长后的检测射线的长度达到虚拟对象能够跳跃的最远距离。
如图7所示,当基于新的检测射线604确定起点的下方不存在虚拟平台605时,通过增加1倍的检测射线,以延长检测射线的长度,当基于延长的检测射线确定搜索方向上不存在障碍物时,以延长的检测射线的终点为新的检测射线606的起点,并向下发射新的检测射线606,当基于新的检测射线606确定起点的下方存在虚拟平台605时,将虚拟平台与新的检测射线606的交点作为可移动目标节点。通过延长检测射线以检测虚拟平台,避免遗漏较远距离的虚拟平台,从而导致虚拟平台的检测漏洞,提高虚拟平台检测的准确性,以便后续能够实现准确的跳跃操作。
需要说明的是,当基于延长后的检测射线继续进行障碍物的检测处理以及虚拟平台的检测处理,直至延长后的检测射线的长度达到虚拟对象能够跳跃的最远距离后,仍未检测到可移动目标节点时,可以基于其他的搜索方向进行障碍物的检测处理以及虚拟平台的检测处理。
在一些实施例中,当基于检测射线确定搜索方向上不存在障碍物,或者基于新的检测射线确定起点的下方不存在虚拟平台时,对搜索方向进行角度调整,得到调整后的搜索方向;基于虚拟对象的位置进行调整后的搜索方向上的可移动节点的搜索处理,得到调整后的搜索方向的可移动目标节点。
例如,当基于检测射线确定搜索方向上不存在障碍物,或者基于新的检测射线确定起点的下方不存在虚拟平台时,对搜索方向进行角度调整,例如将该搜索方向向左或向右依次微调5度、10度、15度、20度、25度、30度、35度、45度等角度,得到调整后的搜索方向,在调整后的搜索方向上重新发射检测射线检测可移动节点,如果检测到可移动节点,则停止角度调整,这样做的目的是防止遗漏狭窄的虚拟平台。
如图10所示的角度调整的示意图,实线射线1001对应朝前方发射的射线,由于没有检测到落脚点(即虚拟平台),逐步扩大射线检测的距离,当射线距离达到跳跃的极限距离后,仍没有检测到可移动节点。于是,逐步调整射线检测的方向,当调整到虚线射线1002方向后,终于在另一个虚拟平台找到了新的落脚点1003。
在一些实施例中,从虚拟场景中虚拟对象的位置上向搜索方向发射检测射线之前,确定多个候选搜索方向的优先级;将优先级最高的候选搜索方向作为搜索方向;当基于优先级最高的候选搜索方向未搜索到可移动目标节点时,对多个候选搜索方向中除优先级最高的候选搜索方向进行降序排序处理;将降序排序结果中首个满足以下条件的候选搜索方向作为搜索方向:在优先级仅高于候选搜索方向的候选搜索方向上未搜索到可移动目标节点;候选搜索方向上未进行可移动节点的搜索处理。
例如,为不同的候选探索方向设置优先级,优先级最高的方向是虚拟对象的前方,随后是左方、右方、后方。采用深度遍历的方法优先控制虚拟对象往优先级最高的方向移动,如果该优先级最高的方向没有可移动节点,再遍历其余候选搜索方向,从而使得虚拟对象向优先级较高的方向移动。通过设置候选搜索方向的优先级,使得虚拟对象向优先级较高的方向进行跳跃操作,从而保证虚拟对象能够有规律进行跳跃,以更清晰地探索出虚拟对象的跳跃路径。
作为示例,当基于优先级最高的前方未搜索到可移动目标节点时,则基于优先级次高的左方进行可移动节点的搜索处理,当左方未搜索到可移动目标节点,则依次进行右方、后方的可移动节点的搜索处理。
在步骤102中,基于多个候选跳跃距离、以及可移动目标节点与虚拟对象之间的跳跃距离,确定每个候选跳跃距离的权重。
需要说明的是,跳跃距离为跳跃的起跳点到落地点之间的距离。在确定可移动目标节点后,从候选跳跃距离与候选起跳速度的映射关系(即映射表)中获取多个候选跳跃距离,基于多个候选跳跃距离、以及可移动目标节点与虚拟对象之间的跳跃距离进行投票处理,得到每个候选跳跃距离的权重(即投票的权重),以便后续基于每个候选跳跃距离的权重计算虚拟对象的起跳速度。其中,每个候选跳跃距离的权重与、候选跳跃距离与跳跃距离之间的差值有关。其中,投票处理是通过投票机制实现的,投票机制是集成学习中的一个结合策略,为每个样本分配权重,本申请实施例中的样本为候选跳跃距离,即为每个候选跳跃距离分配权重。
在一些实施例中,基于多个候选跳跃距离、以及可移动目标节点与虚拟对象之间的跳跃距离,确定每个候选跳跃距离的权重,包括:确定每个候选跳跃距离与跳跃距离之间的距离差值的绝对值;对绝对值进行映射处理,得到每个候选跳跃距离的权重;其中,权重与绝对值负相关,从而让离跳跃距离越近的候选跳跃距离的权重越高。
例如,每个候选跳跃距离的权重的计算公式为
Figure 323162DEST_PATH_IMAGE001
,其中,
Figure 177986DEST_PATH_IMAGE002
表示映射表中第i个候选跳跃距离的权重,
Figure 754461DEST_PATH_IMAGE003
表示可移动目标节点与虚拟对象之间的跳跃距离(即目标跳跃距离),
Figure 821774DEST_PATH_IMAGE004
表示第i个候选跳跃距离,
Figure 573829DEST_PATH_IMAGE005
表示对绝对值x(
Figure 333975DEST_PATH_IMAGE006
)的映射处理。需要说明的是,每个候选跳跃距离的权重的计算公式不局限于
Figure 273112DEST_PATH_IMAGE001
,还可以是其他的变形公式。
在步骤103中,基于候选跳跃距离与候选起跳速度的映射关系、以及每个候选跳跃距离的权重,确定虚拟对象的起跳速度。
需要说明的是,在确定每个候选跳跃距离的权重后,基于候选跳跃距离与候选起跳速度的映射关系(即映射表)、以及每个候选跳跃距离的权重,计算虚拟对象的起跳速度,以便后续基于虚拟对象的起跳速度进行跳跃操作。其中,虚拟对象的起跳速度与候选跳跃距离对应的候选起跳速度、每个候选跳跃距离的权重有关。
参见图5,图5是本申请实施例提供的虚拟对象的控制处理方法的一个可选的流程示意图,图5示出图3中的步骤103可以通过步骤1031-步骤1034实现:在步骤1031中,针对任一候选跳跃距离执行以下处理:基于候选跳跃距离查询映射关系,得到候选跳跃距离对应的候选起跳速度;在步骤1032中,将候选跳跃距离对应的候选起跳速度与候选跳跃距离的比值,作为候选跳跃距离的跳跃比值;在步骤1033中,基于每个候选跳跃距离的权重,对每个候选跳跃距离的跳跃比值进行加权求和,得到虚拟对象的跳跃因子;在步骤1034中,将虚拟对象的跳跃因子与跳跃距离的乘积作为虚拟对象的起跳速度。
例如,对每个候选跳跃距离的跳跃比值进行加权求和,得到虚拟对象的跳跃因子之前,对候选跳跃距离的权重进行归一化处理,得到候选跳跃距离的归一化权重;基于每个候选跳跃距离的归一化权重,对每个候选跳跃距离的跳跃比值进行加权求和,得到虚拟对象的跳跃因子。
作为示例,依次计算映射表中候选起跳速度和候选跳跃距离的跳跃比值
Figure 409695DEST_PATH_IMAGE007
,其中,s表示候选起跳速度,d表示候选跳跃距离。得到每个候选跳跃距离的权重后,对每个候选跳跃距离的权重进行归一化,得到每个候选跳跃距离的归一化权重
Figure 750678DEST_PATH_IMAGE008
,其中,
Figure 540779DEST_PATH_IMAGE009
表示第i个候选跳跃距离的归一化权重,
Figure 967212DEST_PATH_IMAGE010
表示第i个候选跳跃距离的权重。通过归一化后,将归一化权重乘以对应的跳跃比值,通过这样的方式来计算跳跃距离对应的跳跃因子
Figure 641907DEST_PATH_IMAGE011
,其中,
Figure 102976DEST_PATH_IMAGE012
表示第i个候选跳跃距离的跳跃比值,虚拟对象的起跳速度为
Figure 470503DEST_PATH_IMAGE013
。需要说明的是,本申请实施例并不局限于
Figure 649812DEST_PATH_IMAGE008
,还可以是其他归一化公式。
在一些实施例中,确定每个候选跳跃距离的权重之前,基于检测射线对虚拟对象进行障碍物检测处理,得到虚拟对象的最大射线检测距离;确定最大射线检测距离对应的方向上的多个测试起跳速度;控制虚拟对象以每个测试起跳速度执行跳跃操作,得到每个测试起跳速度对应的测试跳跃距离;将测试起跳速度作为映射关系中的候选起跳速度,将测试跳跃距离作为映射关系中的候选跳跃距离。
例如,在获取虚拟对象的最大射线检测距离之后,将跳跃方向设置为最大射线检测距离对应的方向,同时确定跳跃方向上的多种(例如10种)不同的测试起跳速度(1米/秒到10米/秒),通过游戏接口分别设置不同的测试起跳跳跃,执行跳跃操作,记录每次跳跃距离和对应的速度,每次跳跃后都要控制虚拟对象回到初始起跳位置,再进行下一次的跳跃测试。最终,保存测试起跳速度和跳跃距离的映射表,比如跳跃速度为4米/秒时,跳跃的距离为5米,其中最大的起跳速度对应的跳跃距离为跳跃的极限距离。
在一些实施例中,基于检测射线对虚拟对象进行障碍物检测处理,得到虚拟对象的最大射线检测距离,包括:控制虚拟对象向上移动跳跃高度,并从虚拟对象移动后的位置上向至少一个候选方向发射检测射线;基于检测射线进行候选方向上的障碍物检测,其中,检测射线的长度为设定数值;当确定候选方向上存在障碍物、且障碍物下方存在虚拟平台时,将候选方向上的障碍物与虚拟对象的距离,作为候选方向上的射线检测距离;将射线检测距离中的最大值作为虚拟对象的最大射线检测距离。
例如,进入游戏后,通过游戏接口获取虚拟对象的位置,控制虚拟对象原地跳跃,记录虚拟对象跳跃的高度。随后,控制虚拟对象向前移动1秒,计算这1秒内移动的距离,将其作为射线检测的距离。接着,将虚拟对象向上移动跳跃高度(即在虚拟对象的位置向上移动固定距离(例如1米)),并向前后左右四个方向(候选方向)发射水平的检测射线(射线检测的初始距离为虚拟对象1秒移动的距离),当确定候选方向上存在障碍物、且障碍物下方存在虚拟平台时,将候选方向上的障碍物与虚拟对象的距离,作为候选方向上的射线检测距离,将所有候选方向上的射线检测距离中的最大值作为虚拟对象的最大射线检测距离。
在一些实施例中,基于检测射线的长度进行候选方向上的障碍物检测,包括:当检测射线与候选方向上的绑定在障碍物上的碰撞器组件存在交叉时,确定候选方向上存在障碍物;当检测射线与候选方向上的绑定在障碍物上的碰撞器组件不存在交叉时,确定候选方向上不存在障碍物。
例如,当检测射线与候选方向上的绑定在障碍物上的碰撞器组件存在交叉时,说明确定候选方向上存在障碍物,并与检测射线发生碰撞,则检测射线与障碍物碰撞后,返回碰撞信息(例如障碍物的信息);当检测射线与候选方向上的绑定在障碍物上的碰撞器组件不存在交叉时,说明确定候选方向上不存在障碍物。
在一些实施例中,基于检测射线的长度进行候选方向上的障碍物检测,包括:当基于检测射线确定候选方向上不存在障碍物时,延长检测射线的长度;基于延长后的检测射线进行候选方向上的障碍物检测。
例如,将虚拟对象向上移动跳跃高度(即在虚拟对象的位置向上移动固定距离(例如1米)),并向前后左右四个方向(候选方向)发射水平的检测射线(射线检测的初始距离为虚拟对象1秒移动的距离),当基于检测射线确定候选方向上不存在障碍物时,延长检测射线的长度(加上虚拟对象1秒内移动的距离),基于延长后的检测射线继续进行候选方向上的障碍物检测,如果延长检测射线至设定长度,仍未检测到障碍物或不存在落脚点(虚拟平台),则停止射线检测。
在步骤104中,控制虚拟对象以起跳速度向可移动目标节点执行跳跃操作。
例如,在确定起跳速度以及可移动目标节点后,控制虚拟对象以起跳速度向可移动目标节点自动执行跳跃操作,以实现虚拟对象从一个虚拟平台跳跃至另一个虚拟平台。
在一些实施例中,控制虚拟对象以起跳速度向可移动目标节点执行跳跃操作之后,确定执行跳跃操作对应的实际跳跃距离;基于实际跳跃距离以及起跳速度对映射关系进行扩充处理,得到扩充后的映射关系;其中,扩充后的映射关系用于后续基于虚拟场景中新的可移动目标节点,确定虚拟对象的新的起跳速度。
例如,虚拟对象按照起跳速度跳跃后,记录实际的跳跃距离,将实际的跳跃距离以及起跳速度保存至映射关系中,以不断扩充映射关系中的样本数量,从而能够更加精确地计算虚拟对象的起跳速度。
下面,将说明本申请实施例在一个实际的游戏应用场景中的示例性应用。
游戏关卡自动化是一个很具挑战的任务,关卡中有很多跳跃障碍的高难度任务,需要精准地从A点跳跃到B点,跳跃的距离和落点与多个因素相关,比如游戏角色的移动速度、摇杆的方向。在跳跃过程中,游戏角色的速度太快很容易跳出目标平台,速度太慢又会导致角色掉落。如图8所示的关卡测试,该关卡有很多需要跳跃的场景,两个跳跃平台(虚拟平台801以及虚拟平台802)之间是落空的,部分平台的面积很小,需要很精准的跳跃才能成功。
相关技术中,基于关键点序列的枪战游戏自动化方法,该方案需要人工标注游戏地图中的关键点序列,在测试过程中,游戏角色会按照关键点序列的顺序进行移动,从而实现游戏地图的探索,该方法需要对每张游戏地图进行关键点序列标注,会耗费大量的人力成本。
基于录制回放实现枪战游戏自动化的方案,该方案需要人工针对每个地图录制一局游戏,游戏过程中需要记录每一帧游戏角色的位置、摇杆的操作、是否开枪、是否跳跃。在测试阶段,游戏AI需要控制游戏角色移动至记录的位置,再执行对应的操作,该方法同样需要耗费大力的人力成本,需要针对每个游戏地图录制游戏对局。
为了解决上述问题,本申请实施例提供了一种参数自适应优化的无监督关卡自动化方法(即虚拟对象的控制处理方法),能够在无人工干预的情况下自动调节模型参数(即游戏角色的跳跃参数),快速实现关卡的自动化(包含连续跳跃障碍等高难度操作)。在初始化时通过不同的速度测试游戏角色的跳跃距离,保留多个起跳速度和跳跃距离的映射关系(将多个起跳速度和跳跃距离保存至起跳速度和跳跃距离的映射表中)。给定跳跃距离的情况下,基于距离归一化的投票机制来计算游戏角色的起跳速度,从而达到精准跳跃的目的,游戏角色按照这个起跳速度跳跃后,记录实际的跳跃距离,将实际的跳跃距离以及起跳速度保存至映射表中,以优化投票机制。解决跳跃的相关问题后,基于射线检测判断可移动区域的位置,控制游戏角色遍历可移动区域,为了防止射线检测遗漏部分很小的虚拟平台,本申请实施例优化了射线发射的方式,如果一个方向没有检测到可移动区域,会微调射线检测方向,判断附近是否存在可移动区域,本申请实施例不需要人工参与,能大幅降低人力成本。
自动化探索关卡是极具挑战的任务,能用于游戏陪玩和自动化测试。本申请实施例提出的一种参数自适应优化的无监督关卡自动化方法,无需人工参与,能自适应调整跳跃相关的模型参数,从而实现精准跳跃。同时,优化了检测可移动区域的方式,能检测更多的可移动区域。给定一个特定跳跃距离,计算该特定跳跃距离和映射表中保存的跳跃距离之间的距离差值,根据距离差值进行归一化,求得投票的权重,基于权重获取特定跳跃距离对应的起跳速度,最后在起跳前预先设置游戏角色对应的起跳速度,从而达到精准跳跃的目的。学习了如何跳跃后,进行自动探索地图,同样是基于射线检测的方式来获取地图的可行区域。首先,以游戏角色的位置为起点,向水平的4个方向(前、后、左、右)发射射线,如果一个方向的射线没有检测到障碍物同时下方有落脚点,则将其作为可行区域的节点(可移动节点),否则微调射线的角度,继续发射射线,这样做能防止遗漏狭窄的移动区域,按照深度优先遍历的方法探索游戏地图,直至没有找到新的可移动节点,以实现新场景的自动探索。
如图9所示,下面具体说明本申请实施例提出的一种参数自适应优化的无监督关卡自动化方法:
步骤1、寻找跳跃位置。
进入游戏场景后,首先寻找后续步骤测试角色跳跃能力的跳跃位置。通过游戏接口获取游戏角色的位置,控制游戏角色原地跳跃,记录游戏角色跳跃的高度。随后,控制游戏角色向前移动1秒,计算这1秒内移动的距离,将其作为射线检测的距离。接着,将游戏角色向上偏移跳跃高度(即在游戏角色的位置向上移动固定距离(例如1米)),并向前后左右四个方向发射水平的射线(射线检测的初始距离为角色1秒移动的距离),如果射线的终点没有检测到障碍物、同时终点的下方有落脚点(在终点向下发射射线,如果下方一段距离内(例如2倍跳跃高度)检测到碰撞,则说明有落脚点),则扩大射线检测的距离(加上游戏角色1秒内移动的距离)。如果射线检测到障碍物或下方不存在落脚点,则停止射线检测。
计算四个方向中的最大射线检测距离(四个方向中距离障碍物最远的距离),这个最大射线检测距离对应游戏角色跳跃距离的上限。例如最大射线距离为3米,游戏角色如果朝前方跳跃,即使游戏角色能跳跃6米,也会在3米时碰到障碍物或掉落平台。
本申请实施例找到一个合适的位置让游戏角色进行跳跃能力的测试,在跳跃过程中不会碰到障碍物或掉落平台。因此挑选最大射线检测距离对应的方向作为跳跃的目标方向,当游戏角色所在的平台具有移动空间时,会向目标方向的反方向移动可移动距离(基于反方向的最大射线检测长度移动),这样可以扩大该目标方向的最大射线检测距离。
步骤2、测试跳跃能力。
将跳跃方向设置为步骤1所找到的最大射线检测距离对应的方向,同时设置了多种(例如10种)不同的起跳速度(1米/秒到10米/秒),通过接口分别设置不同的起跳跳跃,执行跳跃操作,记录每次跳跃距离和对应的速度,每次跳跃后都要控制游戏角色回到起跳位置,再进行下一次的跳跃测试。最终,保存起跳速度和跳跃距离的映射表,比如跳跃速度为4米/秒时,跳跃的距离为5米,其中最大的起跳速度对应的跳跃距离为跳跃的极限距离。
3、学习跳跃参数
获取到起跳速度和跳跃距离的映射表后,给定一个目标跳跃距离,需要根据该映射表计算对应的起跳速度。由于映射表中的数据量很小,本申请实施例没有采取数据拟合的方案,而是通过投票的方式实现。具体做法是依次计算映射表中起跳速度和跳跃距离的比值,计算公式如公式(1)所示:
Figure 597039DEST_PATH_IMAGE014
(1)
其中,s表示起跳速度,d表示跳跃距离。
得到公式(1)的比值后,计算目标跳跃距离和映射表中每个跳跃距离的差值的绝对值,通过投票的方式学习跳跃参数,各个样本(即映射表中的每对起跳速度和跳跃距离作为一个样本)的权重计算公式如公式(2)所示:
Figure 178193DEST_PATH_IMAGE015
(2)
其中,
Figure 451043DEST_PATH_IMAGE010
表示映射表中第i个样本的权重,
Figure 117647DEST_PATH_IMAGE003
表示目标跳跃距离,
Figure 134145DEST_PATH_IMAGE004
表示第i个样本对应的跳跃距离。通过公式(2),能让离目标跳跃距离越近的样本的投票权重越高。得到所有的权重后,将权重进行归一化处理,计算归一化的方式如公式(3)所示:
Figure 304226DEST_PATH_IMAGE008
(3)
其中,
Figure 13556DEST_PATH_IMAGE009
表示映射表中第i个样本归一化后的权重。
通过归一化后,将归一化后的权重乘以对应的比值,通过这样的方式来计算目标跳跃距离对应的比值,如公式(4)所示:
Figure 890159DEST_PATH_IMAGE011
(4)
目标跳跃距离对应的起跳速度为
Figure 569402DEST_PATH_IMAGE013
通过这样的方式能在少量样本的情况下获取跳跃距离和起跳速度的对应关系,能快速计算目标跳跃距离对应的起跳速度。当游戏角色按照对应的起跳速度跳跃后,将实际的跳跃距离和对应的起跳速度保存至映射表中,以扩展映射表,这样能让后续计算的起跳速度更加准确。
步骤4、寻找可行区域(又称可移动区域)。
完成跳跃参数的学习后,通过射线检测游戏地图中的可行区域。将游戏角色向上偏移跳跃高度,随后,向前后左右四个方向发射射线,射线检测的最大距离为游戏角色1秒走过的距离,如果一个方向的射线没有检测到障碍物,以该射线的终点为新射线的起点,并向下发射新射线,如果新射线的起点下方存在落脚点(即平台),则将该落脚点作为候选的可移动节点。如果下方不存在落脚点,则说明该点落空,需要扩大射线检测的距离,直至跳跃的极限距离(即游戏角色实际能够跳跃的最远距离),不断判断下方是否存在落脚点,通过这种方式检测不同平台(平台之间落空)上的可移动节点。如果一个方向没有检测到可移动节点(即有障碍物或者不存在落脚点),则将该方向向左或向右依次微调5度、10度、15度、20度、25度、30度、35度、45度等角度,重新发射射线检测可移动节点,如果检测到可移动节点,则停止角度调整,这样做的目的是防止遗漏狭窄的平台。
如图10所示的角度调整的示意图,实线射线1001对应朝前方发射的射线,由于没有检测到落脚点,逐步扩大射线检测的距离,当射线距离达到跳跃的极限距离后,仍没有检测到可移动节点。于是,逐步调整射线检测的方向,当调整到虚线射线1002方向后,终于在另一个平台找到了新的落脚点(即虚拟平台)。
步骤5、深度优先遍历。
本申请实施例为不同的探索方向设置优先级,优先级最高的方向是游戏角色的前方,随后是左方、右方、后方。采用深度遍历的方法优先控制游戏角色往优先级最高的方向移动,如果该优先级最高的方向没有新的可移动节点,再遍历其余搜索方向。如果目标节点(即可移动节点)在新平台上(即目标节点处无障碍物且存在落脚点),则计算目标节点与游戏角色之间的距离,通过步骤3计算起跳速度,并控制游戏角色的朝向,让游戏角色朝向目标节点的方向,以步骤3所计算的起跳速度执行跳跃的动作,通过这种方式到达新平台。到达目标节点位置后,再以步骤4的方式生成新目标节点,向优先级高的方向移动。
综上,本申请实施例提供的参数自适应优化的无监督关卡自动化方法能自适应调整模型参数,在无人工干预的情况下学习精准跳跃,同时优化了射线检测的方式,能检测比较狭窄的区域。
至此已经结合本申请实施例提供的终端或服务器的示例性应用和实施,说明本申请实施例提供的虚拟对象的控制处理方法,下面继续说明本申请实施例提供的虚拟对象的控制处理装置465中各个模块配合实现虚拟对象的控制处理方案。
搜索模块4651,用于基于虚拟场景中虚拟对象的位置进行可移动节点的搜索处理,得到所述虚拟场景中的可移动目标节点;确定模块4652,用于基于多个候选跳跃距离、以及所述可移动目标节点与所述虚拟对象之间的跳跃距离,确定每个所述候选跳跃距离的权重;基于所述候选跳跃距离与候选起跳速度的映射关系、以及每个所述候选跳跃距离的权重,确定所述虚拟对象的起跳速度;执行模块4653,用于控制所述虚拟对象以所述起跳速度向所述可移动目标节点执行跳跃操作。
在一些实施例中,所述确定模块4652还用于确定每个所述候选跳跃距离与所述跳跃距离之间的距离差值的绝对值;对所述绝对值进行映射处理,得到每个所述候选跳跃距离的权重;其中,所述权重与所述绝对值负相关。
在一些实施例中,所述确定模块4652还用于针对任一所述候选跳跃距离执行以下处理:基于所述候选跳跃距离查询所述映射关系,得到所述候选跳跃距离对应的候选起跳速度;将所述候选跳跃距离对应的候选起跳速度与所述候选跳跃距离的比值,作为所述候选跳跃距离的跳跃比值;基于每个所述候选跳跃距离的权重,对每个所述候选跳跃距离的跳跃比值进行加权求和,得到所述虚拟对象的跳跃因子;将所述虚拟对象的跳跃因子与所述跳跃距离的乘积作为所述虚拟对象的起跳速度。
在一些实施例中,所述对每个所述候选跳跃距离的跳跃比值进行加权求和,得到所述虚拟对象的跳跃因子之前,所述确定模块4652还用于对所述候选跳跃距离的权重进行归一化处理,得到所述候选跳跃距离的归一化权重;基于每个所述候选跳跃距离的归一化权重,对每个所述候选跳跃距离的跳跃比值进行加权求和,得到所述虚拟对象的跳跃因子。
在一些实施例中,所述控制所述虚拟对象以所述起跳速度向所述可移动目标节点执行跳跃操作之后,所述确定模块4652还用于确定执行所述跳跃操作对应的实际跳跃距离;基于所述实际跳跃距离以及所述起跳速度对所述映射关系进行扩充处理,得到扩充后的映射关系;其中,所述扩充后的映射关系用于后续基于所述虚拟场景中新的可移动目标节点,确定所述虚拟对象的新的起跳速度。
在一些实施例中,所述确定每个所述候选跳跃距离的权重之前,所述确定模块4652还用于基于检测射线对所述虚拟对象进行障碍物检测处理,得到所述虚拟对象的最大射线检测距离;确定所述最大射线检测距离对应的方向上的多个测试起跳速度;控制所述虚拟对象以每个所述测试起跳速度执行跳跃操作,得到每个所述测试起跳速度对应的测试跳跃距离;将所述测试起跳速度作为所述映射关系中的候选起跳速度,将所述测试跳跃距离作为所述映射关系中的候选跳跃距离。
在一些实施例中,所述确定模块4652还用于控制所述虚拟对象向上移动跳跃高度,并从所述虚拟对象移动后的位置上向至少一个候选方向发射所述检测射线;基于所述检测射线进行所述候选方向上的障碍物检测,其中,所述检测射线的长度为设定数值;当确定所述候选方向上存在障碍物、且所述障碍物下方存在虚拟平台时,将所述候选方向上的障碍物与所述虚拟对象的距离,作为所述候选方向上的射线检测距离;将所述射线检测距离中的最大值作为所述虚拟对象的最大射线检测距离。
在一些实施例中,所述确定模块4652还用于当所述检测射线与所述候选方向上的绑定在障碍物上的碰撞器组件存在交叉时,确定所述候选方向上存在所述障碍物;当所述检测射线与所述候选方向上的绑定在障碍物上的碰撞器组件不存在交叉时,确定所述候选方向上不存在所述障碍物。
在一些实施例中,所述确定模块4652还用于当基于所述检测射线确定所述候选方向上不存在所述障碍物时,延长所述检测射线的长度;基于延长后的检测射线进行所述候选方向上的障碍物检测。
在一些实施例中,所述搜索模块4651还用于从所述虚拟场景中虚拟对象的位置上向搜索方向发射检测射线;当基于所述检测射线确定所述搜索方向上不存在障碍物时,以所述检测射线的终点为新的检测射线的起点,并向下发射所述新的检测射线;当基于所述新的检测射线确定所述起点的下方存在虚拟平台时,将所述虚拟平台与所述新的检测射线的交点作为可移动目标节点。
在一些实施例中,所述搜索模块4651还用于当基于所述新的检测射线确定所述起点的下方不存在虚拟平台时,延长所述检测射线的长度;基于延长后的检测射线继续进行所述障碍物的检测处理以及所述虚拟平台的检测处理,直至所述延长后的检测射线的长度达到所述虚拟对象能够跳跃的最远距离。
在一些实施例中,所述搜索模块4651还用于当基于所述检测射线确定所述搜索方向上不存在障碍物,或者基于所述新的检测射线确定所述起点的下方不存在虚拟平台时,对所述搜索方向进行角度调整,得到调整后的搜索方向;基于所述虚拟对象的位置进行所述调整后的搜索方向上的可移动节点的搜索处理,得到所述调整后的搜索方向的可移动目标节点。
在一些实施例中,所述从所述虚拟场景中虚拟对象的位置上向搜索方向发射检测射线之前,所述搜索模块4651还用于确定多个候选搜索方向的优先级;将优先级最高的所述候选搜索方向作为所述搜索方向;当基于优先级最高的所述候选搜索方向未搜索到可移动目标节点时,对所述多个候选搜索方向中除所述优先级最高的候选搜索方向进行降序排序处理;将降序排序结果中首个满足以下条件的候选搜索方向作为所述搜索方向:在优先级仅高于所述候选搜索方向的候选搜索方向上未搜索到可移动目标节点;所述候选搜索方向上未进行可移动节点的搜索处理。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行本申请实施例上述的虚拟对象的控制处理方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的虚拟对象的控制处理方法,例如,如图3-图5示出的虚拟对象的控制处理方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。

Claims (17)

1.一种虚拟对象的控制处理方法,其特征在于,所述方法包括:
基于虚拟场景中虚拟对象的位置进行可移动节点的搜索处理,得到所述虚拟场景中的可移动目标节点,其中,所述可移动目标节点表示所述虚拟对象执行跳跃操作所到达的目标节点;
从候选跳跃距离与候选起跳速度的映射关系中获取多个候选跳跃距离;
基于所述多个候选跳跃距离、以及所述可移动目标节点与所述虚拟对象之间的跳跃距离,确定每个所述候选跳跃距离的权重;
基于所述候选跳跃距离与候选起跳速度的映射关系、以及每个所述候选跳跃距离的权重,确定所述虚拟对象的起跳速度;
控制所述虚拟对象以所述起跳速度向所述可移动目标节点执行跳跃操作。
2.根据权利要求1所述的方法,其特征在于,所述基于所述多个候选跳跃距离、以及所述可移动目标节点与所述虚拟对象之间的跳跃距离,确定每个所述候选跳跃距离的权重,包括:
确定每个所述候选跳跃距离与所述跳跃距离之间的距离差值的绝对值;
对所述绝对值进行映射处理,得到每个所述候选跳跃距离的权重;
其中,所述权重与所述绝对值负相关。
3.根据权利要求1所述的方法,其特征在于,所述基于所述候选跳跃距离与候选起跳速度的映射关系、以及每个所述候选跳跃距离的权重,确定所述虚拟对象的起跳速度,包括:
针对任一所述候选跳跃距离执行以下处理:
基于所述候选跳跃距离查询所述映射关系,得到所述候选跳跃距离对应的候选起跳速度;
将所述候选跳跃距离对应的候选起跳速度与所述候选跳跃距离的比值,作为所述候选跳跃距离的跳跃比值;
基于每个所述候选跳跃距离的权重,对每个所述候选跳跃距离的跳跃比值进行加权求和,得到所述虚拟对象的跳跃因子;
将所述虚拟对象的跳跃因子与所述跳跃距离的乘积作为所述虚拟对象的起跳速度。
4.根据权利要求3所述的方法,其特征在于,
所述对每个所述候选跳跃距离的跳跃比值进行加权求和,得到所述虚拟对象的跳跃因子之前,所述方法还包括:
对所述候选跳跃距离的权重进行归一化处理,得到所述候选跳跃距离的归一化权重;
所述基于每个所述候选跳跃距离的权重,对每个所述候选跳跃距离的跳跃比值进行加权求和,得到所述虚拟对象的跳跃因子,包括:
基于每个所述候选跳跃距离的归一化权重,对每个所述候选跳跃距离的跳跃比值进行加权求和,得到所述虚拟对象的跳跃因子。
5.根据权利要求1所述的方法,其特征在于,所述控制所述虚拟对象以所述起跳速度向所述可移动目标节点执行跳跃操作之后,所述方法还包括:
确定执行所述跳跃操作对应的实际跳跃距离;
基于所述实际跳跃距离以及所述起跳速度对所述映射关系进行扩充处理,得到扩充后的映射关系;
其中,所述扩充后的映射关系用于后续基于所述虚拟场景中新的可移动目标节点,确定所述虚拟对象的新的起跳速度。
6.根据权利要求1所述的方法,其特征在于,所述确定每个所述候选跳跃距离的权重之前,所述方法还包括:
基于检测射线对所述虚拟对象进行障碍物检测处理,得到所述虚拟对象的最大射线检测距离;
确定所述最大射线检测距离对应的方向上的多个测试起跳速度;
控制所述虚拟对象以每个所述测试起跳速度执行跳跃操作,得到每个所述测试起跳速度对应的测试跳跃距离;
将所述测试起跳速度作为所述映射关系中的候选起跳速度,将所述测试跳跃距离作为所述映射关系中的候选跳跃距离。
7.根据权利要求6所述的方法,其特征在于,所述基于检测射线对所述虚拟对象进行障碍物检测处理,得到所述虚拟对象的最大射线检测距离,包括:
控制所述虚拟对象向上移动跳跃高度,并从所述虚拟对象移动后的位置上向至少一个候选方向发射所述检测射线;
基于所述检测射线进行所述候选方向上的障碍物检测,其中,所述检测射线的长度为设定数值;
当确定所述候选方向上存在障碍物、且所述障碍物下方存在虚拟平台时,将所述候选方向上的障碍物与所述虚拟对象的距离,作为所述候选方向上的射线检测距离;
将所述射线检测距离中的最大值作为所述虚拟对象的最大射线检测距离。
8.根据权利要求7所述的方法,其特征在于,所述基于所述检测射线的长度进行所述候选方向上的障碍物检测,包括:
当所述检测射线与所述候选方向上的绑定在障碍物上的碰撞器组件存在交叉时,确定所述候选方向上存在所述障碍物;
当所述检测射线与所述候选方向上的绑定在障碍物上的碰撞器组件不存在交叉时,确定所述候选方向上不存在所述障碍物。
9.根据权利要求7所述的方法,其特征在于,所述基于所述检测射线的长度进行所述候选方向上的障碍物检测,包括:
当基于所述检测射线确定所述候选方向上不存在所述障碍物时,延长所述检测射线的长度;
基于延长后的检测射线进行所述候选方向上的障碍物检测。
10.根据权利要求1所述的方法,其特征在于,所述基于虚拟场景中虚拟对象的位置进行可移动节点的搜索处理,得到所述虚拟场景中的可移动目标节点,包括:
从所述虚拟场景中虚拟对象的位置上向搜索方向发射检测射线;
当基于所述检测射线确定所述搜索方向上不存在障碍物时,以所述检测射线的终点为新的检测射线的起点,并向下发射所述新的检测射线;
当基于所述新的检测射线确定所述起点的下方存在虚拟平台时,将所述虚拟平台与所述新的检测射线的交点作为可移动目标节点。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
当基于所述新的检测射线确定所述起点的下方不存在虚拟平台时,延长所述检测射线的长度;
基于延长后的检测射线继续进行所述障碍物的检测处理以及所述虚拟平台的检测处理,直至所述延长后的检测射线的长度达到所述虚拟对象能够跳跃的最远距离。
12.根据权利要求10所述的方法,其特征在于,所述方法还包括:
当基于所述检测射线确定所述搜索方向上不存在障碍物,或者基于所述新的检测射线确定所述起点的下方不存在虚拟平台时,对所述搜索方向进行角度调整,得到调整后的搜索方向;
基于所述虚拟对象的位置进行所述调整后的搜索方向上的可移动节点的搜索处理,得到所述调整后的搜索方向的可移动目标节点。
13.根据权利要求10所述的方法,其特征在于,所述从所述虚拟场景中虚拟对象的位置上向搜索方向发射检测射线之前,所述方法还包括:
确定多个候选搜索方向的优先级;
将优先级最高的所述候选搜索方向作为所述搜索方向;
当基于优先级最高的所述候选搜索方向未搜索到可移动目标节点时,对所述多个候选搜索方向中除所述优先级最高的候选搜索方向进行降序排序处理;
将降序排序结果中首个满足以下条件的候选搜索方向作为所述搜索方向:
在优先级仅高于所述候选搜索方向的候选搜索方向上未搜索到可移动目标节点;
所述候选搜索方向上未进行可移动节点的搜索处理。
14.一种虚拟对象的控制处理装置,其特征在于,所述装置包括:
搜索模块,用于基于虚拟场景中虚拟对象的位置进行可移动节点的搜索处理,得到所述虚拟场景中的可移动目标节点,其中,所述可移动目标节点表示所述虚拟对象执行跳跃操作所到达的目标节点;
确定模块,用于从候选跳跃距离与候选起跳速度的映射关系中获取多个候选跳跃距离;基于所述多个候选跳跃距离、以及所述可移动目标节点与所述虚拟对象之间的跳跃距离,确定每个所述候选跳跃距离的权重;
基于所述候选跳跃距离与候选起跳速度的映射关系、以及每个所述候选跳跃距离的权重,确定所述虚拟对象的起跳速度;
执行模块,用于控制所述虚拟对象以所述起跳速度向所述可移动目标节点执行跳跃操作。
15.一种电子设备,其特征在于,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至13任一项所述的虚拟对象的控制处理方法。
16.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于被处理器执行时实现权利要求1至13任一项所述的虚拟对象的控制处理方法。
17.一种计算机程序产品,包括计算机程序或指令,其特征在于,所述计算机程序或指令被处理器执行时实现权利要求1至13任一项所述的虚拟对象的控制处理方法。
CN202210184755.6A 2022-02-28 2022-02-28 虚拟对象的控制处理方法、装置、设备、介质及程序产品 Active CN114247132B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210184755.6A CN114247132B (zh) 2022-02-28 2022-02-28 虚拟对象的控制处理方法、装置、设备、介质及程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210184755.6A CN114247132B (zh) 2022-02-28 2022-02-28 虚拟对象的控制处理方法、装置、设备、介质及程序产品

Publications (2)

Publication Number Publication Date
CN114247132A CN114247132A (zh) 2022-03-29
CN114247132B true CN114247132B (zh) 2022-05-17

Family

ID=80797110

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210184755.6A Active CN114247132B (zh) 2022-02-28 2022-02-28 虚拟对象的控制处理方法、装置、设备、介质及程序产品

Country Status (1)

Country Link
CN (1) CN114247132B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113813594A (zh) * 2021-09-29 2021-12-21 腾讯科技(深圳)有限公司 虚拟道具的使用方法、装置、终端及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000153061A (ja) * 1998-11-19 2000-06-06 Nintendo Co Ltd ビデオゲーム装置およびビデオゲーム用情報記憶媒体
CN110193198B (zh) * 2019-05-23 2023-02-10 腾讯科技(深圳)有限公司 对象跳跃控制方法、装置、计算机设备及存储介质
CN112915541B (zh) * 2021-04-07 2022-09-23 腾讯科技(深圳)有限公司 跳点搜索方法、装置、设备及存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113813594A (zh) * 2021-09-29 2021-12-21 腾讯科技(深圳)有限公司 虚拟道具的使用方法、装置、终端及存储介质

Also Published As

Publication number Publication date
CN114247132A (zh) 2022-03-29

Similar Documents

Publication Publication Date Title
CN114247141B (zh) 虚拟场景中任务引导方法、装置、设备、介质及程序产品
CN112691377A (zh) 虚拟角色的控制方法、装置、电子设备及存储介质
CN112402960B (zh) 虚拟场景中状态切换方法、装置、设备及存储介质
CN112717404B (zh) 虚拟对象的移动处理方法、装置、电子设备及存储介质
WO2022142626A1 (zh) 虚拟场景的适配显示方法、装置、电子设备、存储介质及计算机程序产品
WO2023005522A1 (zh) 虚拟技能的控制方法、装置、设备、存储介质及程序产品
CN112138394B (zh) 图像处理方法、装置、电子设备及计算机可读存储介质
CN112138385B (zh) 虚拟射击道具的瞄准方法、装置、电子设备及存储介质
US20230338854A1 (en) Object processing method and apparatus in virtual scene, device, and storage medium
CN113018862B (zh) 虚拟对象的控制方法、装置、电子设备及存储介质
KR20240033087A (ko) 가상 시나리오에서의 오프닝 조작의 제어 방법, 장치, 기기, 저장 매체 및 프로그램 제품
US20230330525A1 (en) Motion processing method and apparatus in virtual scene, device, storage medium, and program product
WO2024032104A1 (zh) 虚拟场景中的数据处理方法、装置、设备、存储介质及程序产品
CN114247132B (zh) 虚拟对象的控制处理方法、装置、设备、介质及程序产品
CN113703654B (zh) 虚拟场景中的伪装处理方法、装置及电子设备
Sequeira et al. Simplifying crowd automation in the virtual laboratory of archaeology
CN114288663A (zh) 游戏数据处理方法、装置、设备及计算机可读存储介质
CN114146414A (zh) 虚拟技能的控制方法、装置、设备、存储介质及程序产品
WO2024051398A1 (zh) 虚拟场景的互动处理方法、装置、电子设备及存储介质
US20240037885A1 (en) Method and apparatus for controlling virtual object, electronic device, storage medium, and program product
WO2024060924A1 (zh) 虚拟场景的互动处理方法、装置、电子设备及存储介质
WO2024037139A1 (zh) 虚拟场景中的信息提示方法、装置、电子设备、存储介质及程序产品
CN117357899A (zh) 虚拟场景的路径处理方法、装置、电子设备及存储介质
CN113902881A (zh) 虚拟场景的适配显示方法、装置、设备、介质及程序产品
CN116920401A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40069949

Country of ref document: HK