HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

虚拟道具的交互方法、装置及电子设备与流程

2021-01-11 13:01:25|215|起点商标网
虚拟道具的交互方法、装置及电子设备与流程

本申请涉及计算机人机交互技术,尤其涉及一种虚拟道具的交互方法、装置、电子设备及计算机可读存储介质。



背景技术:

基于图形处理硬件的显示技术,扩展了感知环境以及获取信息的渠道,尤其是虚拟场景的显示技术,借助与人机交互引擎技术,能够根据实际应用需求实现受控于用户或人工智能的虚拟对象之间的多样化的交互,具有各种典型的应用场景,例如在军事演习仿真、以及游戏等的虚拟场景中,能够模拟虚拟对象之间的真实的对战过程。

由于虚拟场景中的特效道具通常是以特效渲染的方式在人机交互界面中进行呈现,由于在人机交互引擎中的特效不能够绑定碰撞盒子以实现虚拟道具之间的碰撞检测,从而导致虚拟对象在操作特效道具时,特效道具无法与虚拟道具发生碰撞过程,这限制了虚拟道具与特效道具之间的互动形式。

综上,对于如何扩展特效道具与虚拟道具之间的互动形式,相关技术尚无有效解决方案。



技术实现要素:

本申请实施例提供一种虚拟道具的交互方法、装置、电子设备及计算机可读存储介质,能够扩展特效道具与虚拟道具之间的互动形式。

本申请实施例的技术方案是这样实现的:

本申请实施例提供一种虚拟道具的交互方法,包括:

响应于在虚拟场景中针对特效道具的投掷触发操作,显示所述特效道具的第一移动过程;

当所述特效道具在所述第一移动过程中的实时位置处于虚拟道具的碰撞范围内时,显示所述特效道具被所述虚拟道具反弹后的第二移动过程;

当所述特效道具在所述第二移动过程中的实时位置处于目标位置时,显示所述特效道具的特效。

本申请实施例提供一种虚拟道具的交互装置,包括:

第一显示模块,用于响应于在虚拟场景中针对特效道具的投掷触发操作,显示所述特效道具的第一移动过程;

第二显示模块,用于当所述特效道具在所述第一移动过程中的实时位置处于虚拟道具的碰撞范围内时,显示所述特效道具被所述虚拟道具反弹后的第二移动过程;

第三显示模块,还用于当所述特效道具在所述第二移动过程中的实时位置处于目标位置时,显示所述特效道具的特效。

在上述方案中,当显示所述特效道具的第一移动过程时,所述装置还包括:碰撞模块,用于:获取所述特效道具在所述第一移动过程中的实时位置;基于所述实时位置对所述特效道具与所述虚拟道具进行碰撞检测。

在上述方案中,所述碰撞模块,还用于:通过绑定在所述特效道具上的相机组件,从所述实时位置发射与所述特效道具的实时移动方向一致的检测射线,其中,所述检测射线的长度与检测距离一致;确定所述检测射线与绑定在所述特效道具的碰撞器组件之间的位置关系;基于所述位置关系确定所述特效道具是否处于所述虚拟道具的碰撞范围。

在上述方案中,所述碰撞模块,还用于:当所述检测射线与所述碰撞器组件存在交叉时,确定所述特效道具处于所述虚拟道具的碰撞范围内;当所述检测射线与所述碰撞器组件之间不存在交叉时,确定所述特效道具在所述第一移动过程中的实时位置处于所述虚拟道具的碰撞范围外。

在上述方案中,在显示所述特效道具的第一移动过程之前,所述第一显示模块,还用于:显示多个候选的特效道具;响应于特效道具选择操作,显示被选择的特效道具的投掷预备状态;其中,所述投掷预备状态包括所述特效道具的投掷初始位置与投掷方向。

在上述方案中,当显示被选择的特效道具的投掷预备状态时,所述第一显示模块,还用于:根据所述虚拟道具的投掷初始位置、投掷方向和默认的投掷初始速度,确定在所述虚拟场景中的投掷参考轨迹;在所述虚拟场景中显示所述投掷参考轨迹。

在上述方案中,当显示所述特效道具的第一移动过程时,所述第一显示模块,还用于:响应于针对所述特效道具的预览操作,显示所述特效道具的第一预览轨迹、以及所述特效道具被所述虚拟道具反弹后的第二预览轨迹。

在上述方案中,所述第三显示模块,还用于:当所述目标位置的影响范围内存在虚拟对象时,显示所述特效道具针对所述目标位置、所述特效道具针对所述虚拟对象施加的特效;当所述目标位置的影响范围内不存在虚拟对象时,显示所述特效道具针对所述目标位置施加的特效。

在上述方案中,当显示所述特效道具针对所述虚拟对象施加的特效时,所述装置还包括:计算模块,用于:确定所述虚拟道具的特效被释放时所述虚拟对象的状态参数的损失值;基于所述损失值更新所述虚拟对象的状态参数;基于更新的状态参数确定所述虚拟对象在被施加所述特效后更新的状态。

在上述方案中,所述第三显示模块,还用于:当所述目标位置的影响范围不包括所述虚拟场景中的任一虚拟对象时,显示所述特效道具未应用于所述虚拟对象的提示信息。

在上述方案中,所述计算模块,还用于:获取所述虚拟对象与所述目标位置之间的距离;确定与所述距离成负相关关系的损失值。

在上述方案中,所述计算模块,还用于:确定所述特效道具到达所述目标位置之前所述特效道具与所述虚拟场景中的碰撞对象发生的碰撞次数;确定与所述碰撞次数成负相关关系的影响范围;确定与所述碰撞次数成负相关关系的损失值。

在上述方案中,响应于在虚拟场景中针对特效道具的投掷触发操作之前,所述计算模块,还用于:获取操作所述特效道具的虚拟对象在所述虚拟场景中的行为指标;当所述虚拟对象的行为指标满足使用所述虚拟道具的指标条件时,显示用于激活所述虚拟道具的控件。

在上述方案中,所述装置还包括:第四显示模块,用于:响应于针对所述虚拟对象的移动触发操作,显示所述虚拟对象在所述虚拟场景中的第三移动过程;其中,当在所述第三移动过程中所述虚拟对象的实时位置处于所述虚拟道具的碰撞范围内时,显示所述虚拟对象穿透所述虚拟道具。

在上述方案中,所述显示所述特效道具被所述虚拟道具反弹后的第二移动过程之前,所述碰撞模块,还用于:确定所述特效道具与所述虚拟道具碰撞时,所述虚拟道具因为累积的碰撞所导致的破坏程度;当所述破坏程度不超过所述虚拟道具的破坏程度阈值时,确定所述特效道具将被所述虚拟道具反弹,并确定将执行显示所述特效道具被所述虚拟道具反弹后的第二移动过程的操作;当所述破坏程度超过所述破坏程度阈值时,确定将不执行显示所述特效道具被所述虚拟道具反弹后的第二移动过程的操作,并显示所述虚拟道具已经损毁的提示信息。

在上述方案中,所述显示所述特效道具的特效之前,所述计算模块,还用于:获取所述特效道具与所述虚拟道具碰撞的碰撞角度、以及所述特效道具与所述虚拟道具的碰撞速度;根据所述碰撞角度以及所述碰撞速度确定所述特效道具的反弹角度、以及被所述虚拟道具的反弹速度;根据所述反弹角度以及所述反弹速度,确定所述虚拟道具在所述第二移动过程中的目标位置。

本申请实施例提供一种电子设备,包括:

存储器,用于存储可执行指令;

处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的虚拟道具的交互方法。

