虚拟对象的控制方法、装置、电子设备及存储介质与流程

专利2022-05-09  45



1.本申请涉及计算机人机交互技术领域,尤其涉及一种虚拟对象的控制方法、装置、电子设备及计算机可读存储介质。


背景技术:

2.基于图形处理硬件的虚拟场景的人机交互技术,能够根据实际应用需求实现受控于用户或人工智能的虚拟对象之间的多样化的交互,具有广泛的实用价值。例如在军事演习仿真、以及游戏等的虚拟场景中,能够模拟虚拟对象之间的真实的对战过程。
3.当需要控制虚拟对象从当前所处的位置移动到虚拟场景中的另一位置时,相关技术通常采用控制虚拟对象连续移动的方式实现,例如控制虚拟对象以跳跃或者冲刺的方式从当前所处的位置移动至另一位置,导致交互过程复杂,会额外消耗计算机设备的计算资源,也影响了用户使用体验。


技术实现要素:

4.本申请实施例提供一种虚拟对象的控制方法、装置、电子设备及计算机可读存储介质,能够以高效和资源集约的方式实现虚拟对象在虚拟场景中移动。
5.本申请实施例的技术方案是这样实现的:
6.本申请实施例提供一种虚拟对象的控制方法,包括:
7.在人机交互界面中显示虚拟场景,其中,所述虚拟场景包括位于第一位置的第一虚拟对象以及位于第二位置的第二虚拟对象;
8.响应于控制所述第一虚拟对象释放的位置交换技能的触发操作,交换所述第一虚拟对象和所述第二虚拟对象在所述虚拟场景中的位置;
9.其中,所述第一虚拟对象位于所述第二位置,所述第二虚拟对象位于所述第一位置。
10.本申请实施例提供一种虚拟对象的控制装置,包括:
11.显示模块,用于在人机交互界面中显示虚拟场景,其中,所述虚拟场景包括位于第一位置的第一虚拟对象以及位于第二位置的第二虚拟对象;
12.交换模块,用于响应于控制所述第一虚拟对象释放的位置交换技能的触发操作,交换所述第一虚拟对象和所述第二虚拟对象在所述虚拟场景中的位置;
13.其中,所述第一虚拟对象位于所述第二位置,所述第二虚拟对象位于所述第一位置。
14.上述方案中,所述装置还包括获取模块,用于获取与所述第一虚拟对象的位置交换技能对应的技能释放条件;所述装置还包括检测模块,用于基于所述技能释放条件对所述第一虚拟对象的位置交换技能进行检测。
15.上述方案中,所述检测模块,还用于获取所述第一虚拟对象的位置交换技能的作用范围;当所述第二虚拟对象位于所述作用范围内时,确定将响应于控制所述第一虚拟对
象释放的位置交换技能的触发操作;当所述第二虚拟对象位于所述作用范围外时,显示第一提示信息,所述第一提示用于提示无法释放所述位置交换技能,并提示如何移动至所述作用范围内。
16.上述方案中,所述获取模块,还用于获取所述第一虚拟对象的状态参数;所述装置还包括确定模块,用于基于所述状态参数确定所述第一虚拟对象的位置交换技能的作用范围;其中,所述状态参数包括以下至少之一:所述第一虚拟对象的等级、所述第一虚拟对象的活跃程度、所述第一虚拟对象的生命值。
17.上述方案中,所述检测模块,还用于获取所述第一虚拟对象的位置交换技能的技能等待时间;当第一时间与第二时间的间隔小于所述技能等待时间时,显示第二提示信息,所述第二提示信息用于提示无法释放所述位置交换技能,并提示需要等待的时间;当第一时间与第二时间的间隔大于或等于所述技能等待时间时,确定将响应于控制所述第一虚拟对象释放的位置交换技能的触发操作;其中,所述第一时间是最近一次控制所述第一虚拟对象释放所述位置交换技能的时间,所述第二时间是接收到所述触发操作的时间。
18.上述方案中,所述检测模块,还用于获取所述第一虚拟对象的能量值;当所述第一虚拟对象的能量值大于释放所述位置交互技能需要的能量值时,确定将响应于控制所述第一虚拟对象释放的位置交换技能的触发操作;当所述第一虚拟对象当前不具有足够的能量值时,显示第三提示信息,所述第三提示信息用于提示无法释放所述位置交换技能,并提示需要积累的能量值。
19.上述方案中,所述检测模块,还用于基于所述第一位置与所述第二位置之间的射线进行障碍物检测;当检测到所述第一虚拟对象与所述第二虚拟对象之间存在障碍物时,显示第四提示信息,所述第四提示信息用于提示由于障碍物无法释放所述位置交换技能;当检测到所述第一虚拟对象与所述第二虚拟对象之间不存在障碍物时,确定将响应于控制所述第一虚拟对象释放的位置交换技能的触发操作。
20.上述方案中,所述检测模块,还用于获取交换所述第一虚拟对象和所述第二虚拟对象的位置时需要符合的物理规则;其中,所述物理规则包括以下至少之一:所述第一虚拟对象和所述第二虚拟对象所处的位置存在足够的空间能够容纳对方;交换位置的路径能够支持所述第一虚拟对象和所述第二虚拟对象并行通行;当符合所述物理规则时,确定将响应于控制所述第一虚拟对象释放的位置交换技能的触发操作;当不符合所述物理规则时,显示第五提示信息,所述第五提示信息用于提示由于不符合物理规则无法释放所述位置交换技能,并提示移动到符合所述物理规则的位置。
21.上述方案中,所述显示模块,还用于显示与所述第二虚拟对象对应的锁定标识;其中,所述锁定标识用于表征所述第一虚拟对象能够与所述第二虚拟对象进行位置交换。
22.上述方案中,所述交换模块,还用于将所述第一虚拟对象按照预设速度从所述第一位置移动至所述虚拟场景中的所述第二位置;以及用于将所述第二虚拟对象在所述虚拟场景中所处的所述第二位置直接更新为所述虚拟场景中的所述第一位置,或者,将所述第二虚拟对象按照所述预设速度从所述第二位置移动至所述虚拟场景中的所述第一位置。
23.上述方案中,所述交换模块,还用于控制所述第一虚拟对象在从所述第一位置到所述第二位置的交换路径上按照预设速度行进,并自动规避所述交换路径上存在的障碍物和机关道具。
24.上述方案中,所述装置还包括隐藏模块,用于隐藏所述第一虚拟对象的能量值,以屏蔽响应在行进过程中控制所述第一虚拟对象重复释放所述位置交换技能的触发操作。
25.上述方案中,所述装置还包括关闭模块,用于关闭所述第一虚拟对象对应的碰撞盒,并将所述第一虚拟对象对外部的操作的响应置于锁定状态;所述装置还包括开启模块,用于开启所述第一虚拟对象对应的碰撞盒,并解除针对所述第一虚拟对象设置的所述锁定状态。
26.上述方案中,所述显示模块,还用于在虚拟场景中显示位于第一位置的第一虚拟对象;响应于控制所述第一虚拟对象释放的召唤技能的触发操作,在所述虚拟场景的第二位置显示被召唤出的第二虚拟对象。
27.上述方案中,所述显示模块,还用于在所述虚拟场景中以预设方式显示多个第三虚拟对象;所述确定模块,还用于响应于虚拟对象选择操作,将所述多个第三虚拟对象中被选中的第三虚拟对象作为所述第二虚拟对象。
28.上述方案中,所述显示模块,还用于响应于控制所述第一虚拟对象的跨越操作,显示所述第一虚拟对象借助所述第二虚拟对象跨越障碍物的过程;其中,所述障碍物的高度超过所述第一虚拟对象在未借助所述第二虚拟对象时能够实现的跳跃高度。
29.上述方案中,所述获取模块,还用于获取所述第一虚拟对象的特征数据;所述装置还包括调用模块,用于基于所述特征数据、所述第一位置以及所述第二位置调用所述机器学习模型,得到对应的多个候选技能的概率,所述多个候选技能包括所述位置交换技能;所述显示模块,还用于当最大概率对应所述位置交换技能时,显示第六提示信息,所述第六提示信息用于提示释放所述位置交换技能;其中,所述特征数据包括以下至少之一:作用范围、技能等待时间、能量值。
30.本申请实施例提供一种电子设备,包括:
31.存储器,用于存储可执行指令;
32.处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的虚拟对象的控制方法。
33.本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的虚拟对象的控制方法。
34.本申请实施例提供一种计算机程序产品,所述计算机程序产品包括计算机可执行指令,用于被处理器执行时,实现本申请实施例提供的虚拟对象的控制方法。
35.本申请实施例具有以下有益效果:
36.通过控制第一虚拟对象释放位置交换技能,实现第一虚拟对象和第二虚拟对象在虚拟场景中的位置交换,如此,能够将第一虚拟对象从虚拟场景中的第一位置直接移动至虚拟场景中的第二位置,简化了交互过程,进而减少了计算资源的消耗,同时,也提高了用户的使用体验。
附图说明
37.图1是本申请实施例提供的虚拟对象的控制方法的应用模式示意图;
38.图2是本申请实施例提供的虚拟对象的控制方法的应用模式示意图;
39.图3是本申请实施例提供的终端设备400的结构示意图;
40.图4是本申请实施例提供的虚拟对象的控制方法的流程示意图;
41.图5a是本申请实施例提供的虚拟对象的控制方法的应用场景示意图;
42.图5b是本申请实施例提供的虚拟对象的控制方法的应用场景示意图;
43.图5c是本申请实施例提供的虚拟对象的控制方法的应用场景示意图;
44.图5d是本申请实施例提供的虚拟对象的控制方法的应用场景示意图;
45.图5e是本申请实施例提供的虚拟对象的控制方法的应用场景示意图;
46.图5f是本申请实施例提供的虚拟对象的控制方法的应用场景示意图;
47.图6是本申请实施例提供的虚拟对象的控制方法的流程示意图;
48.图7a是本申请实施例提供的虚拟对象的控制方法的应用场景示意图;
49.图7b是本申请实施例提供的虚拟对象的控制方法的应用场景示意图;
50.图8是本申请实施例提供的虚拟对象的控制方法的流程示意图。
具体实施方式
51.为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
52.在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
53.在以下的描述中,所涉及的术语“第一\第二”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
54.除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
55.对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
56.1)客户端,终端设备中运行的用于提供各种服务的应用程序,例如视频播放客户端、游戏客户端等。
57.2)响应于,用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
58.3)虚拟场景,是应用程序在终端设备上运行时显示(或提供)的虚拟场景。该虚拟场景可以是对真实世界的仿真环境,也可以是半仿真半虚构的虚拟环境,还可以是纯虚构的虚拟环境。虚拟场景可以是二维虚拟场景、2.5维虚拟场景或者三维虚拟场景中的任意一种,本申请实施例对虚拟场景的维度不加以限定。例如,虚拟场景可以包括天空、陆地、海洋等,该陆地可以包括沙漠、城市等环境元素,用户可以控制虚拟对象在该虚拟场景中进行移动。
59.4)虚拟对象,虚拟场景中可以进行交互的各种人和物的形象,或在虚拟场景中的
可活动对象。该可活动对象可以是虚拟人物、虚拟动物、动漫人物等,例如:在虚拟场景中显示的人物、动物、植物、油桶、墙壁、石块等。该虚拟对象可以是该虚拟场景中的一个虚拟的用于代表用户的虚拟形象。虚拟场景中可以包括多个虚拟对象,每个虚拟对象在虚拟场景中具有自身的形状和体积,占据虚拟场景中的一部分空间。
60.举例来说,该虚拟对象可以是通过客户端上的操作进行控制的用户角色,也可以是通过训练设置在虚拟场景对战中的人工智能(ai,artificial intelligence),还可以是设置在虚拟场景互动中的非用户角色(npc,non

player character)。例如,该虚拟对象可以是在虚拟场景中进行对抗式交互的虚拟人物。又例如,该虚拟场景中参与互动的虚拟对象的数量可以是预先设置的,也可以是根据加入互动的客户端的数量动态确定的。
61.5)场景数据,表示虚拟场景中的虚拟对象在交互过程中受所表现的各种特征,例如,可以包括虚拟对象在虚拟场景中的位置。当然,根据虚拟场景的类型可以包括不同类型的特征;例如,在游戏的虚拟场景中,场景数据可以包括虚拟场景中配置的各种功能需要等待的时间(取决于在特定时间内能够使用同一功能的次数),还可以表示游戏角色的各种状态的属性值,例如包括生命值(也称为红量)和魔法值(也称为蓝量)等。
62.当需要控制虚拟对象从当前所处的位置移动到虚拟场景中的另一位置时,相关技术通常采用控制虚拟对象连续移动的方式实现,例如控制虚拟对象以跳跃或者冲刺的方式从当前所处的位置移动至另一位置,导致交互过程复杂,会额外消耗计算机设备的计算资源,也影响了用户的使用体验。
63.针对上述技术问题,本申请实施例提供一种虚拟对象的控制方法、装置、电子设备和计算机可读存储介质,能够以高效和资源集约的方式实现虚拟对象在虚拟场景中移动。为便于更容易理解本申请实施例提供的虚拟对象的控制方法,首先说明本申请实施例提供的虚拟对象的控制方法的示例性实施场景,本申请实施例提供的虚拟对象的控制方法中虚拟场景可以完全基于终端设备输出,或者基于终端设备和服务器协同输出。
64.在一些实施例中,虚拟场景可以是军事演习仿真中所呈现的画面,用户可以在虚拟场景中,通过属于不同团队的虚拟对象来模拟战局、战略或战术,对于军事作战的指挥有着很大的指导作用。
65.在另一些实施例中,虚拟场景还可以是供游戏角色交互的环境,例如可以是供游戏角色在虚拟场景中进行对战,通过控制游戏角色的行动可以在虚拟场景中进行双方互动,从而使用户能够在游戏的过程中舒缓生活压力。
66.在一个实施场景中,参见图1,图1是本申请实施例提供的虚拟对象的控制方法的应用模式示意图,适用于一些完全依赖于终端设备400的图形处理硬件计算能力即可完成虚拟场景100的相关数据计算的应用模式,例如单机版/离线模式的游戏,通过智能手机、平板电脑和虚拟现实/增强现实设备等终端设备400完成虚拟场景的输出。
67.作为示例,图形处理硬件的类型包括中央处理器(cpu,central processing unit)和图形处理器(gpu,graphics processing unit)。
68.当形成虚拟场景100的视觉感知时,终端设备400通过图形计算硬件计算显示所需要的数据,并完成显示数据的加载、解析和渲染,在图形输出硬件输出能够对虚拟场景形成视觉感知的视频帧,例如,在智能手机的显示屏幕呈现二维的视频帧,或者,在增强现实/虚拟现实眼镜的镜片上投射实现三维显示效果的视频帧;此外,为了丰富感知效果,终端设备
400还可以借助不同的硬件来形成听觉感知、触觉感知、运动感知和味觉感知的一种或多种。
69.作为示例,终端设备400上运行有客户端410(例如单机版的游戏应用),在客户端410的运行过程中输出包括有角色扮演的虚拟场景,虚拟场景可以是供游戏角色交互的环境,例如可以是用于供游戏角色进行对战的平原、街道、山谷等等;虚拟场景中包括位于第一位置的第一虚拟对象110和位于第二位置的第二虚拟对象120。其中,第一虚拟对象110可以是受用户(或称玩家)控制的游戏角色,即第一虚拟对象110受控于真实用户,将响应于真实用户针对控制器(包括触控屏、声控开关、键盘、鼠标和摇杆等)的操作而在虚拟场景100中运动,例如当真实用户向左移动摇杆时,第一虚拟对象110将在虚拟场景100中向左部移动,还可以保持原地静止、跳跃以及使用各种功能(例如技能和道具)。
70.举例来说,当处于第一位置的第一虚拟对象110(例如青蛙)和处于第二位置的第二虚拟对象120(例如石块)之间存在障碍物130(例如坑洞)时,客户端410响应于用户针对第一虚拟对象110触发的位置交换技能的释放操作,控制第一虚拟对象110释放位置交换技能,以交换第一虚拟对象110和第二虚拟对象120在虚拟场景100中的位置,在完成位置交换后,第一虚拟对象110出现在第二虚拟对象120交换前所在的位置,而第二虚拟对象120出现在第一虚拟对象110交换前所在的位置,如此,通过位置交换技能,第一虚拟对象110可以一步越过障碍物130,简化了用户的操作过程,提升了用户使用体验,进而节约了终端设备400的计算资源。
71.在另一个实施场景中,参见图2,图2是本申请实施例提供的虚拟对象的控制方法的应用模式示意图,应用于终端设备400和服务器200,适用于依赖于服务器200的计算能力完成虚拟场景计算、并在终端设备400输出虚拟场景的应用模式。
72.以形成虚拟场景100的视觉感知为例,服务器200进行虚拟场景相关显示数据(例如场景数据)的计算并通过网络300发送到终端设备400,终端设备400依赖于图形计算硬件完成计算显示数据的加载、解析和渲染,依赖于图形输出硬件输出虚拟场景以形成视觉感知,例如可以在智能手机的显示屏幕呈现二维的视频帧,或者,在增强现实/虚拟现实眼镜的镜片上投射实现三维显示效果的视频帧;对于虚拟场景的形式的感知而言,可以理解,可以借助于终端设备400的相应硬件输出,例如使用麦克风形成听觉感知,使用振动器形成触觉感知等等。
73.作为示例,终端设备400上运行有客户端410(例如网络版的游戏应用),通过连接服务器200(例如游戏服务器)与其他用户进行游戏互动,终端设备400输出客户端410的虚拟场景100,在虚拟场景100中包括位于第一位置的第一虚拟对象110和位于第二位置的第二虚拟对象120。其中,第一虚拟对象110可以是受用户控制的游戏角色,即第一虚拟对象110受控于真实用户,将响应于真实用户针对控制器(例如触控屏、声控开关、键盘、鼠标和摇杆等)的操作而在虚拟场景100中运动,例如当真实用户向右移动摇杆时,第一虚拟对象110将在虚拟场景100中向右部移动,还可以保持原地静止、跳跃以及使用各种功能(例如技能和道具)。
74.举例来说,当处于第一位置的第一虚拟对象110(例如青蛙)和处于第二位置的第二虚拟对象120(例如石块)之间存在障碍物130(例如坑洞)时,客户端410响应于用户针对第一虚拟对象110触发的位置交换技能的释放操作,控制第一虚拟对象110释放位置交换技
能,以交换第一虚拟对象110和第二虚拟对象120在虚拟场景100中的位置,在完成位置交换后,第一虚拟对象110出现在第二虚拟对象120交换前所在的位置,而第二虚拟对象120出现在第一虚拟对象110交换前所在的位置,如此,通过位置交换技能,第一虚拟对象110可以一步越过障碍物130,简化了用户的操作过程,提升了用户使用体验,进而节约了服务器200的计算资源。
75.在一些实施例中,终端设备400可以通过运行计算机程序来实现本申请实施例提供的虚拟对象的控制方法,例如,计算机程序可以是操作系统中的原生程序或软件模块;可以是本地(native)应用程序(app,application),即需要在操作系统中安装才能运行的程序,例如游戏app(即上述的客户端410);也可以是小程序,即只需要下载到浏览器环境中就可以运行的程序;还可以是能够嵌入至任意app中的游戏小程序。总而言之,上述计算机程序可以是任意形式的应用程序、模块或插件。
76.以计算机程序为应用程序为例,在实际实施时,终端设备400安装和运行有支持虚拟场景的应用程序。该应用程序可以是大型多人在线角色扮演游戏(mmorpg,massive multiplayer onlinerole

playinggame)、第一人称射击游戏(fps,first

person shooting game)、第三人称射击游戏、多人在线战术竞技游戏(moba,multiplayer online battle arena games)、虚拟现实应用程序、三维地图程序、军事仿真程序或者多人枪战类生存游戏中的任意一种。用户使用终端设备400操作位于虚拟场景中的虚拟对象进行活动,该活动包括但不限于:调整身体姿态、爬行、步行、奔跑、骑行、跳跃、驾驶、拾取、射击、攻击、投掷中的至少一种。示意性的,该虚拟对象可以是虚拟人物,比如仿真人物角色或动漫人物角色。
77.在另一些实施例中,本申请实施例还可以借助于云技术(cloud technology)实现,云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
78.云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、以及应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源。
79.示例的,图2中的服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端设备400以及服务器200可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
80.下面对图1中的终端设备400的结构进行说明。参见图3,图3是本申请实施例提供的终端设备400的结构示意图,图3所示的终端设备400包括:至少一个处理器420、存储器460、至少一个网络接口430和用户接口440。终端设备400中的各个组件通过总线系统450耦合在一起。可理解,总线系统450用于实现这些组件之间的连接通信。总线系统450除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为总线系统450。
81.处理器420可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数
字信号处理器(dsp,digital signal processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
82.用户接口440包括使得能够呈现媒体内容的一个或多个输出装置441,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口440还包括一个或多个输入装置442,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
83.存储器460可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器460可选地包括在物理位置上远离处理器420的一个或多个存储设备。
84.存储器460包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(rom,read only memory),易失性存储器可以是随机存取存储器(ram,random access memory)。本申请实施例描述的存储器460旨在包括任意适合类型的存储器。
85.在一些实施例中,存储器460能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
86.操作系统461,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
87.网络通信模块462,用于经由一个或多个(有线或无线)网络接口430到达其他计算设备,示例性的网络接口430包括:蓝牙、无线相容性认证(wifi)、和通用串行总线(usb,universal serial bus)等;
88.呈现模块463,用于经由一个或多个与用户接口440相关联的输出装置441(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
89.输入处理模块464,用于对一个或多个来自一个或多个输入装置442之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
90.在一些实施例中,本申请实施例提供的虚拟对象的控制装置可以采用软件方式实现,图3示出了存储在存储器460中的虚拟对象的控制装置465,其可以是程序和插件等形式的软件,包括以下软件模块:显示模块4651、交换模块4652、获取模块4653、检测模块4654、确定模块4655、隐藏模块4656、关闭模块4657、开启模块4658和调用模块4659,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。需要指出的是,在图3中为了方便表达,一次性示出了上述所有模块,但是不应视为在虚拟对象的控制装置465排除了可以只包括显示模块4651和交换模块4652的实施,将在下文中说明各个模块的功能。
91.在另一些实施例中,本申请实施例提供的虚拟对象的控制装置可以采用硬件方式实现,作为示例,本申请实施例提供的虚拟对象的控制装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的虚拟对象的控制方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(asic,application specific integrated circuit)、dsp、可编程逻辑器件(pld,programmable logic device)、复杂可
编程逻辑器件(cpld,complex programmable logic device)、现场可编程门阵列(fpga,field

programmable gate array)或其他电子元件。
92.下面将结合附图对本申请实施例提供的虚拟对象的控制方法进行具体说明。本申请实施例提供的虚拟对象的控制方法可以由图1中的终端设备400单独执行,也可以由图2中的终端设备400和服务器200协同执行。
93.下面,以由图1中的终端设备400单独执行本申请实施例提供的虚拟对象的控制方法为例进行说明。参见图4,图4是本申请实施例提供的虚拟对象的控制方法的流程示意图,将结合图4示出的步骤进行说明。
94.需要说明的是,图4示出的方法可以由终端设备400上运行的各种形式的计算机程序执行,并不局限于上述的客户端410,还可以是上文所述的操作系统461、软件模块和脚本,因此客户端不应视为对本申请实施例的限定。
95.在步骤s101中,在人机交互界面中显示虚拟场景,其中,虚拟场景包括位于第一位置的第一虚拟对象以及位于第二位置的第二虚拟对象。
96.在一些实施例中,在终端设备的人机交互界面显示有虚拟场景,在虚拟场景的画面中显示有位于第一位置的第一虚拟对象(例如可以是由真实用户控制的游戏角色)和位于第二位置的第二虚拟对象(例如可以是由其他玩家控制的游戏角色,或者是由机器人程序控制的游戏角色,又或者是游戏场景中显示的石块、动物、植物等)。
97.在另一些实施例中,在人机交互界面中可以是以第一人称视角显示虚拟场景(例如以玩家自己的视角来扮演游戏中的第一虚拟对象);也可以是以第三人称视角显示虚拟场景(例如玩家追着游戏中的第一虚拟对象来进行游戏);还可以是以鸟瞰大视角显示虚拟场景;其中,上述的不同视角之间可以任意切换。
98.作为示例,第一虚拟对象可以是由游戏或者军事仿真中的用户所控制的对象,当然,虚拟场景中还可以包括其他的虚拟对象,例如可以由其他用户控制或由机器人程序控制。第一虚拟对象可以被划分到多个团队中的任意一个团队中,团队之间可以是敌对关系或协作关系,虚拟场景中的团队可以包括上述关系的一种或者全部。
99.以第一人称视角显示虚拟场景为例,在人机交互界面中显示的虚拟场景可以包括:根据第一虚拟对象在完整虚拟场景中的观看位置和视场角,确定第一虚拟对象的视场区域,呈现完整虚拟场景中位于视场区域中的部分虚拟场景,即所显示的虚拟场景可以是相对于全景虚拟场景的部分虚拟场景。因为第一人称视角是最能够给用户冲击力的观看视角,如此,能够实现用户在操作过程中身临其境的沉浸式感知。
100.以鸟瞰大视角显示虚拟场景为例,在人机交互界面中显示的虚拟场景可以包括:响应于针对全景虚拟场景的缩放操作,在人机交互界面中呈现对应缩放操作的部分虚拟场景,即所显示的虚拟场景可以是相对于全景虚拟场景的部分虚拟场景。如此,能够提高用户在操作过程中的可操作性,从而能够提高人机交互的效率。
101.在一些实施例中,第二虚拟对象还可以是终端设备响应于控制第一虚拟对象释放的召唤技能的触发操作(即在虚拟场景中原先并不存在第二虚拟对象),在虚拟场景中被召唤出的虚拟对象(例如可以是控制第一虚拟对象释放召唤技能而出现在虚拟场景中特定位置的虚拟宠物、或者其他虚拟物品,例如石块等)。
102.示例的,当受控于真实用户的第一虚拟对象具有召唤技能时,终端设备首先响应
于控制第一虚拟对象释放的召唤技能的触发操作(例如可以是由用户触发相应的召唤控件实现,这里的召唤控件可以是按键、图标等,针对召唤控件的触发方式可以是点击、双击、长按、滑动中的至少一种,例如可以通过点击键盘上的按键“q”来生成召唤指令,还可以通过鼠标点击屏幕上的召唤图标生成召唤指令等;此外,召唤指令也可以是通过识别用户的语音指令或肢体动作生成,例如用户可以通过说出“召唤宠物”来生成召唤指令),在虚拟场景的特定位置显示被召唤出的虚拟对象,接着,可以将虚拟场景中处于特定位置的被召唤出的虚拟对象作为第二虚拟对象(即虚拟场景中后续用于与第一虚拟对象交换位置的虚拟对象),随后,终端设备在接收到用户触发的控制第一虚拟对象释放位置交换技能的指令时(例如当终端设备接收到用户针对键盘上的按键“w”的点击操作),控制第一虚拟对象释放位置交换技能,以与虚拟场景中处于特定位置的被召唤出的虚拟对象交换位置。如此,通过与被召唤出的虚拟对象交换位置的方式,进一步增加了游戏的趣味性,大大提升了用户的游戏体验。
103.需要说明的是,在实际应用中,被召唤出的虚拟对象可以是随机出现在虚拟场景中的任意位置的,例如被召唤出的虚拟对象可以随机出现在距离第一虚拟对象1000码(游戏场景中的距离单位,例如可以将游戏角色移动3步作为10码)的范围内,当然,被召唤出的虚拟对象也可以是出现在虚拟场景的固定位置,例如被召唤出的虚拟对象始终出现在第一虚拟对象前方(即第一虚拟对象的朝向)500码的位置处,本申请实施例对此不作限定。
104.在另一些实施例中,虚拟场景中还可以存在多个虚拟对象供用户进行选择,即用户可以从多个虚拟对象中选择任意一个虚拟对象进行位置交换,则终端设备在响应于控制第一虚拟对象释放的位置交换技能的触发操作之前,还可以执行以下操作:在虚拟场景中以预设方式显示多个第三虚拟对象;响应于虚拟对象选择操作,将多个第三虚拟对象中被选中的第三虚拟对象作为第二虚拟对象(即将与第一虚拟对象进行位置交换的虚拟对象)。
105.示例的,以第一虚拟对象为虚拟对象a为例,在虚拟场景中除了虚拟对象a之外,还存在虚拟对象b、虚拟对象c、以及虚拟对象d,当用户选中虚拟对象c时,则将虚拟对象c作为第二虚拟对象,即后续将交换虚拟对象a和虚拟对象c在虚拟场景中的位置。当然,第二虚拟对象也可以是自动选择的,例如可以将虚拟场景中距离虚拟对象a最近的虚拟对象自动作为第二虚拟对象。
106.在步骤s102中,响应于控制第一虚拟对象释放的位置交换技能的触发操作,交换第一虚拟对象和第二虚拟对象在虚拟场景中的位置。
107.在一些实施例中,终端设备在响应于控制第一虚拟对象释放的位置交换技能的触发操作之前,还可以执行以下操作:获取与第一虚拟对象的位置交换技能对应的技能释放条件;基于技能释放条件对第一虚拟对象的位置交换技能进行检测。也就是说,终端设备在响应于触发操作控制第一虚拟对象释放位置交换技能之前,还可以首先检测当前时机是否满足位置交换技能的技能释放条件,即首先需要检测第一虚拟对象当前是否能够释放位置交换技能。
108.需要说明的是,在实际应用中,可以针对虚拟场景中不同的第一虚拟对象设置不同的技能释放条件,从而实现个性化控制的效果;当然,也可以针对虚拟场景中不同的第一虚拟对象统一设置相同的技能释放条件,以减少终端设备计算资源的消耗。
109.在另一些实施例中,承接上述实施例,位置交换技能的技能释放条件可以是与位
置交换技能的作用范围有关的,则终端设备可以通过以下方式实现上述的基于技能释放条件对第一虚拟对象的位置交换技能进行检测:获取第一虚拟对象的位置交换技能的作用范围;当第二虚拟对象位于作用范围时,确定将响应于控制第一虚拟对象释放的位置交换技能的触发操作;当第二虚拟对象位于作用范围外时,显示第一提示信息,第一提示信息用于提示无法释放位置交换技能,并提示如何移动至作用范围内。
110.示例的,第一虚拟对象的位置交换技能是有作用范围的(即第一虚拟对象只能与位置交换技能的作用范围内的虚拟对象进行位置交换,而无法与位置交换技能的作用范围外的虚拟对象进行位置交换,例如当第一虚拟对象的位置交换技能的作用范围(也称施法范围)是1000码(例如作用范围可以是以第一虚拟对象所处的位置为圆心,半径为1000码的圆形,即第一虚拟对象能够与圆形内的任意其他虚拟对象交换位置;当然,作用范围也可以是与第一虚拟对象的朝向有关的,即第一虚拟对象只能与朝向对应的一定角度范围内的其他虚拟对象交换位置,例如作用范围可以是以第一虚拟对象所处的位置为圆心,半径为1000码、且与第一虚拟对象的朝向一致的角度为120
°
的扇形)时,则第一虚拟对象只能与虚拟场景中距离自身1000码范围内的虚拟对象进行位置交换,而无法与1000码之外的虚拟对象进行位置交换)。其中,位置交换技能的作用范围可以是通过以下方式确定的:获取第一虚拟对象的状态参数;基于所获取的状态参数确定第一虚拟对象的位置交换技能的作用范围;其中,状态参数包括以下至少之一:第一虚拟对象的等级、第一虚拟对象的活跃程度(例如在线时长、参与活动的频率等)、第一虚拟对象的生命值。
111.例如,第一虚拟对象的位置交换技能的作用范围可以是与第一虚拟对象的等级正相关的,即第一虚拟对象的等级越高,对应的位置交换技能的作用范围也越大;第一虚拟对象的位置交换技能的作用范围也可以是与第一虚拟对象的活跃程度正相关的,即第一虚拟对象越活跃,对应的位置交换技能的作用范围也越大;第一虚拟对象的位置交换技能的作用范围还可以是与第一虚拟对象的生命值正相关的,即第一虚拟对象的生命值越高,对应的位置交换技能的作用范围也越大;当然,也可以根据上述三个状态参数中的任意两个或者三个状态参数综合确定第一虚拟对象的位置交换技能的作用范围,本申请实施例对此不作限定。
112.本申请实施例通过将第一虚拟对象的等级、活跃程度、生命值与作用范围关联,能够对用户在虚拟场景中的互动起到积极的促进作用,提升用户在虚拟场景中的使用体验。
113.举例来说,参见图5a,图5a是本申请实施例提供的虚拟对象的控制方法的应用场景示意图,如图5a所示,当用户想控制虚拟场景500中位于第一位置的第一虚拟对象510释放位置交换技能,以与位于虚拟场景500的第二位置的第二虚拟对象520交换位置时,可以首先查看第一虚拟对象510当前的位置交换技能的作用范围,例如当用户点击键盘上的按键“t”时,将在虚拟场景500中显示第一虚拟对象510的位置交换技能的作用范围530,当第二虚拟对象520位于第一虚拟对象510的位置交换技能的作用范围530之外时,可以以弹窗的方式显示第一提示信息540,例如第一提示信息540可以是“目标处于作用范围外,请继续前行后释放位置交换技能”。
114.在另一些实施例中,位置交换技能的技能释放条件可以是与位置交换技能的技能等待时间有关的,则终端设备可以通过以下方式实现上述的基于技能释放条件对第一虚拟对象的位置交换技能进行检测:获取第一虚拟对象的位置交换技能的技能等待时间;当第
一时间和第二时间的间隔小于技能等待时间时,显示第二提示信息,第二提示信息用于提示无法释放位置交换技能,并提示需要等待的时间;当第一时间和第二时间的间隔大于或等于技能等待时间时,确定将响应于控制第一虚拟对象释放的位置交换技能的触发操作;其中,第一时间是最近一次控制第一虚拟对象释放位置交换技能的时间,第二时间是接收到触发操作的时间。
115.示例的,第一虚拟对象的位置交换技能是有技能等待时间(也称冷却时间,是指连续使用同一技能所需等待的时间,简称cd)的,即无法控制第一虚拟对象连续释放位置交换技能。其中,第一虚拟对象的位置交换技能的技能等待时间可以是与第一虚拟对象的状态参数(例如第一虚拟对象的等级、第一虚拟对象的生命值等)有关的,例如第一虚拟对象的等级越高,对应的技能等待时间越短(例如当第一虚拟对象的等级为5级时,对应的位置交换技能的技能等待时间为20秒,当第一虚拟对象的等级为10级时,对应的位置交换技能的技能等待时间为10秒)。
116.需要说明的是,在实际应用中,当第二虚拟对象位于第一虚拟对象的位置交换技能的作用范围内,且接收到触发操作的时间已经超过第一虚拟对象的技能等待时间时(例如假设第一虚拟对象的位置交换技能的技能等待时间为20秒,终端设备在30秒后再次接收到触发操作),则终端设备确定将响应于控制第一虚拟对象释放的位置交换技能,交换第一虚拟对象和第二虚拟对象在虚拟场景中的位置。也就是说,位置交换技能的技能释放条件需要同时满足作用范围和技能等待时间。
117.举例来说,参见图5b,图5b是本申请实施例提供的虚拟对象的控制方法的应用场景示意图,如图5b所示,当终端设备接收到用户触发的控制虚拟场景500中位于第一位置的第一虚拟对象510释放位置交换技能的指令时,首先检测第二虚拟对象520是否处于第一虚拟对象510的位置交换技能的作用范围530内,当检测到第二虚拟对象520位于第一虚拟对象510的位置交换技能的作用范围530内时,进一步判断第一虚拟对象510的位置交换技能是否处于技能等待时间,当处于技能等待时间时,可以以弹窗的方式显示第二提示信息550,例如第二提示信息550可以是“技能冷却中,请等待10秒后重新释放位置交换技能”。
118.在一些实施例中,位置交换技能的技能释放条件还可以与第一虚拟对象当前具有的能量值有关的,则终端设备可以通过以下方式实现上述的基于技能释放条件对第一虚拟对象的位置交换技能进行检测:获取第一虚拟对象的能量值;当第一虚拟对象当前具有的能量值大于释放位置交换技能需要消耗的能量值时,确定将响应于控制第一虚拟对象释放的位置交换技能的触发操作;当第一虚拟对象当前不具有足够的能量值(即第一虚拟对象当前具有的能量值小于释放位置交换技能需要消耗的能量值)时,显示第三提示信息,第三提示信息用于提示无法释放位置交换技能,并提示需要积累的能量值。
119.示例的,第一虚拟对象在释放位置交换技能时是需要消耗预设数量的能量值(例如怒气值、魔法值等)的,即当第一虚拟对象当前不具有足够的能量值时,是无法释放位置交换技能的。其中,第一虚拟对象每次释放位置交换技能所需消耗的能量值的数量可以是与第一虚拟对象的等级有关的,例如第一虚拟对象的等级越高,对应消耗的能量值的数量越少(例如当第一虚拟对象的等级为5级时,释放一次位置交换技能需要消耗100的能量值;当第一虚拟对象的等级为10级时,释放一次位置交换技能需要消耗50的能量值);释放位置交换技能所需消耗的能量值的数量还可以是与交换距离(交换距离是小于或者等于作用范
围的,例如当作用范围是1000码时,交换距离的最大值就是1000码,即第一虚拟对象可以与距离自身500码的其他虚拟对象交换位置,也可以与距离自身800码的其他虚拟对象交换位置,两者需要消耗的能量值的数量是不同的)有关的,例如交换距离越大,对应消耗的能量值的数量越多(例如当第一虚拟对象与距离自身1000码的第二虚拟对象进行位置交换时,需要消耗100的能量值;当第一虚拟对象与距离自身500码的第二虚拟对象进行位置交换时,需要消耗50的能量值)。
120.需要说明的是,在实际应用中,第一虚拟对象每次释放位置交换技能所需消耗的能量值的数量可以是固定的,即释放位置交换技能需要消耗的能量值的数量与第一虚拟对象的等级或者交换范围无关,例如每释放一次位置交换技能均需消耗第一虚拟对象100的能量值,本申请实施例对此不作限定。
121.此外,还需要说明的是,位置交换技能的技能释放条件可以是同时与位置交换技能的作用范围、技能等待时间、以及第一虚拟对象的能量值有关的,即只要当第二虚拟对象处于第一虚拟对象的位置交换技能的作用范围内、且接收到触发操作的时间已经超过技能等待时间、以及第一虚拟对象当前具有足够的能量值时,终端设备确定将响应于控制第一虚拟对象释放的位置交换技能,交换第一虚拟对象和第二虚拟对象在虚拟场景中的位置。
122.举例来说,参见图5c,图5c是本申请实施例提供的虚拟对象的控制方法的应用场景示意图,如图5c所示,当终端设备接收到用户触发的控制虚拟场景500中位于第一位置的第一虚拟对象510释放位置交换技能的指令时,首先检测第二虚拟对象520是否处于第一虚拟对象510的位置交换技能的作用范围530内,当检测到第二虚拟对象520位于第一虚拟对象510的位置交换技能的作用范围530内时,进一步判断第一虚拟对象510的位置交换技能是否处于技能等待时间,当在接收到指令的时刻已经超过技能等待时间时,终端设备还需要进一步判断第一虚拟对象510当前是否具有足够的能量值,当第一虚拟对象510当前不具有足够的能量值时,可以以弹窗的方式显示第三提示信息560,第三提示信息560可以是“能量值不足,请继续累积50的能量值后释放位置交换技能”。
123.在一些实施例中,位置交换技能的技能释放条件可以是与第一虚拟对象和第二虚拟对象之间是否存在障碍物有关的,则终端设备可以通过以下方式实现上述的基于技能释放条件对第一虚拟对象的位置交换技能进行检测:基于第一虚拟对象所处的第一位置与第二虚拟对象所处的第二位置之间的射线进行障碍物检测;当检测到第一虚拟对象和第二虚拟对象之间存在障碍物时,显示第四提示信息,第四提示信息用于提示由于障碍物无法释放位置交换技能;当检测到第一虚拟对象与第二虚拟对象之间不存在障碍物时,确定将响应于控制第一虚拟对象释放的位置交换技能的触发操作。
124.示例的,终端设备在响应于控制第一虚拟对象释放的位置交换技能的触发操作,交换第一虚拟对象和第二虚拟对象在虚拟场景中的位置之前,还可以通过发送射线的方式来检测第一虚拟对象和第二虚拟对象之间是否存在障碍物,例如当用户在虚拟场景中选中第二虚拟对象后,终端设备从第一虚拟对象所处的第一位置向第二虚拟对象所处的第二位置发送射线,以检测第一虚拟对象和第二虚拟对象之间是否存在障碍物,当检测到存在障碍物时,显示第四提示信息,用于提示用户由于存在障碍物无法释放位置交换技能,同时还可以提示用户如何进入虚拟场景中无障碍物的位置;当检测到第一虚拟对象和第二虚拟对象之间不存在障碍物时,则终端设备确定将响应于控制第一虚拟对象释放的位置交换技能
的触发操作。
125.举例来说,参见图5d,图5d是本申请实施例提供的虚拟对象的控制方法的应用场景示意图,如图5d所示,当终端设备接收到用户触发的控制虚拟场景500中位于第一位置的第一虚拟对象510释放位置交换技能的指令时,发送射线570,以检测第一虚拟对象510和位于第二位置的第二虚拟对象520之间是否存在障碍物,当检测到第一虚拟对象510和第二虚拟对象520之间存在障碍物580时,可以以弹窗的方式显示第四提示信息590,例如第四提示信息590可以是“当前路径存在障碍物,请移动至别处后重新释放位置交换技能”。
126.需要说明的是,在实际应用中,技能释放条件可以是同时与位置交换技能的作用范围、技能等待时间、第一虚拟对象的能量值、以及位置交换的路径上是否存在障碍物有关的,即只有当第二虚拟对象处于第一虚拟对象的位置交换技能的作用范围内、且接收到触发操作的时间已经超过技能等待时间、第一虚拟对象具有足够的能量值、以及第一虚拟对象和第二虚拟对象之间不存在障碍物时,终端设备确定将响应于控制第一虚拟对象释放的位置交换技能的触发操作,交换第一虚拟对象和第二虚拟对象在虚拟场景中的位置。
127.在另一些实施例中,位置交换技能的技能释放条件可以是与交换第一虚拟对象和第二虚拟对象时需要符合的物理规则有关的,则终端设备可以通过以下方式实现上述的基于技能释放条件对第一虚拟对象的位置交换技能进行检测:获取交换第一虚拟对象和第二虚拟对象的位置时需要符合的物理规则,其中,物理规则包括以下至少之一:第一虚拟对象和第二虚拟对象所处的位置存在足够的空间能够容纳对方;交换位置的路径能够支持第一虚拟对象和第二虚拟对象并行通行;当符合物理规则时,确定将响应于控制第一虚拟对象释放的位置交换技能的触发操作;当不符合物理规则时,显示第五提示信息,第五提示信息用于提示由于不符合物理规则无法释放位置交换技能,并提示移动到虚拟场景中符合物理规则的位置。
128.示例的,终端设备在响应于控制第一虚拟对象释放的位置交换技能的触发操作,交换第一虚拟对象和第二虚拟对象在虚拟场景中的位置之前,还可以获取交换第一虚拟对象和第二虚拟对象的位置时需要符合的物理规则(例如判断第一虚拟对象在移动至第二虚拟对象所处的第二位置时,第二位置是否存在足够的空间能够容纳第一虚拟对象;判断交换位置的路径能否支持第一虚拟对象和第二虚拟对象并行通行等),当不符合物理规则时,可以在人机交互界面显示第五提示信息,用于提示用户由于不符合物理规则(例如第二虚拟对象所处的第二位置的空间太小)无法释放位置交换技能,并提示用户控制第一虚拟对象移动到虚拟场景中符合物理规则的位置;当符合物理规则时,终端设备确定将响应于控制第一虚拟对象释放的位置交换技能的触发操作。
129.举例来说,参见图5e,图5e是本申请实施例提供的虚拟对象的控制方法的应用场景示意图,如图5e所示,当终端设备接收到用户触发的控制虚拟场景500中位于第一位置的第一虚拟对象510释放位置交换技能的指令时,首先获取交换第一虚拟对象510和第二虚拟对象520的位置时需要符合的物理规则,当不符合物理规则时,可以以弹窗的方式显示第五提示信息5100,例如第五提示信息5100可以是“当前目标交换物所处位置的空间太小无法释放位置交换技能,请重新选择交换目标”。
130.需要说明的是,在实际应用中,技能释放条件可以是同时与位置交换技能的作用范围、技能等待时间、第一虚拟对象的能量值、位置交换的路径上是否存在障碍物、以及交
换位置需要符合的物理规则有关的,即只有当第二虚拟对象处于第一虚拟对象的位置交换技能的作用范围内、且接收到触发操作的时间已经超过技能等待时间、第一虚拟对象当前具有足够的能量值、第一虚拟对象和第二虚拟对象之间不存在障碍物、以及符合物理规则时,终端设备确定将响应于控制第一虚拟对象释放的位置交换技能的触发操作,交换第一虚拟对象和第二虚拟对象在虚拟场景中的位置。
131.在一些实施例中,终端设备在响应于控制第一虚拟对象释放的位置交换技能的触发操作之前,还可以执行以下操作:显示与第二虚拟对象对应的锁定标识,其中,锁定标识用于表征第一虚拟对象能够与第二虚拟对象进行位置交换。
132.示例的,参见图5f,图5f是本申请实施例提供的虚拟对象的控制方法的应用场景示意图,如图5f所示,终端设备在基于技能释放条件(例如位置交换技能的作用范围、技能等待时间、第一虚拟对象的能量值等)对第一虚拟对象的位置交换技能检测通过后(即确定满足第一虚拟对象的位置交换技能的技能释放条件),在第二虚拟对象520身上显示锁定标识5100,锁定标识5100用于提示用户第二虚拟对象520能够与虚拟场景500中的第一虚拟对象510交换位置。
133.需要说明的是,在实际应用中,锁定标识除了可以是如图5f所示的特定图形外,还可以是文字,或者是文字和特定图形的结合,本申请实施例对此不作限定。
134.在另一些实施例中,终端设备可以通过以下方式实现上述的交换第一虚拟对象和第二虚拟对象在虚拟场景中的位置:首先,将第一虚拟对象按照预设速度(例如第一虚拟对象能够实现的最快速度)从虚拟场景中的第一位置移动至虚拟场景中的第二位置;接着,将第二虚拟对象在虚拟场景中所处的第二位置直接更新为虚拟场景中的第一位置,或者,将第二虚拟对象按照预设速度(例如第二虚拟对象能够实现的最快速度)从虚拟场景中的第二位置移动至虚拟场景中的第一位置。也就是说,在完成位置交换后,第一虚拟对象会出现在虚拟场景中的第二位置,而第二虚拟对象会出现在虚拟场景中的第一位置,实现第一虚拟对象和第二虚拟对象位置的互换。
135.示例的,终端设备可以通过以下方式实现上述的将第一虚拟对象按照预设速度从第一位置移动至虚拟场景中的第二位置:控制第一虚拟对象在从第一位置到第二位置的交换路径上按照预设速度行进,并自动规避交换路径上存在的障碍物(能够妨碍虚拟对象通过的物体,例如大石块、坑洞等)和机关道具(能够对虚拟对象造成伤害导致其生命值降低的道具,例如地雷、机弩等)。例如,可以控制第一虚拟对象以飞行的方式从第一位置移动至第二位置,从而避开交换路径上存在的障碍物和机关道具。
136.在一些实施例中,在控制第一虚拟对象在从第一位置到第二位置的交换路径上按照预设速度行进时,终端设备还可以执行以下操作:隐藏(即设置为不可使用状态)第一虚拟对象的能量值,以屏蔽响应在行进过程中控制第一虚拟对象重复释放的位置交换技能的触发操作。也就是说,通过隐藏第一虚拟对象的能量值的方式,使得第一虚拟对象在进行位置交换的过程中,用户无法控制第一虚拟对象重复释放位置交换技能,从而避免了由于重复释放位置交换技能可能导致的软件漏洞(bug),保证了软件的稳定性。
137.在另一些实施例中,在控制第一虚拟对象在从第一位置到第二位置的交换路径上按照预设速度行进时,终端设备还可以执行以下操作:关闭第一虚拟对象对应的碰撞盒,从而避免第一虚拟对象在行进过程中与其他虚拟对象发生碰撞,并将第一虚拟对象对外部的
操作的响应置于锁定状态,使得当第一虚拟对象处于行进过程中时,用户无法对第一虚拟对象进行操作;并且,在完成位置交换后(即当第一虚拟对象移动至第二位置后),重新开启第一虚拟对象对应的碰撞盒,并解除针对第一虚拟对象设置的锁定状态。也就是说,在完成位置交换过程中,用户才能继续对第一虚拟对象进行操作。
138.在一些实施例中,参见图6,终端设备在执行完图4示出的步骤s102之后,还可以执行图6示出的步骤s103,将结合图6示出的步骤s103进行说明。
139.在步骤s103中,响应于控制第一虚拟对象的跨越操作,显示第一虚拟对象借助第二虚拟对象跨越障碍物的过程。
140.在一些实施例中,当虚拟场景中存在的障碍物(例如高台)的高度超过第一虚拟对象能够实现的最大跳跃高度时(例如假设第一虚拟对象能够实现的最大跳跃高度为60码,而高台的高度为100码),则用户可以控制第一虚拟对象借助第二虚拟对象跨越障碍物。
141.示例的,假设在虚拟场景的某个位置存在高台a,其中,高台a的高度超过第一虚拟对象能够实现的最大跳跃高度,即依靠第一虚拟对象自身的跳跃能力无法跨越高台a,则可以控制第一虚拟对象释放位置交换技能,以将第二虚拟对象(例如石块)移动至高台a附近,随后,第一虚拟对象可以借助石块跨越高台a(即首先控制第一虚拟对象登上石块,随后控制第一虚拟对象跳跃以跨越高台a),从而,通过位置交换技能的方式,使得第一虚拟对象能够跨越原先无法跨越的障碍物。
142.在另一些实施例中,位置交换技能可以是调用机器学习模型预测得到的,其中,机器学习模型可以是在终端设备本地运行的,例如服务器在训练好机器学习模型后,将训练好的机器学习模型下发给终端设备;机器学习模型也可以是部署在服务器中的,例如,终端设备在获取到第一虚拟对象的特征数据后,其中,特征数据包括以下至少之一:作用范围、技能等待时间、能量值,将第一虚拟对象的特征数据、第一虚拟对象在虚拟场景中所处的第一位置、以及第二虚拟对象在虚拟场景中所处的第二位置上传至服务器,以使服务器基于第一虚拟对象的特征数据、第一位置、以及第二位置调用机器学习模型,得到对应的多个候选技能的概率,其中,多个候选技能包括位置交换技能;随后,服务器将得到的多个候选技能的概率发送至终端设备,当最大概率对应位置交换技能时,在终端设备的人机交互界面显示第六提示信息,第六提示信息用于提示释放位置交换技能。
143.需要说明的是,机器学习模型可以是神经网络模型(例如卷积神经网络、深度卷积神经网络、全连接神经网络等)、决策树模型、梯度提升树、多层感知机、以及支持向量机等,本申请实施例对机器学习模型的类型不作具体限定。
144.本申请实施例提供的虚拟对象的控制方法,通过控制第一虚拟对象释放位置交换技能,实现第一虚拟对象和第二虚拟对象在虚拟场景中的位置交换,如此,能够将第一虚拟对象从虚拟场景中的第一位置直接移动至虚拟场景中的第二位置,简化了交互过程,进而减少了计算资源的消耗。
145.下面,以游戏场景为例,说明本申请实施例在一个实际的应用场景中的示例性应用。
146.随着独立游戏的发展,以及单机游戏市场的日益扩大,用户(或称玩家)对于游戏的创新创意和文化审美水平要求越发增加,创新玩法机制的游戏成为重要的需求,提高游戏设计创意水平十分关键。
147.例如,以2d平台动作游戏(一种历史悠久的游戏类型,是从《马xx兄弟》开始发展的游戏类型,在2d平台动作游戏中,玩家可以控制游戏角色在重力的影响下进行跑跳、战斗等动作,以动作考验为主)为例,2d平台动作游戏基本上已经发展了很多年的历史,目前,相关技术针对游戏关卡和核心机制都比较少有再创新。
148.举例来说,在控制游戏角色在游戏场景中移动或者越过游戏场景中的障碍物时,相关技术通常采用控制游戏角色跳跃(或者冲刺)、或者发射子弹击中游戏场景中的目标墙体进行传送的方式实现。
149.然而,对于控制游戏角色连续移动(例如跳跃、冲刺等)的方式来说,在独立游戏的过程发展中已经被发展地非常多,并且,也会导致交互过程十分复杂(即玩家在控制游戏角色从游戏场景中的一个位置移动到另一个位置的过程中需要一直进行操作),浪费了终端设备的计算资源;此外,对于传送的方式来说,子弹在飞行过程中也需要耗费较长的时间,无法达成直接点击的快速交换,导致用户的游戏体验不佳。
150.鉴于此,针对2d平台动作游戏,本申请实施例提供的虚拟对象的控制方法提供了一个创新的游戏机制,玩家可以通过鼠标瞄准游戏场景中的目标交换物(对应于上述的第二虚拟对象),点击实现游戏角色(对应于上述的第一虚拟对象)与目标交换物在游戏场景中快速的位置交换,以此能够产生许多情形来越过游戏场景中的障碍物。
151.示例的,玩家可以使用鼠标来移动光标瞄准游戏场景中的目标交换物,当目标交换物与玩家控制的游戏角色之间的连线交点没有障碍物时,玩家可以点击鼠标左键,触发游戏角色释放位置交换技能,在释放位置交换技能时会消耗游戏角色的能量值,当游戏角色落地时(即完成位置交换后)会恢复能量值,从而能够避免当游戏角色处于空中时,玩家无限控制游戏角色释放位置交换技能导致的bug。随后,在终端设备的人机交互界面中显示短暂的交换动画后,玩家控制的游戏角色会出现在游戏场景中目标交换物先前所在的位置,而目标交换物会出现在游戏场景中玩家控制的游戏角色先前所在的位置,即实现游戏角色和目标交换物在游戏场景中位置的互换。
152.本申请实施例提供的虚拟对象的控制方法具有十分广泛的应用场景。
153.在一些实施例中,可以通过控制第一虚拟对象释放位置交换技能来跨越游戏场景中的障碍物。
154.示例的,参见图7a,图7a是本申请实施例提供的虚拟对象的控制方法的应用场景示意图,如图7a所示,在游戏场景700中显示有位于第一位置的第一虚拟对象710(例如受控于真实玩家的游戏角色)和位于第二位置的第二虚拟对象720(例如游戏场景中存在的石块),当第一虚拟对象710和第二虚拟对象720之间存在障碍物730(例如坑洞)时,玩家可以通过控制第一虚拟对象710释放位置交换技能的方式来越过障碍物730。例如玩家可以首先使用鼠标移动光标来瞄准游戏场景700中的目标交换物(例如图7a中的第二虚拟对象720),此时,第二虚拟对象720身上会出现用于提示锁定的光圈740,以提示玩家将与第二虚拟对象720交换位置,此外,还可以以高亮的方式显示第二虚拟对象720的外框,以更加明显的提醒玩家。接着,玩家可以点击鼠标左键触发第一虚拟对象710释放位置交换技能,当第一虚拟对象710和第二虚拟对象720之间不存在障碍物(例如墙体)时,在显示短暂的交换动画后,第一虚拟对象710会出现在游戏场景700中第二虚拟对象720先前所在的位置,而第二虚拟对象720会出现在游戏场景700中第一虚拟对象710先前所在的位置,如此,第一虚拟对象
710原先在障碍物730的前面,在经过位置交换之后,第一虚拟对象710出现在障碍物730的另一端,从而完成了越障。
155.在另一些实施例中,还可以通过控制第一虚拟对象释放位置交换技能来跨越游戏场景中原先无法跨越的高台。
156.示例的,参见图7b,图7b是本申请实施例提供的虚拟对象的控制方法的应用场景示意图,如图7b所示,当玩家控制第一虚拟对象710在游戏场景700移动的过程中遇到依赖于第一虚拟对象710自身的跳跃能力无法跨越的高台740时,可以首先控制第一虚拟对象710释放位置交换技能,例如控制第一虚拟对象710释放位置交换技能,以将游戏场景700中的第二虚拟对象720(例如游戏场景中存在的石块)交换至高台740的下方,随后,玩家可以控制第一虚拟对象720登上第二虚拟对象720,并继续进行跳跃,以此来增加第一虚拟对象710跳跃的高度,从而登上原先无法跨越的高台740,实现越障的目的。
157.下面从技术侧对本申请实施例提供的虚拟对象的控制方法进行具体说明。
158.示例的,参见图8,图8是本申请实施例提供的虚拟对象的控制方法的流程示意图,如图8所示,终端设备首先确定游戏场景中的目标交换物(即游戏场景中将与玩家控制的游戏角色进行位置交换的虚拟物品),例如玩家可以通过使用鼠标移动光标的方式瞄准游戏场景中的虚拟物品,终端设备将玩家在游戏场景中所瞄准的虚拟物品作为目标交换物,接着,终端设备判断玩家控制的游戏角色和目标交换物之间是否存在障碍物(例如墙体),例如可以通过发送射线的方式判断游戏角色和目标交换物之间是否存在墙体;当游戏角色和目标交换物之间存在障碍物时,在人机交互界面中显示相应的提示信息,以提示玩家重新选择目标交换物。
159.当游戏角色和目标交换物之间不存在障碍物时,判断游戏角色当前是否处于空中,当游戏角色当前未处于空中时,终端设备确定响应于用户触发的控制游戏角色释放位置交换技能的指令,交换游戏角色和目标交换物在游戏场景中的位置(例如当玩家按下鼠标左键时,触发游戏角色释放位置交换技能,锁定玩家的操控输入,以及关闭游戏角色的碰撞盒,使得其可以在空中移动时不会与游戏场景中的其他飞行物发生碰撞,并依照一定的速度上限将游戏角色移动至游戏场景中目标交换物所在的位置;对于目标交换物,为了避免目标交换物和游戏角色两个虚拟对象同时在空中移动而造成的视觉干扰,可以在一定延迟后,将目标交换物的位置直接修改成游戏场景中游戏角色先前所在的位置)。
160.当游戏角色当前处于空中时,则需要进一步判断游戏角色是否具有足够的能量值,当游戏角色不具有足够的能量值时,忽略玩家触发的控制游戏角色释放位置交换技能的指令;当游戏角色具有足够的能量值时,终端设备确定响应于玩家触发的控制游戏角色释放位置交换技能的释放指令,交换游戏角色和目标交换物在游戏场景中的位置。
161.本申请实施例提供的虚拟对象的控制方法,针对2d平台动作游戏提供了一个创新的游戏机制(即游戏角色的位置交换技能),从而能够围绕交换机制制作出很多特殊的关卡和谜题,相较于相关技术提供的控制游戏角色跳跃或者冲刺的方式,增加了游戏乐趣,大大提高了用户的游戏体验。
162.下面继续说明本申请实施例提供的虚拟对象的控制装置465实施为软件模块的示例性结构,在一些实施例中,如图3所示,存储在存储器460的虚拟对象的控制装置465中的软件模块可以包括:显示模块4651和交换模块4652。
163.显示模块4651,用于在人机交互界面中显示虚拟场景,其中,虚拟场景包括位于第一位置的第一虚拟对象以及位于第二位置的第二虚拟对象;交换模块4652,用于响应于控制第一虚拟对象释放的位置交换技能的触发操作,交换第一虚拟对象和第二虚拟对象在虚拟场景中的位置;其中,第一虚拟对象位于第二位置,第二虚拟对象位于第一位置。
164.在一些实施例中,虚拟对象的控制装置465还包括获取模块4653,用于获取与第一虚拟对象的位置交换技能对应的技能释放条件;虚拟对象的控制装置465还包括检测模块4654,用于基于技能释放条件对第一虚拟对象的位置交换技能进行检测。
165.在一些实施例中,检测模块4654,还用于获取第一虚拟对象的位置交换技能的作用范围;当第二虚拟对象位于作用范围内时,确定将响应于控制第一虚拟对象释放的位置交换技能的触发操作;当第二虚拟对象位于作用范围外时,显示第一提示信息,第一提示用于提示无法释放位置交换技能,并提示如何移动至作用范围内。
166.在一些实施例中,获取模块4653,还用于获取第一虚拟对象的状态参数;虚拟对象的控制装置465还包括确定模块4655,用于基于状态参数确定第一虚拟对象的位置交换技能的作用范围;其中,状态参数包括以下至少之一:第一虚拟对象的等级、第一虚拟对象的活跃程度、第一虚拟对象的生命值。
167.在一些实施例中,检测模块4654,还用于获取第一虚拟对象的位置交换技能的技能等待时间;当第一时间与第二时间的间隔小于技能等待时间时,显示第二提示信息,第二提示信息用于提示无法释放位置交换技能,并提示需要等待的时间;当第一时间与第二时间的间隔大于或等于技能等待时间时,确定将响应于控制第一虚拟对象释放的位置交换技能的触发操作;其中,第一时间是最近一次控制第一虚拟对象释放位置交换技能的时间,第二时间是接收到触发操作的时间。
168.在一些实施例中,检测模块4654,还用于获取第一虚拟对象的能量值;当第一虚拟对象的能量值大于释放位置交互技能需要的能量值时,确定将响应于控制第一虚拟对象释放的位置交换技能的触发操作;当第一虚拟对象当前不具有足够的能量值时,显示第三提示信息,第三提示信息用于提示无法释放位置交换技能,并提示需要积累的能量值。
169.在一些实施例中,检测模块4654,还用于基于第一位置与第二位置之间的射线进行障碍物检测;当检测到第一虚拟对象与第二虚拟对象之间存在障碍物时,显示第四提示信息,第四提示信息用于提示由于障碍物无法释放位置交换技能;当检测到第一虚拟对象与第二虚拟对象之间不存在障碍物时,确定将响应于控制第一虚拟对象释放的位置交换技能的触发操作。
170.在一些实施例中,检测模块4654,还用于获取交换第一虚拟对象和第二虚拟对象的位置时需要符合的物理规则;其中,物理规则包括以下至少之一:第一虚拟对象和第二虚拟对象所处的位置存在足够的空间能够容纳对方;交换位置的路径能够支持第一虚拟对象和第二虚拟对象并行通行;当符合物理规则时,确定将响应于控制第一虚拟对象释放的位置交换技能的触发操作;当不符合物理规则时,显示第五提示信息,第五提示信息用于提示由于不符合物理规则无法释放位置交换技能,并提示移动到符合物理规则的位置。
171.在一些实施例中,显示模块4651,还用于显示与第二虚拟对象对应的锁定标识;其中,锁定标识用于表征第一虚拟对象能够与第二虚拟对象进行位置交换。
172.在一些实施例中,交换模块4652,还用于将第一虚拟对象按照预设速度从第一位
置移动至虚拟场景中的第二位置;以及用于将第二虚拟对象在虚拟场景中所处的第二位置直接更新为虚拟场景中的第一位置,或者,将第二虚拟对象按照预设速度从第二位置移动至虚拟场景中的第一位置。
173.在一些实施例中,交换模块4652,还用于控制第一虚拟对象在从第一位置到第二位置的交换路径上按照预设速度行进,并自动规避交换路径上存在的障碍物和机关道具。
174.在一些实施例中,虚拟对象的控制装置465还包括隐藏模块4656,用于隐藏第一虚拟对象的能量值,以屏蔽响应在行进过程中控制第一虚拟对象重复释放的位置交换技能的触发操作。
175.在一些实施例中,虚拟对象的控制装置465还包括关闭模块4657,用于关闭第一虚拟对象对应的碰撞盒,并将第一虚拟对象对外部的操作的响应置于锁定状态;虚拟对象的控制装置465还包括开启模块4658,用于开启第一虚拟对象对应的碰撞盒,并解除针对第一虚拟对象设置的锁定状态。
176.在一些实施例中,显示模块4651,还用于在虚拟场景中显示位于第一位置的第一虚拟对象;响应于控制第一虚拟对象释放的召唤技能的触发操作,在虚拟场景的第二位置显示被召唤出的第二虚拟对象。
177.在一些实施例中,显示模块4651,还用于在虚拟场景中以预设方式显示多个第三虚拟对象;确定模块4655,还用于响应于虚拟对象选择操作,将多个第三虚拟对象中被选中的第三虚拟对象作为第二虚拟对象。
178.在一些实施例中,显示模块4651,还用于响应于控制第一虚拟对象的跨越操作,显示第一虚拟对象借助第二虚拟对象跨越障碍物的过程;其中,障碍物的高度超过第一虚拟对象在未借助第二虚拟对象时能够实现的跳跃高度。
179.在一些实施例中,获取模块4653,还用于获取第一虚拟对象的特征数据;虚拟对象的控制装置465还包括调用模块4659,用于基于特征数据、第一位置以及第二位置调用机器学习模型,得到对应的多个候选技能的概率,多个候选技能包括位置交换技能;显示模块4651,还用于当最大概率对应位置交换技能时,显示第六提示信息,第六提示信息用于提示释放位置交换技能;其中,特征数据包括以下至少之一:作用范围、技能等待时间、能量值。
180.需要说明的是,本申请实施例中关于装置的描述,与上文中虚拟对象的控制方法的实现是类似的,并具有相似的有益效果,因此不做赘述。对于本申请实施例提供的虚拟对象的控制装置中未尽的技术细节,可以根据图4、或图6、或图8任一附图的说明而理解。
181.本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的虚拟对象的控制方法。
182.本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的方法,例如,如图4、或图6、或图8示出的虚拟对象的控制方法。
183.在一些实施例中,计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、闪存、磁表面存储器、光盘、或cd

rom等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
184.在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
185.作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(html,hyper text markup language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
186.作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
187.综上所述,本申请实施例通过控制第一虚拟对象释放位置交换技能,实现第一虚拟对象和第二虚拟对象在虚拟场景中的位置交换,如此,能够将第一虚拟对象从虚拟场景中的第一位置直接移动至虚拟场景中的第二位置,简化了交互过程,进而减少了计算资源的消耗。
188.以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。

技术特征:
1.一种虚拟对象的控制方法,其特征在于,所述方法包括:在人机交互界面中显示虚拟场景,其中,所述虚拟场景包括位于第一位置的第一虚拟对象以及位于第二位置的第二虚拟对象;响应于控制所述第一虚拟对象释放的位置交换技能的触发操作,交换所述第一虚拟对象和所述第二虚拟对象在所述虚拟场景中的位置;其中,所述第一虚拟对象位于所述第二位置,所述第二虚拟对象位于所述第一位置。2.根据权利要求1所述的方法,其特征在于,在响应于控制所述第一虚拟对象释放的位置交换技能的触发操作之前,所述方法还包括:获取与所述第一虚拟对象的位置交换技能对应的技能释放条件;基于所述技能释放条件对所述第一虚拟对象的位置交换技能进行检测。3.根据权利要求2所述的方法,其特征在于,所述基于所述技能释放条件对所述第一虚拟对象的位置交换技能进行检测,包括:获取所述第一虚拟对象的位置交换技能的作用范围;当所述第二虚拟对象位于所述作用范围内时,确定将响应于控制所述第一虚拟对象释放的位置交换技能的触发操作;当所述第二虚拟对象位于所述作用范围外时,显示第一提示信息,所述第一提示用于提示无法释放所述位置交换技能,并提示如何移动至所述作用范围内。4.根据权利要求3所述的方法,其特征在于,所述获取所述第一虚拟对象的位置交换技能的作用范围,包括:获取所述第一虚拟对象的状态参数;基于所述状态参数确定所述第一虚拟对象的位置交换技能的作用范围;其中,所述状态参数包括以下至少之一:所述第一虚拟对象的等级、所述第一虚拟对象的活跃程度、所述第一虚拟对象的生命值。5.根据权利要求2所述的方法,其特征在于,所述基于所述技能释放条件对所述第一虚拟对象的位置交换技能进行检测,包括:获取所述第一虚拟对象的位置交换技能的技能等待时间;当第一时间与第二时间的间隔小于所述技能等待时间时,显示第二提示信息,所述第二提示信息用于提示无法释放所述位置交换技能,并提示需要等待的时间;当第一时间与第二时间的间隔大于或等于所述技能等待时间时,确定将响应于控制所述第一虚拟对象释放的位置交换技能的触发操作;其中,所述第一时间是最近一次控制所述第一虚拟对象释放所述位置交换技能的时间,所述第二时间是接收到所述触发操作的时间。6.根据权利要求2所述的方法,其特征在于,所述基于所述技能释放条件对所述第一虚拟对象的位置交换技能进行检测,包括:获取所述第一虚拟对象的能量值;当所述第一虚拟对象的能量值大于释放所述位置交互技能需要的能量值时,确定将响应于控制所述第一虚拟对象释放的位置交换技能的触发操作;当所述第一虚拟对象当前不具有足够的能量值时,显示第三提示信息,所述第三提示信息用于提示无法释放所述位置交换技能,并提示需要积累的能量值。
7.根据权利要求2所述的方法,其特征在于,所述基于所述技能释放条件对所述第一虚拟对象的位置交换技能进行检测,包括:基于所述第一位置与所述第二位置之间的射线进行障碍物检测;当检测到所述第一虚拟对象与所述第二虚拟对象之间存在障碍物时,显示第四提示信息,所述第四提示信息用于提示由于障碍物无法释放所述位置交换技能;当检测到所述第一虚拟对象与所述第二虚拟对象之间不存在障碍物时,确定将响应于控制所述第一虚拟对象释放的位置交换技能的触发操作。8.根据权利要求2所述的方法,其特征在于,所述基于所述技能释放条件对所述第一虚拟对象的位置交换技能进行检测,包括:获取交换所述第一虚拟对象和所述第二虚拟对象的位置时需要符合的物理规则;其中,所述物理规则包括以下至少之一:所述第一虚拟对象和所述第二虚拟对象所处的位置存在足够的空间能够容纳对方;交换位置的路径能够支持所述第一虚拟对象和所述第二虚拟对象并行通行;当符合所述物理规则时,确定将响应于控制所述第一虚拟对象释放的位置交换技能的触发操作;当不符合所述物理规则时,显示第五提示信息,所述第五提示信息用于提示由于不符合物理规则无法释放所述位置交换技能,并提示移动到符合所述物理规则的位置。9.根据权利要求1所述的方法,其特征在于,在响应于控制所述第一虚拟对象释放的位置交换技能的触发操作之前,所述方法还包括:显示与所述第二虚拟对象对应的锁定标识;其中,所述锁定标识用于表征所述第一虚拟对象能够与所述第二虚拟对象进行位置交换。10.根据权利要求1所述的方法,其特征在于,所述交换所述第一虚拟对象和所述第二虚拟对象在所述虚拟场景中的位置,包括:将所述第一虚拟对象按照预设速度从所述第一位置移动至所述虚拟场景中的所述第二位置;将所述第二虚拟对象在所述虚拟场景中所处的所述第二位置直接更新为所述虚拟场景中的所述第一位置,或者,将所述第二虚拟对象按照所述预设速度从所述第二位置移动至所述虚拟场景中的所述第一位置。11.根据权利要求10所述的方法,其特征在于,所述将所述第一虚拟对象按照预设速度从所述第一位置移动至所述虚拟场景中的所述第二位置,包括:控制所述第一虚拟对象在从所述第一位置到所述第二位置的交换路径上按照预设速度行进,并自动规避所述交换路径上存在的障碍物和机关道具。12.根据权利要求11所述的方法,其特征在于,在控制所述第一虚拟对象在从所述第一位置到所述第二位置的交换路径上按照预设速度行进时,所述方法还包括:隐藏所述第一虚拟对象的能量值,以屏蔽响应在行进过程中控制所述第一虚拟对象重复释放所述位置交换技能的触发操作。13.根据权利要求11所述的方法,其特征在于,在控制所述第一虚拟对象在从所述第一位置到所述第二位置的交换路径上按照预设速度行进时,所述方法还包括:
关闭所述第一虚拟对象对应的碰撞盒,并将所述第一虚拟对象对外部的操作的响应置于锁定状态;在完成位置交换后,所述方法还包括:开启所述第一虚拟对象对应的碰撞盒,并解除针对所述第一虚拟对象设置的所述锁定状态。14.根据权利要求1所述的方法,其特征在于,所述在人机交互界面中显示虚拟场景,包括:在虚拟场景中显示位于第一位置的第一虚拟对象;响应于控制所述第一虚拟对象释放的召唤技能的触发操作,在所述虚拟场景的第二位置显示被召唤出的第二虚拟对象。15.根据权利要求1所述的方法,其特征在于,在响应于控制所述第一虚拟对象释放的位置交换技能的触发操作之前,所述方法还包括:在所述虚拟场景中以预设方式显示多个第三虚拟对象;响应于虚拟对象选择操作,将所述多个第三虚拟对象中被选中的第三虚拟对象作为所述第二虚拟对象。16.根据权利要求1所述的方法,其特征在于,在交换所述第一虚拟对象和所述第二虚拟对象在所述虚拟场景中的位置之后,所述方法还包括:响应于控制所述第一虚拟对象的跨越操作,显示所述第一虚拟对象借助所述第二虚拟对象跨越障碍物的过程;其中,所述障碍物的高度超过所述第一虚拟对象在未借助所述第二虚拟对象时能够实现的跳跃高度。17.根据权利要求1所述的方法,其特征在于,所述位置交换技能是调用机器学习模型预测得到的;当在人机交互界面中显示虚拟场景时,所述方法还包括:获取所述第一虚拟对象的特征数据;基于所述特征数据、所述第一位置以及所述第二位置调用所述机器学习模型,得到对应的多个候选技能的概率,所述多个候选技能包括所述位置交换技能;当最大概率对应所述位置交换技能时,显示第六提示信息,所述第六提示信息用于提示释放所述位置交换技能;其中,所述特征数据包括以下至少之一:作用范围、技能等待时间、能量值。18.一种虚拟对象的控制装置,其特征在于,所述装置包括:显示模块,用于在人机交互界面中显示虚拟场景,其中,所述虚拟场景包括位于第一位置的第一虚拟对象以及位于第二位置的第二虚拟对象;交换模块,用于响应于控制所述第一虚拟对象释放的位置交换技能的触发操作,交换所述第一虚拟对象和所述第二虚拟对象在所述虚拟场景中的位置;其中,所述第一虚拟对象位于所述第二位置,所述第二虚拟对象位于所述第一位置。19.一种电子设备,其特征在于,所述电子设备包括:存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至17任一项所述
的虚拟对象的控制方法。20.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于被处理器执行时,实现权利要求1至17任一项所述的虚拟对象的控制方法。
技术总结
本申请提供了一种虚拟对象的控制方法、装置、电子设备及计算机可读存储介质;方法包括:在人机交互界面中显示虚拟场景,其中,所述虚拟场景包括位于第一位置的第一虚拟对象以及位于第二位置的第二虚拟对象;响应于控制所述第一虚拟对象释放的位置交换技能的触发操作,交换所述第一虚拟对象和所述第二虚拟对象在所述虚拟场景中的位置;其中,所述第一虚拟对象位于所述第二位置,所述第二虚拟对象位于所述第一位置。通过本申请,能够以高效和资源集约的方式实现虚拟对象在虚拟场景中移动。约的方式实现虚拟对象在虚拟场景中移动。约的方式实现虚拟对象在虚拟场景中移动。


技术研发人员:叶梓涛 杨霁初
受保护的技术使用者:腾讯科技(深圳)有限公司
技术研发日:2021.04.23
技术公布日:2021/6/25

转载请注明原文地址:https://doc.8miu.com/read-150078.html

最新回复(0)