本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于被处理器执行时,实现本申请实施例提供的虚拟道具的交互方法。

本申请实施例具有以下有益效果:

通过真实模拟特效层面的特效道具与实体层面的虚拟道具之间的碰撞物理作用,实现了在虚拟场景中真实表征道具之间互相作用的效果,扩展特效道具与虚拟道具之间的互动形式,从而既实现了虚拟场景的良好沉浸感,还节约了将特效道具设置为实体虚拟道具所导致的计算消耗,进而提高了虚拟场景中人机交互的实时性。

附图说明

图1是相关技术中的虚拟道具的交互方法的应用模式示意图;

图2a-2b是本申请实施例提供的虚拟道具的交互方法的应用模式示意图;

图3a是本申请实施例提供的应用虚拟道具的交互方法的电子设备的结构示意图;

图3b是本申请实施例提供的虚拟道具的交互装置中安装的人机交互引擎的原理示意图;

图4a-4d是本申请实施例提供的虚拟道具的交互方法的流程示意图;

图5是本申请实施例提供的虚拟道具的交互方法的界面示意图;

图6是本申请实施例提供的虚拟道具的交互方法的界面示意图;

图7是本申请实施例提供的虚拟道具的交互方法的界面示意图;

图8是本申请实施例提供的虚拟道具的交互方法的界面示意图;

图9是本申请实施例提供的虚拟道具的交互方法的界面示意图;

图10是本申请实施例提供的虚拟道具的交互方法的界面示意图;

图11是本申请实施例提供的虚拟道具的交互方法的流程示意图;

图12是本申请实施例提供的虚拟道具的交互方法的界面示意图;

图13是本申请实施例提供的虚拟道具的交互方法的配置示意图;

图14是本申请实施例提供的虚拟道具的交互方法的界面示意图;

图15a-15b是本申请实施例提供的虚拟道具的交互方法的界面示意图。

具体实施方式

为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。

在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。

在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。

对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。

1)虚拟场景,利用设备输出的区别于现实世界的场景,通过裸眼或设备的辅助能够形成对虚拟场景的视觉感知,例如通过显示屏幕输出的二维影像,通过立体投影、虚拟现实和增强现实技术等立体显示技术来输出的三维影像;此外,还可以通过各种可能的硬件形成听觉感知、触觉感知、嗅觉感知和运动感知等各种模拟现实世界的感知。

2)响应于,用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。

3)客户端,终端中运行的用于提供各种服务的应用程序,例如游戏客户端等、军事演习仿真客户端。

4)虚拟对象,虚拟场景中进行交互的对象,受到用户或机器人程序(例如,基于人工智能的机器人程序)的控制,能够在虚拟场景中静止、移动以及进行各种行为的对象,例如游戏中的各种角色,军事演习仿真中的士兵等。

5)特效道具,虚拟场景中道具的一种,由虚拟对象控制,特效道具未绑定碰撞盒子,以特效渲染的形式在特效层面呈现特效道具的用途。

6)虚拟道具,虚拟场景中道具的一种,由虚拟对象控制,虚拟道具绑定有碰撞盒子,根据预先配置的碰撞文件,虚拟道具与其他绑定有碰撞盒子的素材之间发生碰撞。

参见图1,图1是相关技术中的虚拟道具的交互方法的应用模式示意图,虚拟场景401中设置有虚拟道具402,投掷物会穿透虚拟道具402,例如机枪炮台等技能武器,红色的投掷线403即为投掷物的预先展示的飞行轨迹,即投掷物直接从虚拟道具402穿透,投掷物是一种特效道具,并未设置有碰撞盒子,投掷物的飞行轨迹直接穿透虚拟道具,不符合实际对战场景中投掷物与虚拟道具相遇后发生碰撞的真实作用过程,降低了用户沉浸式体验,若将特效道具设置为具有碰撞盒子的虚拟道具,则会导致额外的计算消耗,进而降低了虚拟场景中人机交互的实时性。

本申请实施例提供一种虚拟道具的交互方法、装置、电子设备和计算机可读存储介质,能够在不产生额外的计算消耗的前提下提高用户沉浸式体验以及虚拟场景中人机交互的实时性,下面说明本申请实施例提供的电子设备的示例性应用,本申请实施例提供的电子设备可以实施为笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等各种类型的用户终端,也可以实施为服务器。

为便于更容易理解本申请实施例提供的虚拟道具的交互方法,首先说明本申请实施例提供的虚拟道具的交互方法的示例性实施场景,虚拟场景可以完全基于终端输出,或者基于终端和服务器的协同来输出。

在一些实施例中,虚拟场景可以是军事演习仿真中所呈现的画面,用户可以在虚拟场景中,通过属于不同群组的虚拟对象来模拟战局、战略或战术,对于军事作战的指挥有着很大的指导作用。

在一些实施例中,虚拟场景可以是供游戏角色交互的环境,例如可以是供游戏角色在虚拟场景中进行对战,通过控制虚拟对象的行动可以在虚拟场景中进行双方互动,从而使用户能够在游戏的过程中舒缓生活压力。

在一个实施场景中,参见图2a,图2a是本申请实施例提供的虚拟道具的交互方法的应用模式示意图,适用于一些完全依赖终端400的计算能力即可完成虚拟场景100的相关数据计算的应用模式,例如单机版/离线模式的游戏,通过智能手机、平板电脑和虚拟现实/增强现实设备等终端400完成虚拟场景的输出。

当形成虚拟场景100的视觉感知时,终端400通过图形计算硬件计算显示所需要的数据,并完成显示数据的加载、解析和渲染,在图形输出硬件输出能够对虚拟场景形成视觉感知的视频帧,例如,在智能手机的显示屏幕呈现二维的视频帧,或者,在增强现实/虚拟现实眼镜的镜片上投射实现三维显示效果的视频帧;此外,为了丰富感知效果,设备还可以借助不同的硬件来形成听觉感知、触觉感知、运动感知和味觉感知的一种或多种。

作为示例,终端400运行客户端410(例如单机版的游戏应用),在客户端410的运行过程中输出包括有角色扮演的虚拟场景,虚拟场景是供游戏角色交互的环境,例如可以是用于供游戏角色进行对战的平原、街道、山谷等等;虚拟场景中包括虚拟对象110、特效道具120以及虚拟道具130,虚拟对象110可以是受用户(或称玩家)控制的游戏角色,即虚拟对象110受控于真实用户,将响应于真实用户针对控制器(包括触控屏、声控开关、键盘、鼠标和摇杆等)的操作而在虚拟场景中运动,例如当真实用户向左移动摇杆时,虚拟对象将在虚拟场景中向左部移动,还可以保持原地静止、跳跃以及使用各种功能(如技能和道具);特效道具120可以是在虚拟场景中被虚拟对象110使用的投掷物,例如,虚拟对象110可以在虚拟场景中投掷特效道具120,使得特效道具120在虚拟场景中移动,并在客户端410中呈现移动轨迹;虚拟道具130可以是虚拟场景中被虚拟对象激活的静置道具,例如,移动过程中特效道具120与虚拟道具130发生碰撞,特效道具120的移动轨迹发生改变,并在改变后的移动轨迹的目标位置释放特效道具120的特效。

举例来说,用户通过客户端410控制虚拟对象110在虚拟场景中投掷特效道具120,使得特效道具120在虚拟场景中移动,并在客户端410中呈现移动轨迹;移动过程中特效道具120与虚拟道具130发生碰撞,特效道具120的移动轨迹发生改变,并在改变后的移动轨迹的目标位置释放特效道具120的特效。

在另一个实施场景中,参见图2b,图2b是本申请实施例提供的虚拟道具的交互方法的应用模式示意图,应用于终端400和服务器200,一般地,适用于依赖服务器200的计算能力完成虚拟场景计算、并在终端400输出虚拟场景的应用模式。

以形成虚拟场景100的视觉感知为例,服务器200进行虚拟场景相关显示数据的计算并发送到终端400,终端400依赖于图形计算硬件完成计算显示数据的加载、解析和渲染,依赖于图形输出硬件输出虚拟场景以形成视觉感知,例如可以在智能手机的显示屏幕呈现二维的视频帧,或者,在增强现实/虚拟现实眼镜的镜片上投射实现三维显示效果的视频帧;对于虚拟场景的形式的感知而言,可以理解,可以借助于终端的相应硬件输出,例如使用麦克风输出形成听觉感知,使用振动器输出形成触觉感知等等。

作为示例,终端400运行客户端410(例如网络版的游戏应用),通过连接游戏服务器(即服务器200)与其他用户进行游戏互动,终端400输出客户端410的虚拟场景100,其中包括虚拟对象110、特效道具120以及虚拟道具130,虚拟对象110可以是受用户(或称玩家)控制的游戏角色,即虚拟对象110受控于真实用户,将响应于真实用户针对控制器(包括触控屏、声控开关、键盘、鼠标和摇杆等)的操作而在虚拟场景中运动,例如当真实用户向左移动摇杆时,虚拟对象将在虚拟场景中向左部移动,还可以保持原地静止、跳跃以及使用各种功能(如技能和道具);特效道具120可以是在虚拟场景中被虚拟对象110使用的投掷物,例如,虚拟对象110可以在虚拟场景中投掷特效道具120,使得特效道具120在虚拟场景中移动,并在客户端410中呈现移动轨迹;虚拟道具130可以是虚拟场景中被虚拟对象激活的静置道具,例如,移动过程中特效道具120与虚拟道具130发生碰撞,特效道具120的移动轨迹发生改变,并在改变后的移动轨迹的目标位置释放特效道具120的特效。

用户通过客户端410控制虚拟对象110在虚拟场景中投掷特效道具120,使得特效道具120在虚拟场景中移动,并在客户端410中呈现移动轨迹;移动过程中特效道具120与虚拟道具130发生碰撞,特效道具120的移动轨迹发生改变,并在改变后的移动轨迹的目标位置释放特效道具120的特效。

举例来说,用户通过客户端410控制虚拟对象110中投掷特效道具120,客户端410将虚拟对象110的位置信息、特效道具120的配置信息以及投掷触发操作的配置信息通过网络300发送至服务器200,服务器200基于上述信息计算特效道具120投掷后的移动轨迹的显示数据,检测特效道具120投掷后与虚拟道具发生碰撞的过程,计算发生碰撞之后的碰撞轨迹的显示数据,并将上述显示数据发送至客户端410,客户端410依赖于图形计算硬件完成计算显示数据的加载、解析和渲染,依赖于图形输出硬件输出虚拟场景以形成视觉感知。

在一些实施例中,终端400可以通过运行计算机程序来实现本申请实施例提供的虚拟道具的交互方法,例如,计算机程序可以是操作系统中的原生程序或软件模块;可以是本地(native)应用程序(app,application),即需要在操作系统中安装才能运行的程序,例如游戏app(即上述的客户端410);也可以是小程序,即只需要下载到浏览器环境中就可以运行的程序;还可以是能够嵌入至任意app中的游戏小程序。总而言之,上述计算机程序可以是任意形式的应用程序、模块或插件。

本申请实施例可以借助于云技术(cloudtechnology)实现,云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。

云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、以及应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源。

作为示例,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。终端400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、以及智能手表等,但并不局限于此。终端400以及服务器200可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。

参见图3a,图3a是本申请实施例提供的应用虚拟道具的交互方法的电子设备的结构示意图,以电子设备为终端为例进行说明,图3a所示的终端400包括:至少一个处理器410、存储器450、至少一个网络接口420和用户接口430。终端400中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3a中将各种总线都标为总线系统440。

处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(dsp,digitalsignalprocessor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。

用户接口430包括使得能够呈现媒体内容的一个或多个输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或多个输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。

存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器410的一个或多个存储设备。

存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(rom,readonlymemory),易失性存储器可以是随机存取存储器(ram,randomaccessmemory)。本申请实施例描述的存储器450旨在包括任意适合类型的存储器。

在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。

操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;

网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他计算设备,示例性的网络接口420包括:蓝牙、无线相容性认证(wifi)、和通用串行总线(usb,universalserialbus)等;

呈现模块453,用于经由一个或多个与用户接口430相关联的输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);

输入处理模块454,用于对一个或多个来自一个或多个输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。

在一些实施例中,本申请实施例提供的虚拟道具的交互装置可以采用软件方式实现,图3a示出了存储在存储器450中的虚拟道具的交互装置455,其可以是程序和插件等形式的软件,包括以下软件模块:第一显示模块4551、第二显示模块4552、第三显示模块4553、第四显示模块4554、碰撞模块4555以及计算模块4556,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分,将在下文中说明各个模块的功能。

参见图3b,图3b是本申请实施例提供的虚拟道具的交互装置中安装的人机交互引擎的原理示意图,以应用于游戏为例,又可以称为游戏引擎,游戏引擎是指一些已编写好的可编辑电脑游戏系统或者一些交互式实时图像应用程序的核心组件,这些系统为游戏设计者提供各种编写游戏所需的各种工具,其目的在于让游戏设计者能容易和快速地做出游戏程式而不用由零开始,游戏引擎包括:渲染引擎(即“渲染器”,含二维图像引擎和三维图像引擎)、物理引擎、碰撞检测系统、音效、脚本引擎、电脑动画、人工智能、网络引擎以及场景管理,游戏引擎是一个为运行某一类游戏的机器设计的能够被机器识别的代码(指令)集合,它像一个发动机,控制着游戏的运行,一个游戏程序可以分为游戏引擎和游戏资源两大部分,游戏资源包括图像,声音,动画等部分,游戏=引擎(程序代码)+资源(图像,声音,动画等),游戏引擎则是按游戏设计的要求顺序地调用这些资源。

本申请实施例提供的虚拟道具的交互方法是由图3a中所示出的虚拟道具的交互装置中的各个模块通过调用图3b所示出的人机交互引擎的相关组件实现的,下面示例性说明。

例如,第一显示模块4551用于响应于在虚拟场景中针对特效道具的投掷触发操作,显示特效道具的第一移动过程,第一显示模块4551调用图3b所示游戏引擎中的用户界面部分实现用户与游戏之间的交互,通过调用游戏引擎中的模型部分制作二维或者三维模型,并在模型制作完毕之后,通过骨骼动画部分会按照不同的面把材质贴图赋予模型,这相当于为骨骼蒙上皮肤,最后再通过渲染部分将模型、动画、光影、特效等所有效果实时计算出来并展示在人机交互界面上。

例如,第二显示模块4552用于当特效道具在第一移动过程中的实时位置处于虚拟道具的碰撞范围内时,显示特效道具被虚拟道具反弹后的第二移动过程,第二显示模块4552调用图3b所示游戏引擎中的相机部分以及场景组织部分实现碰撞检测,具体是通过绑定在特效道具上的相机与绑定在虚拟道具上的碰撞盒子组件进行碰撞检测,其中,碰撞盒子属于场景组织部分配置的碰撞体,绑定在特效道具上的相机是通过相机部分配置的,调用底层算法部分根据碰撞检测结果计算特效道具移动轨迹,并调用渲染模块基于计算出的移动轨迹进行实时图像计算并展示在人机交互界面上。

例如,第三显示模块4553用于当特效道具在第二移动过程中的实时位置处于目标位置时,显示特效道具的特效,第三显示模块4553调用图3b所示游戏引擎中的底层算法部分计算出特效道具的目标位置,并调用渲染模块基于计算出的目标位置进行实时图像计算并展示在人机交互界面上。

例如,第四显示模块4554用于响应于针对虚拟对象的移动触发操作,显示虚拟对象在虚拟场景中的第三移动过程。第四显示模块4554调用图3b所示游戏引擎中的用户界面部分实现用户与游戏之间的交互,通过调用游戏引擎中的模型部分制作二维或者三维模型,并在模型制作完毕之后,通过骨骼动画部分会按照不同的面把材质贴图赋予模型,这相当于为骨骼蒙上皮肤,最后再通过渲染部分将模型、动画、光影、特效等所有效果实时计算出来并展示在人机交互界面上。

例如,碰撞模块4555用于获取特效道具在第一移动过程中的实时位置;基于实时位置对特效道具与虚拟道具进行碰撞检测,碰撞模块4555调用图3b所示游戏引擎中的中的相机部分以及场景组织部分实现碰撞检测,具体是通过绑定在特效道具上的相机与绑定在虚拟道具上的碰撞盒子组件进行碰撞检测,其中,碰撞盒子属于场景组织部分配置的碰撞体,绑定在特效道具上的相机是通过相机部分配置的。

例如,计算模块4556用于确定针对各个虚拟对象的损失值,计算模块4556图3b所示游戏引擎中的底层算法部分进行相关计算。

本申请实施例提供的虚拟道具的交互方法可以由图2a中的终端400单独执行,也可以由图2b中的终端400和服务器200协同执行。

下面,以由图2a中的终端400单独执行本申请实施例提供的虚拟道具的交互方法为例说明。参见图4a,图4a是本申请实施例提供的虚拟道具的交互方法的流程示意图,将结合图4a示出的步骤进行说明。

需要说明的是,图4a示出的方法可以由终端400运行的各种形式计算机程序执行,并不局限于上述的客户端410,例如上文的操作系统451、软件模块和脚本,因此客户端不应视为对本申请实施例的限定。

在步骤101中,响应于在虚拟场景中针对特效道具的投掷触发操作,显示特效道具的第一移动过程。

作为示例,步骤101中的特效道具可以是由虚拟对象所投掷的投掷物或者发射物,当特效道具为投掷物时,特效道具可以为手榴弹等等;当特效道具为发射物时,即特效道具通过自动投掷道具进行投掷,相当于是机器投掷,可以理解为发射,特效道具可以为炮弹、子弹等等,步骤101实际上是响应于虚拟对象针对特效道具的投掷触发操作,特效道具被投掷出去以在虚拟场景中飞行,在人机交互界面中显示特效道具在虚拟场景中飞行的第一移动过程,特效道具未绑定有碰撞盒子,从而特效道具不会和虚拟场景中的虚拟道具发生物理作用,虚拟道具可以是虚拟场景中具有攻击能力的道具,虚拟对象可以是由游戏或者军事仿真中的用户所控制的对象,虚拟场景中可以包括至少一个群组的虚拟对象,不同的虚拟对象或者不同群组的虚拟对象可以由不同用户控制或由不同机器人程序控制,用户可以被划分到多个群组,群组之间可以是敌对关系或协作关系,虚拟场景中的群组可以包括上述关系的一种或者全部。

在一些实施例中,参见图4b,图4b是本申请实施例提供的虚拟道具的交互方法的流程示意图,在执行步骤101之前还可以执行步骤104-105。

在步骤104中,显示多个候选的特效道具。

在步骤105中,响应于特效道具选择操作,显示被选择的特效道具的投掷预备状态。

在一些实施例中,在人机交互界面显示多个候选的特效道具,例如,人机交互界面的特效道具栏中可以显示多个特效道具供选择,响应于虚拟对象针对特效道具的选择操作,即人机交互界面呈现虚拟对象准备投掷所选择的特效道具的预备投掷状态,呈现方式包括呈现虚拟对象的投掷形态,即以图像形式的投掷形态表征投掷预备状态所包括的特效道具的投掷初始位置与投掷方向,呈现的方式还可以是直接呈现文字或者在上述呈现方式的基础上呈现文字,即以文字的形态表征投掷预备状态所包括的特效道具的投掷初始位置与投掷方向。

作为示例,投掷预备状态包括特效道具的投掷初始位置与投掷方向,投掷初始位置可以为投掷特效道具的虚拟对象的投掷手所处的位置,即空间中的某一位置,投掷方向即为虚拟对象的投掷手的投掷方向,上述情形描述了手动投掷情形,还存在自动投掷情形,即由某个自动投掷道具响应于虚拟对象的控制进行特效道具的投掷,此时投掷初始位置可以为投掷特效道具的自动投掷道具的位置,投掷方向即为投掷特效道具的出口方向,投掷预备状态还可以包括投掷力度或者投掷速度的提示信息,从而有助于用户感知特效道具的投掷信息,从而进行投掷初始位置、投掷方向、投掷力度以及投掷速度等参数的有效调整,从而能够有效攻击目标对象,符合实际军事对战场景。

作为示例,调整上述参数的方式可以是通过选择操作以及移动操作进行,例如,选择操作中可以约束投掷方向、投掷力度以及投掷速度等参数,投掷初始位置可以通过虚拟对象的移动操作控制虚拟对象移动,还可以通过自动投掷道具的移动操作控制自动投掷道具移动。

在一些实施例中,当显示被选择的特效道具的投掷预备状态时,还可以执行以下技术方案:根据虚拟道具的投掷初始位置、投掷方向和默认的投掷初始速度,确定在虚拟场景中的投掷参考轨迹;在虚拟场景中显示投掷参考轨迹。

作为示例,承接上述特效道具属于投掷物的情形,投掷参考轨迹是根据投掷初始位置、投掷方向、投掷力度以及投掷速度动态变化的,承接上述特效道具属于发射物的情形,投掷参考轨迹是根据投掷初始位置、投掷方向、自动投掷道具的默认投掷速度确定的,通过游戏引擎的场景组织部分的物理系统进行投掷参考轨迹的计算,并根据计算结果调用游戏引擎的渲染部分进行图像计算以及呈现。

作为示例,在呈现投掷参考轨迹时可以呈现特效道具与虚拟道具之间的投掷参考轨迹,也可以呈现特效道具至任意素材的投掷参考轨迹。

在一些实施例中,当显示特效道具的第一移动过程时,还可以执行以下技术方案:响应于针对特效道具的预览操作,显示特效道具的第一预览轨迹、以及特效道具被虚拟道具反弹后的第二预览轨迹。

作为示例,当特效道具在第一移动过程中的实时位置处于虚拟道具的碰撞范围外,且特效道具的实时位置处于虚拟道具的邻近范围内时,例如,将虚拟道具的方圆10米的范围内作为虚拟道具的邻近范围,当特效道具在虚拟场景中的飞行至邻近范围内,但还未与虚拟道具发生碰撞时,可以显示特效道具将要与虚拟道具发生碰撞的提示信息,当特效道具在虚拟场景中的飞行至邻近范围内,但还未与虚拟道具发生碰撞时,还可以响应于用户针对特效道具的预览操作,显示预览轨迹,预览轨迹包括继续向前飞行的轨迹,即第一预览轨迹,以及特效道具被虚拟道具反弹后的轨迹,即第二预览轨迹,通过上述实施方式可以提前预告特效道具的反弹轨迹,由于虚拟对象在虚拟场景中可以受控于用户进行移动,因此,虚拟对象的位置时动态变化的,即第二预览轨迹中可以存在虚拟对象,控制特效道具的虚拟对象可以将上述轨迹同步至与其相同群组的虚拟对象,从而使得相同群组的虚拟对象及时躲避特效道具。

在一些实施例中,当显示特效道具的第一移动过程时,还可以执行以下技术方案:获取特效道具在第一移动过程中的实时位置;基于实时位置对特效道具与虚拟道具进行碰撞检测。

作为示例,所获取的实时位置即是每个最新的位置,针对每个最新的位置都进行位置检测,从而获取到实时位置,获取方式可以按照时间粒度进行,即每间隔一个时间单位进行一次位置检测,例如,时间单位为10毫秒,则每隔10毫秒对特效道具进行位置检测,并将位置检测得到的位置检测结果作为实时位置,基于实时位置对特效道具与虚拟道具进行碰撞检测,即是检测每个实时位置特效道具是否与虚拟道具发生碰撞。

在一些实施例中,上述基于实时位置对特效道具与虚拟道具进行碰撞检测,可以通过以下技术方案实现:通过绑定在特效道具上的相机组件,从实时位置发射与特效道具的实时移动方向一致的检测射线,其中,检测射线的长度与检测距离一致;确定检测射线与绑定在特效道具的碰撞器组件之间的位置关系;基于位置关系确定特效道具是否处于虚拟道具的碰撞范围。

作为示例,碰撞器组件为碰撞盒子或者碰撞球,针对于某一个实时位置,从该实时位置发射与特效道具的实时移动方向一致的检测射线,检测射线的长度与检测距离一致,即检测射线的起点为实时位置,检测射线的方向与实时移动方向一致,检测射线的长度为预先配置的检测距离,例如,检测距离为5厘米,即检测射线是以实时位置为起点,与实时移动方向一致长度为5厘米的射线,确定检测射线与绑定在特效道具的碰撞器组件之间的位置关系;基于位置关系确定特效道具是否处于虚拟道具的碰撞范围,上述基于位置关系确定特效道具是否处于虚拟道具的碰撞范围,可以通过以下技术方案实现:当检测射线与碰撞器组件存在交叉时,即表征处于该实时位置的特效道具的5厘米内存在碰撞器组件,即确定特效道具处于虚拟道具的碰撞范围内,并默认为特效道具与碰撞器组件发生碰撞;当检测射线与碰撞器组件之间不存在交叉时,即表征处于该实时位置的特效道具的5厘米内存不在碰撞器组件,即确定特效道具在第一移动过程中的实时位置处于虚拟道具的碰撞范围外,相当于特效道具与碰撞器组件未发生碰撞,可以继续飞行。通过上述实施方式,通过检测射线来实现特效道具与碰撞器组件之间的碰撞检测,从而不需要投掷物上绑定碰撞器组件,仅利用特效层面的特效道具作为投掷物,从而节约配置碰撞器组件以及使用碰撞器组件所耗费的后台资源。

在步骤102中,当特效道具在第一移动过程中的实时位置处于虚拟道具的碰撞范围内时,显示特效道具被虚拟道具反弹后的第二移动过程。

作为示例,虚拟道具具有碰撞属性,当特效道具在第一移动过程中的实时位置处于虚拟道具的碰撞范围内时,显示特效道具被虚拟道具反弹后的第二移动过程时可以辅助呈现声音特效、视觉特效以及体感特效,通过声音特效、视觉特效以及体感特效表达被反弹的过程。

在一些实施例中,参见图4c,图4c是本申请实施例提供的虚拟道具的交互方法的流程示意图,在执行步骤102中显示特效道具被虚拟道具反弹后的第二移动过程之前还可以执行步骤106-108。

在步骤106中,确定特效道具与虚拟道具碰撞时,虚拟道具因为累积的碰撞所导致的破坏程度。

在步骤107中,当破坏程度不超过虚拟道具的破坏程度阈值时,确定特效道具将被虚拟道具反弹,并确定将执行显示特效道具被虚拟道具反弹后的第二移动过程的操作。

在步骤108中,当破坏程度超过破坏程度阈值时,确定将不执行显示特效道具被虚拟道具反弹后的第二移动过程的操作,并显示虚拟道具已经损毁的提示信息。

在一些实施例中,确定特效道具与虚拟道具碰撞时,虚拟道具因为累积的碰撞所导致的破坏程度,虚拟道具配置在虚拟场景之中,会存在历史碰撞记录,即虚拟道具的反弹能力并不是永久性的,虚拟道具的反弹能力存在使用寿命,每一次碰撞或者反弹会导致虚拟道具被一定程度地破坏,当累计碰撞导致的破坏程度不超过虚拟道具的破坏程度阈值时,即表征目前为止仍未超出虚拟道具的使用寿命,确定虚拟道具能够被正常使用,且特效道具将被虚拟道具反弹,并确定将执行显示特效道具被虚拟道具反弹后的第二移动过程的操作,当破坏程度超过破坏程度阈值时,即表征目前为止仍未超出虚拟道具的使用寿命,虚拟道具可以具有本身存在的攻击能力,但是不再具备反弹能力,即确定将不执行显示特效道具被虚拟道具反弹后的第二移动过程的操作,并显示虚拟道具已经损毁的提示信息。通过上述实施方式可以准确模拟实际军事对战场景,从而可以提高军事仿真软件的模拟真实性并有效提高模拟得到的军事数据的可利用程度,并且具有非永久性的反弹能力的虚拟道具使得虚拟场景中的对战过程多样化,并且使得对战双方势均力敌,从而使得模拟得到的军事数据的可利用程度更高。

在步骤103中,当特效道具在第二移动过程中的实时位置处于目标位置时,显示特效道具的特效。

作为示例,当特效道具在第二移动过程中的实时位置处于目标位置时,显示特效道具的特效释放过程,目标位置即特效道具开始释放特效的位置,特效道具释放特效的时机可以是触底释放,可以是与虚拟对象相遇时释放,可以是从飞行时开始算起,达到延迟时间时释放,例如,延迟时间是5秒,则是从飞行时算起达到5秒时释放特效,如果释放特效时,特效道具并未开始第二移动过程,且特效释放完毕,特效道具失效,则表征特效道具并未来得及被虚拟道具反弹即被使用,可以是从反弹之后开始算起,达到延迟时释放,例如,延迟时间是5秒,则是从反弹时算起达到5秒时释放特效,如果释放特效时,特效道具并未触地,且特效释放完毕,特效道具失效,则表征特效道具在空中被释放,如果特效道具触地后还没有达到5秒,则等到达到5秒后进行特效释放。

在一些实施例中,参见图4d,图4d是本申请实施例提供的虚拟道具的交互方法的流程示意图,步骤103中显示特效道具的特效可以通过以下步骤1031-1032。

在步骤1031中,当目标位置的影响范围内存在虚拟对象时,显示特效道具针对目标位置、特效道具针对虚拟对象施加的特效。

在步骤1032中,当目标位置的影响范围内不存在虚拟对象时,显示特效道具针对目标位置施加的特效。

作为示例,针对目标位置所施加的特效可以为地表被破坏的特效,针对虚拟对象施加的特效可以是虚拟对象被破坏的特效,对应于不同的特效道具存在不同的特效,例如,特效道具为核弹所导致地表被破坏的程度大于特效道具为炸弹所导致地表被破坏的程度,即每个特效道具具有不同的破坏程度,无论是针对被袭击的虚拟对象还是被袭击的目标位置,具有不同破坏程度的特效道具均能够产生不同的破坏程度。

作为示例,当显示特效道具针对目标位置施加的特效时,还显示目标位置被施加特效后更新的状态,例如,在显示地表被破坏的特效时,或者地表上的素材被破坏时,还显示地表或者地表上的素材更新的状态,地表以及地表上素材均存在各自的状态参数,从而基于各自的状态参数实时进行状态更新,例如,地表本身的状态参数是10,当状态参数是10时,地表的状态是黄色土壤,特效被释放后对地表存在损失值2,则地表的状态参数更新为8,当状态参数为8时,地表的状态更新为棕色土壤。

在一些实施例中,当显示特效道具针对虚拟对象施加的特效时,还可以执行以下技术方案:确定虚拟道具的特效被释放时虚拟对象的状态参数的损失值;基于损失值更新虚拟对象的状态参数;基于更新的状态参数确定虚拟对象在被施加特效后更新的状态。

作为示例,虚拟场景中的虚拟对象均存在各自的状态参数,从而基于各自的状态参数实时进行状态更新,例如,虚拟对象本身的状态参数是10,当状态参数是10时,虚拟对象的生命状态可以是绿色进度条,特效被释放后对地表存在损失值5,则地表的状态参数更新为5,当状态参数为5时,虚拟对象的生命状态可以是黄色进度条。通过呈现虚拟对象、地表以及地表上的素材的更新的状态,可以细粒度全真模拟对战场景,从而使得场景效果更加真实,使得用户具有沉浸式地信息感知体验。

在一些实施例中,上述确定虚拟道具的特效被释放时虚拟对象的状态参数的损失值,可以通过以下技术方案实现:获取虚拟对象与目标位置之间的距离;确定与距离成负相关关系的损失值。

在一些实施例中,上述确定虚拟道具的特效被释放时虚拟对象的状态参数的损失值,可以通过以下技术方案实现:确定特效道具到达目标位置之前特效道具与虚拟场景中的碰撞对象发生的碰撞次数;确定与碰撞次数成负相关关系的影响范围;确定与碰撞次数成负相关关系的损失值。

作为示例,损失值至少与以下几个因素相关,首先是虚拟对象与目标位置之间的距离,目标位置为特效道具释放特效的位置,虚拟对象与目标位置之间距离越近,则特效道具释放特效对虚拟对象造成的损失值越大,损失值还与特效道具本身的伤害能力相关,特效道具具有原始伤害能力,在特效道具的飞行过程中,其伤害能力存在降低地可能性,例如,该特效道具在到达目标位置之前,与虚拟场景中的除虚拟道具之外的其他素材发生过碰撞,在碰撞时该特效道具的伤害能力被吸收,即损失值与碰撞次数成负相关关系,同理特效道具的伤害范围存在降低地可能性,即影响范围与碰撞次数成负相关关系。

作为示例,确定与碰撞次数成负相关的影响范围以及确定与碰撞次数成负相关关系的损失值实际上可以通过以下技术方案实现:将虚拟场景中发生的碰撞次数进行加一处理,确定与加一处理结果成负相关的影响范围以及确定与加一处理结果成负相关关系的损失值,从而将本次碰撞所带来的影响考虑进来,当仅存在本次碰撞时,则确定在只有一次碰撞的情形下的影响范围以及损失值,例如可以是原始值的80%,若是之前也经历过一次碰撞,即为原始值的64%。

作为示例,碰撞对象包括以下至少之一:虚拟场景中的虚拟道具;虚拟场景中的虚拟对象;虚拟场景中的其他素材;其他素材为虚拟场景中除了虚拟道具以及虚拟对象之外的素材。

在一些实施例中,当目标位置的影响范围不包括虚拟场景中的任一虚拟对象时,显示特效道具未应用于虚拟对象的提示信息。

在一些实施例中,响应于在虚拟场景中针对特效道具的投掷触发操作之前,还可以执行以下技术方案:获取操作特效道具的虚拟对象在虚拟场景中的行为指标;当虚拟对象的行为指标满足使用虚拟道具的指标条件时,显示用于激活虚拟道具的控件。

作为示例,行为指标可以为游戏中击杀次数,例如,虚拟对象在游戏中的每次击杀敌方虚拟对象将更新击杀次数记录,击杀次数记录达到击杀次数阈值时,则显示用于激活虚拟道具的控件,进而响应于针对该控件的点击操作等等(即上述针对特效道具的选择操作),则可以在游戏中召回该特效道具,行为指标可以为军事仿真软件所模拟的对战中符合实战演习的各种规则的规则符合程度。

在一些实施例中,当虚拟场景的持续显示时长超出持续显示时长阈值时,显示用于激活虚拟道具的控件,或者当虚拟场景中的累计损失值超过累计损失值阈值时,显示用于激活虚拟道具的控件。

在一些实施例中,还可以执行以下技术方案:响应于针对虚拟对象的移动触发操作,显示虚拟对象在虚拟场景中的第三移动过程;其中,当在第三移动过程中虚拟对象的实时位置处于虚拟道具的碰撞范围内时,显示虚拟对象穿透虚拟道具。

作为示例,虚拟对象绑定有碰撞盒子,虚拟道具也绑定有碰撞盒子,按时虚拟道具所绑定的碰撞盒子与虚拟对象所绑定的碰撞盒子已经预先被配置为互不发生碰撞行为的碰撞盒子,虚拟道具针对虚拟对象的可穿透性相当于忽略物理世界的物理规则,但是却符合实际对战规则,由于在游戏或者军事仿真软件所模拟的对战场景中,虚拟对象与虚拟道具之间的比例通常难以如实际场景中的比例一样,即在对战过程中,虚拟对象若要跨过虚拟道具进行移动所发生的物理走位会比实际对战场景中的物理走位更加困难,从而增加了用户的操作难度,也降低了人机交互的实时性,并且并未真实模拟实际对战场景,但是若是虚拟对象与虚拟道具之间的比例如实际场景中的比例一样,则难以取得较好的视觉效果,也不利于用户对虚拟场景中的虚拟道具进行感知,因此,通过上述实施方式既可以保全有利于视觉感知的比例模拟,又可以符合真实对战场景中的物理走位。

在一些实施例中,用户的虚拟对象移动操作可以控制虚拟对象在虚拟场景中移动、翻转、跳跃等等,通过人机交互界面接收虚拟对象移动操作从而控制虚拟对象在虚拟场景中进行移动,在移动过程中人机交互界面中所呈现的内容随着虚拟对象的移动发生变化。

在一些实施例中,在人机交互界面中显示虚拟对象在虚拟场景中的移动过程时,根据观看对象在完整虚拟场景中的观看位置和视场角,确定观看对象的视场区域;呈现虚拟场景中位于视场区域中的部分虚拟场景,即所显示的虚拟场景可以是相对于全景虚拟场景的部分虚拟场景。

以用户佩戴虚拟现实设备为例,观看对象是用户(即真实用户),参见图15a,图15a是本申请实施例提供的虚拟道具的交互方法的界面示意图。图15a中,用户在虚拟现实设备中通过透镜所能够感知到虚拟场景301中位于视场区域中的部分虚拟场景302,虚拟现实设备中设置有姿态检测的传感器(如九轴传感器),用于实时检测虚拟现实设备的姿态变化,如果用户佩戴了虚拟现实设备,那么当用户头部姿态发生变化时,会将头部的实时姿态传给处理器,以此计算用户的视线在虚拟场景中的注视点,根据注视点计算虚拟场景的三维模型中处于用户注视范围(即视场区域)的图像,并在显示屏上显示,使人仿佛在置身于现实环境中观看一样的沉浸式体验。对于其它类型的虚拟现实设备如移动虚拟现实设备(pcvr),实现视觉感知的原理与上述类似,不同的是pcvr、移动虚拟现实设备等本身没有集成实现相关计算的处理器,不具备独立的虚拟现实输入和输出的功能。

以用户操控虚拟场景中的虚拟角色303为例,观看对象是虚拟角色303,参见图15b,图15b是本申请实施例提供的虚拟道具的交互方法的界面示意图。图15b中,用户可以通过控制虚拟角色303在完整虚拟场景304中的观看位置和视场角,确定虚拟角色303的视场区域;在人机交互界面中呈现虚拟场景中位于视场区域中的部分虚拟场景305。

在一些实施例中,步骤103中显示特效道具的特效之前,还可以执行以下技术方案:获取特效道具与虚拟道具碰撞的碰撞角度、以及特效道具与虚拟道具的碰撞速度;根据碰撞角度以及碰撞速度确定特效道具的反弹角度、以及被虚拟道具的反弹速度;根据反弹角度以及反弹速度,确定虚拟道具在第二移动过程中的目标位置。

在一些实施例中,上述根据碰撞角度以及碰撞速度确定特效道具的反弹角度、以及被虚拟道具的反弹速度可以通过以下技术方案实现:获取虚拟道具针对特效道具的反弹作用力,根据反弹作用力的方向以及碰撞角度确定特效道具的反弹角度,根据反弹作用力的大小以及碰撞速度,确定特效道具的反弹速度,即虚拟道具针对不同的特效道具产生不同的反弹效果,表达为不同的反弹作用力,反弹作用力可以根据物理世界中的真实碰撞反弹实验进行模拟得到,从而使得虚拟场景中特效道具被虚拟道具反弹的过程具有多样性以及真实性,从而使得模拟对战所得到的对战数据的可利用程度高。

在一些实施例中,可以不考虑反弹作用力的不同,直接根据碰撞角度以及碰撞速度确定特效道具的反弹角度、以及被虚拟道具的反弹速度,将真实世界中所存在的差异在游戏或者模拟对战中进行弱化,从而降低后台计算资源的损耗。

下面,将说明本申请实施例提供的虚拟道具的交互方法在应用场景中的示例性应用。

在移动端射击游戏中,为了增强阵营的守备能力,特别引入机关炮台的技能武器,该类型的武器可以被放置在任意位置,用于攻击敌人或者攻击机械单位,这些机关炮台拥有强大的攻击以及扫射能力,该类型武器与人物之间没有碰撞,即人物可以穿透炮台,但是投掷物碰撞到炮台的时候会被反弹到其他地方,从而炮台使能够对不同的投掷物武器产生不同的作用,例如,针对于核弹投掷物,会经反弹落地后呈现核弹的特效,针对手榴弹投掷物,会经反弹落地后呈现手榴弹的特效,例如,针对核弹投掷物,在经过反弹时会给予较大的反作用力,从而使得核弹反弹至第一距离处,针对手榴弹投掷物,在经过反弹时会给予较小的反作用力,从而使得手榴弹反弹至第二距离处,其中,第一距离远于第二距离。

虚拟道具可以是游戏中的非常规武器,例如,虚拟道具可以为机枪炮台,它属于连杀奖励武器的一种,因此机枪炮台不需要占用主副武器的位置栏目,而是配置于额外的装备栏,称为连杀奖励武器,参见图5,图5是本申请实施例提供的虚拟道具的交互方法的界面示意图,图5的装备栏501中显示有哨戒机枪502,哨戒机枪502具有连续得分技能,属于连杀奖励武器,响应于用户的选择操作,在人机交互界面中显示的哨戒机枪502即为本申请实施例提供的虚拟道具的交互方法中的虚拟道具,炮台机枪与哨戒机枪502类似,也为连杀奖励武器的一种,用于执行攻击任务,除了炮台机枪外还存在其他用于攻击如飞机之类的机械单位。

参见图6,图6是本申请实施例提供的虚拟道具的交互方法的界面示意图,进入游戏后显示虚拟场景601,其中,虚拟道具602(炮台机枪)处于待激活状态,由于虚拟道具602(炮台机枪)是连杀奖励武器,因此在未激活前无法使用,图6中显示有未激活的三个连杀奖励武器,其中从左往右第一个就是虚拟道具602。

参见图7,图7是本申请实施例提供的虚拟道具的交互方法的界面示意图,虚拟场景701显示有未激活的三个连杀奖励武器,其中从左往右第一个就是虚拟道具702,激活方式是击杀敌人,每次击杀敌人会获得的分数,当获得的累计分数满足激活分数阈值时,即激活虚拟道具702。

参见图8,图8是本申请实施例提供的虚拟道具的交互方法的界面示意图,响应于针对虚拟道具802的控件803的点击操作即可召唤出该虚拟道具802,并在虚拟场景801中进行呈现,在召唤出该虚拟道具802之后,虚拟道具802的控件803进行灰度显示。

在游戏中虚拟道具(炮台机枪)是不会与虚拟对象(用户所控制的游戏角色)发生碰撞的,即该虚拟道具不阻挡虚拟对象,虚拟对象可以穿透该虚拟道具,这是因为在释放该虚拟道具之后该虚拟道具是放置在虚拟对象前面,如果虚拟对象不能穿透该虚拟道具,则会阻碍用户针对虚拟对象的控制操作的实施,影响用户的控制操作的实施效果,因此该虚拟道具对于虚拟对象来说是不会产生碰撞的。

针对特效道具(投掷物),需要防止敌人的特效道具穿透机枪炮台以避免特效道具投掷中玩家,从而存在使得虚拟道具(机枪炮台)能像障碍物一样阻挡敌人的特效道具的攻击,因为,操控虚拟道具的虚拟对象可以躲藏在虚拟道具后面,因此为了符合真实对战场景,虚拟道具除了能够攻击敌人还应该具有防御功能,使得特效道具反弹。

参见图9,图9是本申请实施例提供的虚拟道具的交互方法的界面示意图,虚拟场景901中设置有虚拟道具902,响应于面对虚拟道具902的针对特效道具的投掷操作时,可以呈现特效道具的轨迹线903,可以看到特效道具的轨迹线停止在了虚拟道具902处。

参见图10,图10是本申请实施例提供的虚拟道具的交互方法的界面示意图,在虚拟场景1001中,释放特效道具1002后,特效道具1002碰撞到虚拟道具1003的时候会产生反弹,特效道具1002未穿透虚拟道具1003,反弹回投掷方的这一侧。

参见图11,图11是本申请实施例提供的虚拟道具的交互方法的流程示意图,游戏开始后首先装备虚拟道具,即用户首先需要在连杀奖励界面装备机枪炮台方面的武器,然后进入游戏中,若击杀敌人则获得连杀分数,若分数满足虚拟道具激活条件,则激活虚拟道具,若接收到针对虚拟道具的召唤操作,则召唤出虚拟道具,用户通过不断的击杀敌人获得连杀奖励分数,每个连杀奖励武器所需要的分数都不一样,越强大的武器所需要的分数就越多,当获得分数满足对应某个连杀奖励武器的激活分数阈值时,则可激活该连杀奖励武器,然后响应于用户的点击操作,就会召唤出该连杀奖励武器来,释放特效道具之后,特效道具在空中飞行,当特效道具与虚拟道具发生碰撞,则特效道具被虚拟道具反弹,并在落地后释放特效,释放特效可以是爆炸等等,虚拟对象绑定有一个碰撞盒,该虚拟道具也绑定有一个碰撞盒,但是当虚拟对象和虚拟道具触碰时候不会产生反弹。

参见图12,图12是本申请实施例提供的虚拟道具的交互方法的界面示意图,虚拟场景1201中虚拟对象1202可以穿透虚拟道具1203,其设计原理是因为在实体(unity)里面所绑定的碰撞盒具有特定的类型,所有类型两两之间能否产生碰撞是预先配置的。参见图13,图13是本申请实施例提供的虚拟道具的交互方法的配置示意图,打钩表示这两种类型的盒子可以发生碰撞,否则不可以发生碰撞,通过在这里对两两类型的碰撞盒子之间的设置来确定虚拟场景中绑定有对应类型的碰撞盒子的实体是否可以产生碰撞。

参见图14,图14是本申请实施例提供的虚拟道具的交互方法的界面示意图,虚拟场景1401中的虚拟道具1403上绑定有用于给特效道具1402进行碰撞检测的碰撞盒子,虚拟场景1401中的特效道具1402是没有绑定碰撞盒的,它仅仅是一个特效,因此其在飞行中是通过发射射线检测来触发碰撞的,即在飞行过程中取特效道具1402当前的位置和飞行方向,并基于预先设置的检测距离检测是否与虚拟道具发生碰撞,即飞行在某个位置的时候,确定该位置的检测距离内是否存在虚拟道具,如果没有检测到虚拟道具则继续飞行,如果检测到在检测距离内存在虚拟道具则对特效道具进行反弹。

下面继续说明本申请实施例提供的虚拟道具的交互装置455的实施为软件模块的示例性结构,在一些实施例中,如图3a所示,存储在存储器450的虚拟道具的交互装置455中的软件模块可以包括:第一显示模块4551,用于响应于在虚拟场景中针对特效道具的投掷触发操作,显示特效道具的第一移动过程;第二显示模块4552,用于当特效道具在第一移动过程中的实时位置处于虚拟道具的碰撞范围内时,显示特效道具被虚拟道具反弹后的第二移动过程;第三显示模块4553,还用于当特效道具在第二移动过程中的实时位置处于目标位置时,显示特效道具的特效。

在一些实施例中,当显示特效道具的第一移动过程时,所述装置还包括:碰撞模块4555,用于:获取特效道具在第一移动过程中的实时位置;基于实时位置对特效道具与虚拟道具进行碰撞检测。

在一些实施例中,碰撞模块4555,还用于:通过绑定在特效道具上的相机组件,从实时位置发射与特效道具的实时移动方向一致的检测射线,其中,检测射线的长度与检测距离一致;确定检测射线与绑定在特效道具的碰撞器组件之间的位置关系;基于位置关系确定特效道具是否处于虚拟道具的碰撞范围。

在一些实施例中,碰撞模块4555,还用于:当检测射线与碰撞器组件存在交叉时,确定特效道具处于虚拟道具的碰撞范围内;当检测射线与碰撞器组件之间不存在交叉时,确定特效道具在第一移动过程中的实时位置处于虚拟道具的碰撞范围外。

在一些实施例中,在显示特效道具的第一移动过程之前,第一显示模块4551,还用于:显示多个候选的特效道具;响应于特效道具选择操作,显示被选择的特效道具的投掷预备状态;其中,投掷预备状态包括特效道具的投掷初始位置与投掷方向。

在一些实施例中,当显示被选择的特效道具的投掷预备状态时,第一显示模块4551,还用于:根据虚拟道具的投掷初始位置、投掷方向和默认的投掷初始速度,确定在虚拟场景中的投掷参考轨迹;在虚拟场景中显示投掷参考轨迹。

在一些实施例中,当显示特效道具的第一移动过程时,第一显示模块4551,还用于:响应于针对特效道具的预览操作,显示特效道具的第一预览轨迹、以及特效道具被虚拟道具反弹后的第二预览轨迹。

在一些实施例中,第三显示模块4553,还用于:当目标位置的影响范围内存在虚拟对象时,显示特效道具针对目标位置、特效道具针对虚拟对象施加的特效;当目标位置的影响范围内不存在虚拟对象时,显示特效道具针对目标位置施加的特效。

在一些实施例中,当显示特效道具针对虚拟对象施加的特效时,所述装置455还包括:计算模块4556,用于:确定虚拟道具的特效被释放时虚拟对象的状态参数的损失值;基于损失值更新虚拟对象的状态参数;基于更新的状态参数确定虚拟对象在被施加特效后更新的状态。

在一些实施例中,第三显示模块4553,还用于:当目标位置的影响范围不包括虚拟场景中的任一虚拟对象时,显示特效道具未应用于虚拟对象的提示信息。

在一些实施例中,计算模块4556,还用于:获取虚拟对象与目标位置之间的距离;确定与距离成负相关关系的损失值。

在一些实施例中,计算模块4556,还用于:确定特效道具到达目标位置之前特效道具与虚拟场景中的碰撞对象发生的碰撞次数;确定与碰撞次数成负相关关系的影响范围;确定与碰撞次数成负相关关系的损失值。

在一些实施例中,响应于在虚拟场景中针对特效道具的投掷触发操作之前,计算模块4556,还用于:获取操作特效道具的虚拟对象在虚拟场景中的行为指标;当虚拟对象的行为指标满足使用虚拟道具的指标条件时,显示用于激活虚拟道具的控件。

在一些实施例中,所述装置455还包括:第四显示模块4554,用于:响应于针对虚拟对象的移动触发操作,显示虚拟对象在虚拟场景中的第三移动过程;其中,当在第三移动过程中虚拟对象的实时位置处于虚拟道具的碰撞范围内时,显示虚拟对象穿透虚拟道具。

在一些实施例中,显示特效道具被虚拟道具反弹后的第二移动过程之前,碰撞模块4555,还用于:确定特效道具与虚拟道具碰撞时,虚拟道具因为累积的碰撞所导致的破坏程度;当破坏程度不超过虚拟道具的破坏程度阈值时,确定特效道具将被虚拟道具反弹,并确定将执行显示特效道具被虚拟道具反弹后的第二移动过程的操作;当破坏程度超过破坏程度阈值时,确定将不执行显示特效道具被虚拟道具反弹后的第二移动过程的操作,并显示虚拟道具已经损毁的提示信息。

在一些实施例中,显示特效道具的特效之前,计算模块4556,还用于:获取特效道具与虚拟道具碰撞的碰撞角度、以及特效道具与虚拟道具的碰撞速度;根据碰撞角度以及碰撞速度确定特效道具的反弹角度、以及被虚拟道具的反弹速度;根据反弹角度以及反弹速度,确定虚拟道具在第二移动过程中的目标位置。

本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的虚拟道具的交互方法。

本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的虚拟道具的交互方法,例如,如图4a-4d示出的虚拟道具的交互方法。

在一些实施例中,计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、闪存、磁表面存储器、光盘、或cd-rom等存储器;也可以是包括上述存储器之一或任意组合的各种设备。

在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。

作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(html,hypertextmarkuplanguage)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。

作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。

综上所述,通过本申请实施例通过真实模拟特效层面的特效道具与实体层面的虚拟道具之间的碰撞物理作用,实现了在虚拟场景中真实表征道具之间互相作用的效果,扩展特效道具与虚拟道具之间的互动形式,从而既实现了虚拟场景的良好沉浸感,还节约了将特效道具设置为实体虚拟道具所导致的计算消耗,进而提高了虚拟场景中人机交互的实时性。

以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

相关标签: 人工智能
tips