虚拟道具的交互处理方法、装置、电子设备及存储介质与流程
本申请涉及计算机人机交互技术,尤其涉及一种虚拟道具的交互处理方法、装置、电子设备及计算机可读存储介质。
背景技术:
基于图形处理硬件的显示技术,扩展了感知环境以及获取信息的渠道,尤其是虚拟场景的显示技术,能够根据实际应用需求实现受控于用户或人工智能的虚拟对象之间的多样化的交互,具有各种典型的应用场景,例如在军事演习仿真、以及游戏等的虚拟场景中,能够模拟虚拟对象之间的真实的对战过程。
为了充分利用虚拟场景中的空闲虚拟道具,例如掉落的虚拟道具。相关技术提供虚拟道具的拾取功能,虚拟对象能够在虚拟场景中拾取空闲虚拟道具。
然而,申请人发现,由于相关技术中拾取是通过绑定碰撞盒子实现的,会出现违背物理规律的拾取(例如穿墙拾取),影响了虚拟场景中人机交互的准确性,进而影响使用体验。
技术实现要素:
本申请实施例提供一种虚拟道具的交互处理方法、装置、电子设备及计算机可读存储介质,能够实现虚拟场景中符合物理规律的准确拾取。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种虚拟道具的交互处理方法,包括:
呈现虚拟场景中的至少一个空闲虚拟道具;
响应于控制第一虚拟对象的移动操作,控制所述第一虚拟对象在所述虚拟场景中移动;
当所述空闲虚拟道具位于所述第一虚拟对象的使用虚拟道具的朝向上,且与所述使用虚拟道具之间不存在障碍物时,呈现所述空闲虚拟道具的可拾取提示;
响应于控制所述第一虚拟对象的拾取操作,控制所述第一虚拟对象拾取所述空闲虚拟道具。
本申请实施例提供一种虚拟道具的交互处理装置,包括:
呈现模块,用于呈现虚拟场景中的至少一个空闲虚拟道具;
响应模块,用于响应于控制第一虚拟对象的移动操作,控制所述第一虚拟对象在所述虚拟场景中移动;
处理模块,用于当所述空闲虚拟道具位于所述第一虚拟对象的使用虚拟道具的朝向上,且与所述使用虚拟道具之间不存在障碍物时,呈现所述空闲虚拟道具的可拾取提示;
所述响应模块还用于响应于控制所述第一虚拟对象的拾取操作,控制所述第一虚拟对象拾取所述空闲虚拟道具。
上述技术方案中,所述装置还包括:
检测模块,用于检测所述第一虚拟对象在移动过程中与所述空闲虚拟道具之间的距离;
当所述距离小于距离阈值时,对所述第一虚拟对象的使用虚拟道具与所述空闲虚拟道具之间进行障碍物检测。
上述技术方案中,所述检测模块还用于在所述第一虚拟对象在所述移动过程中的每个实时位置,对所述第一虚拟对象的使用虚拟道具与所述空闲虚拟道具之间进行障碍物检测。
上述技术方案中,所述检测模块还用于通过绑定在所述使用虚拟道具上的相机组件,从所述使用虚拟道具的位置上发射与所述使用虚拟道具的朝向一致的检测射线;
基于所述检测射线确定所述使用虚拟道具与所述空闲虚拟道具之间是否存在障碍物。
上述技术方案中,所述检测模块还用于当所述检测射线与绑定在障碍物上的碰撞器组件存在交叉时,确定所述使用虚拟道具与所述空闲虚拟道具之间存在所述障碍物;
当所述检测射线与绑定在障碍物上的碰撞器组件不存在交叉时,确定所述使用虚拟道具与所述空闲虚拟道具之间不存在所述障碍物。
上述技术方案中,所述处理模块还用于当所述空闲虚拟道具位于所述第一虚拟对象的使用虚拟道具的朝向上,且与所述使用虚拟道具之间存在障碍物时,呈现所述空闲虚拟道具的不可拾取提示。
上述技术方案中,所述处理模块还用于当多个所述空闲虚拟道具位于所述第一虚拟对象的使用虚拟道具的朝向上,且与所述使用虚拟道具之间不存在障碍物时,呈现多个所述空闲虚拟道具的部分空闲虚拟道具的可拾取提示。
上述技术方案中,所述处理模块还用于针对多个所述空闲虚拟道具中的任一空闲虚拟道具执行以下处理:
获取所述第一虚拟对象在移动过程中与所述空闲虚拟道具之间的距离;
呈现最小距离所对应的空闲虚拟道具的可拾取提示。
上述技术方案中,所述处理模块还用于针对多个所述空闲虚拟道具中的任一空闲虚拟道具执行以下处理:
基于所述第一虚拟对象的使用偏好,获取所述空闲虚拟道具与所述使用偏好的匹配程度;
对多个所述空闲虚拟道具与所述使用偏好的匹配程度进行排序,选取最高匹配程度所对应的空闲虚拟道具进行可拾取提示。
上述技术方案中,所述处理模块还用于针对多个所述空闲虚拟道具中的任一空闲虚拟道具执行以下处理:
获取所述空闲虚拟道具被其他虚拟对象使用的频率;
对多个所述空闲虚拟道具被其他虚拟对象使用的频率进行排序,选取最大频率所对应的空闲虚拟道具进行可拾取提示。
上述技术方案中,所述处理模块还用于针对多个所述空闲虚拟道具中的任一空闲虚拟道具执行以下处理:
获取所述空闲虚拟道具在所述虚拟场景中的性能参数;
对多个所述空闲虚拟道具在所述虚拟场景中的性能参数进行排序,选取最大性能参数所对应的空闲虚拟道具进行可拾取提示。
上述技术方案中,所述处理模块还用于针对多个所述空闲虚拟道具中的任一空闲虚拟道具执行以下处理:
获取所述第一虚拟对象的持有虚拟道具的类型;
当所述空闲虚拟道具的类型与所述持有虚拟道具的类型不同时,对所述空闲虚拟道具进行可拾取提示。
上述技术方案中,所述处理模块还用于针对多个所述空闲虚拟道具中的任一空闲虚拟道具执行以下处理:
获取所述第一虚拟对象在团队中被分配的角色;
当所述空闲虚拟道具的类型与所述角色匹配时,对所述空闲虚拟道具进行可拾取提示。
上述技术方案中,所述处理模块还用于通过目标显示样式呈现所述空闲虚拟道具的可拾取提示;
其中,所述目标显示样式表征所述空闲虚拟道具处于可拾取状态。
上述技术方案中,所述装置还包括:
定时模块,用于在所述空闲虚拟道具上绑定定时器;
其中,所述定时器用于在所述虚拟场景中呈现所述空闲虚拟道具时开始计时;
通过所述定时器确定所述空闲虚拟道具在设定时间段内未被拾取时,取消在所述虚拟场景中呈现所述空闲虚拟道具。
上述技术方案中,所述呈现模块还用于当第二虚拟对象在虚拟场景中遭受攻击而丧失持有虚拟道具的能力时,在所述第二虚拟对象遭受攻击的位置,呈现所述第二虚拟对象掉落的至少一个虚拟道具。
上述技术方案中,所述呈现模块还用于当第二虚拟对象在虚拟场景主动丢弃至少一个持有虚拟道具时,将所述持有虚拟道具作为空闲虚拟道具;
在所述第二虚拟对象丢弃所述持有虚拟道具的位置呈现主动丢弃的至少一个虚拟道具。
上述技术方案中,所述呈现模块还用于当所述第一虚拟对象的队友在虚拟场景的放置位置放置至少一个持有虚拟道具时,将所述持有虚拟道具作为空闲虚拟道具;
其中,所述空闲虚拟道具用于供所述第一虚拟对象拾取;
在所述虚拟场景的地图中的所述放置位置呈现所述队友放置的至少一个空闲虚拟道具。
本申请实施例提供一种用于虚拟道具的交互处理的电子设备,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的虚拟道具的交互处理方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的虚拟道具的交互处理方法。
本申请实施例具有以下有益效果:
通过检测空闲虚拟道具与使用虚拟道具之间是否存在障碍物,以实现对空闲虚拟道具与虚拟对象之间的障碍物检测,从而在空闲虚拟道具与虚拟对象之间不存在障碍物时,才能实现虚拟道具的拾取功能,实现了符合物理规律的准确拾取,提升了虚拟场景中人机交互的准确性。
附图说明
图1a-1b是本申请实施例提供的虚拟场景的交互处理方法的应用模式示意图;
图2a是本申请实施例提供的虚拟场景的交互处理的电子设备的结构示意图;
图2b是本申请实施例提供的虚拟道具的交互处理装置中安装的人机交互引擎的原理示意图;
图3a-3c是本申请实施例提供的虚拟道具的交互处理方法的流程示意图;
图4是本申请实施例提供的虚拟道具的交互处理方法的界面示意图;
图5a-5b是本申请实施例提供的虚拟现实的界面示意图;
图6是本申请实施例提供的多个空闲虚拟道具的界面示意图;
图7是本申请实施例提供的掉落武器的界面示意图;
图8是本申请实施例提供的掉落武器的界面示意图;
图9是本申请实施例提供的掉落武器的界面示意图;
图10是本申请实施例提供的掉落武器的界面示意图;
图11是本申请实施例提供的虚拟道具的交互处理的流程示意图;
图12是本申请实施例提供的距离计算的界面示意图;
图13是本申请实施例提供的障碍物检测的界面示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,所涉及的术语“第一\第二”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)虚拟场景:利用设备输出的区别于现实世界的场景,通过裸眼或设备的辅助能够形成对虚拟场景的视觉感知,例如通过显示屏幕输出的二维影像,通过立体投影、虚拟现实和增强现实技术等立体显示技术来输出的三维影像;此外,还可以通过各种可能的硬件形成听觉感知、触觉感知、嗅觉感知和运动感知等各种模拟现实世界的感知。
2)响应于:用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
3)客户端,终端中运行的用于提供各种服务的应用程序,例如游戏客户端等、军事演习仿真客户端。
4)虚拟对象:虚拟场景中可以进行交互的各种人和物的形象,或在虚拟场景中的可活动对象。该可活动对象可以是虚拟人物、虚拟动物、动漫人物等,比如,在虚拟场景中显示的人物、动物、植物、油桶、墙壁、石块等。该虚拟对象可以是该虚拟场景中的一个虚拟的用于代表用户的虚拟形象。虚拟场景中可以包括多个虚拟对象,每个虚拟对象在虚拟场景中具有自身的形状和体积,占据虚拟场景中的一部分空间。
例如,该虚拟对象可以是通过客户端上的操作进行控制的用户角色,也可以是通过训练设置在虚拟场景对战中的人工智能(ai,artificialintelligence),还可以是设置在虚拟场景互动中的非用户角色(npc,non-playercharacter)。例如,该虚拟对象可以是在虚拟场景中进行对抗式交互的虚拟人物。例如,该虚拟场景中参与互动的虚拟对象的数量可以是预先设置的,也可以是根据加入互动的客户端的数量动态确定的。
以射击类游戏为例,用户可以控制虚拟对象在该虚拟场景的天空中自由下落、滑翔或者打开降落伞进行下落等,在陆地上中跑动、跳动、爬行、弯腰前行等,也可以控制虚拟对象在海洋中游泳、漂浮或者下潜等,当然,用户也可以控制虚拟对象乘坐虚拟载具在该虚拟场景中进行移动,例如,该虚拟载具可以是虚拟汽车、虚拟飞行器、虚拟游艇等,在此仅以上述场景进行举例说明,本申请实施例对此不作具体限定。用户也可以控制虚拟对象通过虚拟道具与其他虚拟对象进行对抗式的交互,例如,该虚拟道具可以是手雷、集束雷、粘性手雷等投掷类虚拟道具,也可以是机枪、手枪、步枪等射击类虚拟道具,本申请对虚拟道具的类型不作具体限定。
5)场景数据:表示虚拟场景中的对象在交互过程中受所表现的各种特征,例如,可以包括对象在虚拟场景中的位置。当然,根据虚拟场景的类型可以包括不同类型的特征;例如,在游戏的虚拟场景中,场景数据可以包括虚拟场景中配置的各种功能时需要等待的时间(取决于在特定时间内能够使用同一功能的次数),还可以表示游戏角色的各种状态的属性值,例如包括生命值(也称为红量)和魔法值(也称为蓝量)等。
本申请实施例提供一种虚拟道具的交互处理方法、装置、电子设备和计算机可读存储介质,能够实现虚拟场景中符合物理规律的准确拾取,下面说明本申请实施例提供的电子设备的示例性应用,本申请实施例提供的电子设备可以实施为笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等各种类型的用户终端,也可以实施为服务器。下面,将说明设备实施为终端时示例性应用。
为便于更容易理解本申请实施例提供的虚拟道具的交互处理方法,首先说明本申请实施例提供的虚拟道具的交互处理方法的示例性实施场景,虚拟场景可以完全基于终端输出,或者基于终端和服务器的协同来输出。
在一些实施例中,虚拟场景可以是军事演习仿真中所呈现的画面,用户可以在虚拟场景中,通过属于不同团队的虚拟对象来模拟战局、战略或战术,对于军事作战的指挥有着很大的指导作用。
在一些实施例中,虚拟场景可以是供游戏角色交互的环境,例如可以是供游戏角色在虚拟场景中进行对战,通过控制虚拟对象的行动可以在虚拟场景中进行双方互动,从而使用户能够在游戏的过程中舒缓生活压力。
在一个实施场景中,参见图1a,图1a是本申请实施例提供的虚拟道具的交互处理方法的应用模式示意图,适用于一些完全依赖终端400的计算能力即可完成虚拟场景100的相关数据计算的应用模式,例如单机版/离线模式的游戏,通过智能手机、平板电脑和虚拟现实/增强现实设备等终端400完成虚拟场景的输出。
当形成虚拟场景100的视觉感知时,终端400通过图形计算硬件计算显示所需要的数据,并完成显示数据的加载、解析和渲染,在图形输出硬件输出能够对虚拟场景形成视觉感知的视频帧,例如,在智能手机的显示屏幕呈现二维的视频帧,或者,在增强现实/虚拟现实眼镜的镜片上投射实现三维显示效果的视频帧;此外,为了丰富感知效果,设备还可以借助不同的硬件来形成听觉感知、触觉感知、运动感知和味觉感知的一种或多种。
作为示例,终端400运行客户端410(例如单机版的游戏应用),在客户端410的运行过程中输出包括有角色扮演的虚拟场景,虚拟场景是供游戏角色交互的环境,例如可以是用于供游戏角色进行对战的平原、街道、山谷等等;虚拟场景中包括第一虚拟对象110和虚拟道具120,第一虚拟对象110可以是受用户(或称玩家)控制的游戏角色,即第一虚拟对象110受控于真实用户,将响应于真实用户针对控制器(包括触控屏、声控开关、键盘、鼠标和摇杆等)的操作而在虚拟场景中运动,例如当真实用户向左移动摇杆时,第一虚拟对象将在虚拟场景中向左部移动,还可以保持原地静止、跳跃以及使用各种功能(如技能和道具);虚拟道具120可以是在虚拟场景中被第一虚拟对象110使用的对战工具,例如,第一虚拟对象110可以拾取虚拟场景中的虚拟道具120,从而使用虚拟道具120的功能进行游戏对战。
举例来说,当用户通过客户端410控制第一虚拟对象110移动至虚拟场景中的虚拟道具120(即空闲虚拟道具)时,当虚拟道具120位于第一虚拟对象110的使用虚拟道具的朝向上,且与使用虚拟道具之间不存在障碍物时,用户通过客户端410控制第一虚拟对象110拾取虚拟场景中的虚拟道具120。
在另一个实施场景中,参见图1b,图1b是本申请实施例提供的虚拟道具的交互处理方法的应用模式示意图,应用于终端400和服务器200,适用于依赖服务器200的计算能力完成虚拟场景计算、并在终端400输出虚拟场景的应用模式。
以形成虚拟场景100的视觉感知为例,服务器200进行虚拟场景相关显示数据的计算并发送到终端400,终端400依赖于图形计算硬件完成计算显示数据的加载、解析和渲染,依赖于图形输出硬件输出虚拟场景以形成视觉感知,例如可以在智能手机的显示屏幕呈现二维的视频帧,或者,在增强现实/虚拟现实眼镜的镜片上投射实现三维显示效果的视频帧;对于虚拟场景的形式的感知而言,可以理解,可以借助于终端的相应硬件输出,例如使用麦克风输出形成听觉感知,使用振动器输出形成触觉感知等等。
作为示例,终端400运行客户端410(例如网络版的游戏应用),通过连接游戏服务器(即服务器200)与其他用户进行游戏互动,终端400输出客户端410的虚拟场景100,其中包括第一虚拟对象110和虚拟道具120,第一虚拟对象110可以是受用户控制的游戏角色,即第一虚拟对象110受控于真实用户,将响应于真实用户针对控制器(包括触控屏、声控开关、键盘、鼠标和摇杆等)的操作而在虚拟场景中运动,例如当真实用户向左移动摇杆时,第一虚拟对象将在虚拟场景中向左部移动,还可以保持原地静止、跳跃以及使用各种功能(如技能和道具);虚拟道具120可以是在虚拟场景中被第一虚拟对象110使用的对战工具,例如,第一虚拟对象110可以拾取虚拟场景中的虚拟道具120,从而使用虚拟道具120的功能进行游戏对战。
举例来说,当用户通过客户端410控制第一虚拟对象110移动至虚拟场景中的虚拟道具120(即空闲虚拟道具)时,客户端410将第一虚拟对象110的位置信息通过网络300发送至服务器200,服务器200根据拾取逻辑,对虚拟道具120与第一虚拟对象110进行障碍物检测,当虚拟道具120位于第一虚拟对象110的使用虚拟道具的朝向上,且与使用虚拟道具之间不存在障碍物时,将虚拟道具120的可拾取提示发送至客户端410,客户端410接收到虚拟道具120的可拾取提示后,呈现虚拟道具120的可拾取提示,用户基于虚拟道具120的可拾取提示,控制第一虚拟对象110拾取虚拟场景中的虚拟道具120。
在一些实施例中,终端400可以通过运行计算机程序来实现本申请实施例提供的虚拟道具的交互处理方法,例如,计算机程序可以是操作系统中的原生程序或软件模块;可以是本地(native)应用程序(app,application),即需要在操作系统中安装才能运行的程序,例如游戏app(即上述的客户端410);也可以是小程序,即只需要下载到浏览器环境中就可以运行的程序;还可以是能够嵌入至任意app中的游戏小程序。总而言之,上述计算机程序可以是任意形式的应用程序、模块或插件。
本申请实施例可以借助于云技术(cloudtechnology)实现,云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、以及应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源。
作为示例,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。终端400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、以及智能手表等,但并不局限于此。终端400以及服务器200可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
参见图2a,图2a是本申请实施例提供的用于虚拟道具的交互处理的电子设备的结构示意图,以电子设备为终端为例进行说明,图2a所示的电子设备包括:至少一个处理器410、存储器450、至少一个网络接口420和用户接口430。电子设备400中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2a中将各种总线都标为总线系统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之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的虚拟道具的交互处理装置可以采用软件方式实现,图2a示出了存储在存储器450中的虚拟道具的交互处理装置455,其可以是程序和插件等形式的软件,包括以下软件模块:呈现模块4551、响应模块4552、处理模块4553、检测模块4554以及定时模块4555,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分,将在下文中说明各个模块的功能。
参见图2b,图2b是本申请实施例提供的虚拟道具的交互处理装置中安装的人机交互引擎的原理示意图,以应用于游戏为例,又可以称为游戏引擎,游戏引擎是指一些已编写好的可编辑电脑游戏系统或者一些交互式实时图像应用程序的核心组件,这些系统为游戏设计者提供各种编写游戏所需的各种工具,其目的在于让游戏设计者能容易和快速地做出游戏程式而不用由零开始,游戏引擎包括:渲染引擎(即“渲染器”,含二维图像引擎和三维图像引擎)、物理引擎、障碍物检测系统、音效、脚本引擎、电脑动画、人工智能、网络引擎以及场景管理,游戏引擎是一个为运行某一类游戏的机器设计的能够被机器识别的代码(指令)集合,它像一个发动机,控制着游戏的运行,一个游戏程序可以分为游戏引擎和游戏资源两大部分,游戏资源包括图像,声音,动画等部分,游戏=引擎(程序代码)+资源(图像,声音,动画等),游戏引擎则是按游戏设计的要求顺序地调用这些资源。
本申请实施例提供的虚拟道具的交互处理方法是由图2a中所示出的虚拟道具的交互处理装置中的各个模块通过调用图2b所示出的人机交互引擎的相关组件实现的,下面示例性说明。
例如,呈现模块4551用于呈现虚拟场景中的至少一个空闲虚拟道具,呈现模块4551调用图2b所示游戏引擎中的用户界面部分实现用户与游戏之间的交互,通过调用游戏引擎中的模型部分制作二维或者三维模型,并在模型制作完毕之后,通过骨骼动画部分按照不同的面把材质贴图赋予模型,这相当于为骨骼蒙上皮肤,最后再通过渲染部分将模型、动画、光影、特效等所有效果实时计算出来并展示在人机交互界面上。
例如,响应模块4552用于响应于控制第一虚拟对象的移动操作,呈现第一虚拟对象在虚拟场景中的移动过程,响应模块4552调用图2b的渲染模块,基于计算出的移动轨迹进行实时图像计算并展示在人机交互界面上。
例如,处理模块4553当空闲虚拟道具位于第一虚拟对象的使用虚拟道具的朝向上,且与使用虚拟道具之间不存在障碍物时,呈现空闲虚拟道具的可拾取提示,处理模块4553调用图2b所示游戏引擎中的渲染模块,当空闲虚拟道具与使用虚拟道具之间不存在障碍物时,通过渲染模块对空闲虚拟道具进行渲染并展示在人机交互界面上。
例如,检测模块4554用于检测第一虚拟对象在移动过程中与空闲虚拟道具之间的距离;当距离小于距离阈值时,对第一虚拟对象的使用虚拟道具与空闲虚拟道具之间进行障碍物检测。检测模块4554调用图2b所示游戏引擎中的相机部分实现障碍物检测,具体是通过绑定在第一虚拟对象的使用虚拟道具上的相机发射的检测射线进行障碍物检测,其中,绑定在使用虚拟道具上的相机是通过相机部分配置的。
例如,定时模块4555用于在空闲虚拟道具上绑定定时器,当空闲虚拟道具在设定时间段内未被拾取时,定时模块4555调用图2b所示游戏引擎中的渲染模块,通过渲染模块对空闲虚拟道具进行渲染,以取消在虚拟场景中呈现空闲虚拟道具。
如前,本申请实施例提供的虚拟道具的交互处理方法可以由各种类型的电子设备实施,例如终端。参见图3a,图3a是本申请实施例提供的虚拟道具的交互处理方法的流程示意图,结合图3a示出的步骤进行说明。
在下面步骤中,空闲虚拟道具表示闲置、未被使用的虚拟道具,包括虚拟场景中初始化的虚拟道具(即未被任何虚拟对象使用过的虚拟道具)以及掉落的虚拟道具(例如,某虚拟对象被击杀,则该虚拟对象所持有的虚拟道具将掉落在被击杀的位置)。
在步骤101中,呈现虚拟场景中的至少一个空闲虚拟道具。
例如,在游戏开始时,对虚拟场景中的虚拟道具进行初始化,可以将虚拟道具随机设置在虚拟场景的各个位置,还可以设置每局游戏中初始化的虚拟道具的所处的位置都相同,还可以设置每局游戏中初始化的虚拟道具的所处的位置都不相同(以加大游戏难度,用户无法预测虚拟道具的位置)。在初始化虚拟道具后,可以在虚拟场景中呈现初始化的虚拟道具(空闲虚拟道具),用户控制的虚拟对象可以拾取初始化的虚拟道具,以通过拾取的虚拟道具进行攻击或者防御。
在一些实施例中,呈现虚拟场景中的至少一个空闲虚拟道具,包括:当第二虚拟对象在虚拟场景中遭受攻击而丧失持有虚拟道具的能力时,在第二虚拟对象遭受攻击的位置,呈现第二虚拟对象掉落的至少一个虚拟道具。
其中,空闲虚拟道具包括虚拟对象掉落的虚拟道具,例如,在游戏过程中,第二虚拟对象(除第一虚拟对象外的虚拟对象,例如第一虚拟对象的敌方或者队友)在虚拟场景中遭受攻击而丧失持有虚拟道具的能力时,例如第三虚拟对象(除第二虚拟对象外的虚拟对象)击杀第二虚拟对象,则第二虚拟对象被第三虚拟对象击杀;第三虚拟对象重击第二虚拟对象,则第二虚拟对象遭到创伤,第二虚拟对象所持有的虚拟道具将掉落在第二虚拟对象遭受攻击的位置。因此,在第二虚拟对象遭受攻击的位置,呈现第二虚拟对象掉落的至少一个虚拟道具,以便除第二虚拟对象外的虚拟对象拾取,尤其是攻击第二虚拟对象的第三虚拟对象,该掉落的虚拟道具作为第三虚拟对象的奖励。
在一些实施例中,呈现虚拟场景中的至少一个空闲虚拟道具,包括:当第二虚拟对象在虚拟场景主动丢弃至少一个持有虚拟道具时,将持有虚拟道具作为空闲虚拟道具;在第二虚拟对象丢弃持有虚拟道具的位置呈现主动丢弃的至少一个虚拟道具。
其中,空闲虚拟道具包括虚拟对象丢弃的虚拟道具,例如,在游戏过程中,虚拟对象只能持有固定数量的虚拟道具时,虚拟对象为了能够持有足够多的、有用的虚拟道具,可以选择主动丢弃持有的虚拟道具,例如,第二虚拟对象(除第一虚拟对象外的虚拟对象,例如第一虚拟对象的敌方或者队友)不想要性能太低的持有道具时,可以选择主动丢弃至少一个持有虚拟道具,则第二虚拟对象所持有的虚拟道具将掉落在丢弃的位置,将被丢弃的持有虚拟道具作为空闲虚拟道具。因此,在第二虚拟对象丢弃持有虚拟道具的位置,呈现主动丢弃的至少一个虚拟道具,以便除第二虚拟对象外的虚拟对象拾取,还能够使得第二虚拟对象能够拾取其他的虚拟道具。
在一些实施例中,呈现虚拟场景中的至少一个空闲虚拟道具,包括:当第一虚拟对象的队友在虚拟场景的放置位置放置至少一个持有虚拟道具时,将持有虚拟道具作为空闲虚拟道具;其中,空闲虚拟道具用于供第一虚拟对象拾取;在虚拟场景的地图中的放置位置呈现队友放置的至少一个空闲虚拟道具。
其中,空闲虚拟道具包括虚拟对象放置的虚拟道具,例如,在游戏过程中,为了实现团队合作,虚拟对象想给予队友自己所持有的虚拟对象时,虚拟对象可以选择将持有虚拟道具放置在虚拟场景中某处,以供队友拾取。
例如,如图4所示,图4是本申请实施例提供的虚拟道具的交互处理方法的界面示意图,第四虚拟对象(第一虚拟对象的队友)在虚拟场景的放置位置401放置至少一个持有虚拟道具,该持有虚拟道具作为空闲虚拟道具,该空闲虚拟道具用于供第一虚拟对象402以及相同团队的任意虚拟对象拾取,并在虚拟场景的地图403(将整个游戏的虚拟场景进行缩略,所形成的指引图)中的放置位置401呈现该空闲虚拟道具,从而第一虚拟对象以及相同团队的任意虚拟对象,可以通过虚拟场景的地图403查看第四虚拟对象在何处放置了虚拟道具,从而快速到达放置位置拾取虚拟道具。
在步骤102中,响应于控制第一虚拟对象的移动操作,控制第一虚拟对象在虚拟场景中移动。
其中,第一虚拟对象可以是由游戏或者军事仿真中的用户所控制的对象,当然,虚拟场景中还可以包括其他的虚拟对象,可以由其他用户控制或由机器人程序控制。虚拟对象可以被划分到多个团队,团队之间可以是敌对关系或协作关系,虚拟场景中的团队可以包括上述关系的一种或者全部。
其中,用户控制第一虚拟对象的移动操作可以控制第一虚拟对象在虚拟场景中移动、翻转、跳跃等等,通过人机交互界面接收第一虚拟对象的移动操作,从而控制第一虚拟对象在虚拟场景中进行移动,在移动过程中人机交互界面中所呈现的内容随着第一虚拟对象的移动发生变化。
其中,在人机交互界面中显示第一虚拟对象在虚拟场景中的移动过程时,根据观看用户在完整虚拟场景中的观看位置和视场角,确定观看对象的视场区域,呈现虚拟场景中位于视场区域中的部分虚拟场景,即所显示的虚拟场景可以是相对于全景虚拟场景的部分虚拟场景。
例如,以用户佩戴虚拟现实设备为例,参见图5a,图5a是本申请实施例提供的虚拟现实的界面示意图,观看用户(即真实用户)在虚拟现实设备中通过透镜所能够感知到虚拟场景501中位于视场区域中的部分虚拟场景502,虚拟现实设备中设置有姿态检测的传感器(如九轴传感器),用于实时检测虚拟现实设备的姿态变化,如果用户佩戴了虚拟现实设备,那么当用户头部姿态发生变化时,会将头部的实时姿态传给处理器,以此计算用户的视线在虚拟场景中的注视点,根据注视点计算虚拟场景的三维模型中处于用户注视范围(即视场区域)的图像,并在显示屏上显示,使人仿佛在置身于现实环境中观看一样的沉浸式体验。对于其它类型的虚拟现实设备,如移动虚拟现实设备(pcvr),实现视觉感知的原理与上述类似,不同的是pcvr、移动虚拟现实设备等本身没有集成实现相关计算的处理器,不具备独立的虚拟现实输入和输出的功能。
以用户操控虚拟场景中的第一虚拟对象503为例,即观看用户是第一虚拟对象503,参见图5b,图5b是本申请实施例提供的虚拟现实的界面示意图,用户通过控制第一虚拟对象503在完整虚拟场景501中的观看位置和视场角,控制第一虚拟对象503进行移动操作,例如奔跑、下蹲等,并呈现第一虚拟对象503在虚拟场景中的移动过程。
在步骤103中,当空闲虚拟道具位于第一虚拟对象的使用虚拟道具的朝向上,且与使用虚拟道具之间不存在障碍物时,呈现空闲虚拟道具的可拾取提示。
其中,本申请实施例发现,由于拾取逻辑的漏洞,导致虚拟对象能够隔着障碍物自动拾取不应该被拾取的虚拟道具,例如空闲虚拟道具与第一虚拟对象隔着一堵墙时,第一虚拟对象仍然能够自动拾取该空闲虚拟道具。
为了修正该拾取逻辑的漏洞,可以检测空闲虚拟道具与第一虚拟对象的使用虚拟道具之间是否存在障碍物,当空闲虚拟道具位于第一虚拟对象的使用虚拟道具的朝向上,且与使用虚拟道具之间存在障碍物时,则说明第一虚拟对象面对障碍物,不能拾取障碍物,则在虚拟场景呈现空闲虚拟道具的不可拾取提示,以提示需要绕过障碍物,才能够拾取空闲虚拟道具;当空闲虚拟道具位于第一虚拟对象的使用虚拟道具的朝向上,且与使用虚拟道具之间不存在障碍物时,则说明第一虚拟对象面对空闲虚拟道具,能够正常拾取障碍物,则在虚拟场景呈现空闲虚拟道具的可拾取提示,以提示可以拾取该空闲虚拟道具。
参见图3b,图3b是本发明实施例提供的虚拟道具的交互处理方法的一个可选的流程示意图,图3b示出图3a还包括步骤105-106:在步骤105中,检测第一虚拟对象在移动过程中与空闲虚拟道具之间的距离;在步骤106中,当距离小于距离阈值时,对第一虚拟对象的使用虚拟道具与空闲虚拟道具之间进行障碍物检测。
例如,为了修正拾取逻辑的漏洞,可以先检测第一虚拟对象在移动过程中与空闲虚拟道具之间的距离,例如,确定第一虚拟对象在虚拟场景中的第一坐标以及空闲虚拟道具在虚拟场景中的第二坐标,从而根据第一坐标以及第二坐标之间的距离,确定第一虚拟对象在移动过程中与空闲虚拟道具之间的距离。当距离小于距离阈值时,说明第一虚拟对象与空闲虚拟道具距离较近,有能力拾取空闲虚拟道具。然后,检测第一虚拟对象的使用虚拟道具与空闲虚拟道具之间的障碍物,当检测到空闲虚拟道具与使用虚拟道具之间存在障碍物时,则说明第一虚拟对象面对障碍物,即使与空闲虚拟道具足够近,也不能拾取障碍物。
在一些实施例中,呈现空闲虚拟道具的可拾取提示之前,还包括:在第一虚拟对象在移动过程中的每个实时位置,对第一虚拟对象的使用虚拟道具与空闲虚拟道具之间进行障碍物检测。
例如,为了修正拾取逻辑的漏洞,可以在第一虚拟对象在移动过程中的每个实时位置,对第一虚拟对象的使用虚拟道具与空闲虚拟道具之间进行障碍物检测,当检测到空闲虚拟道具与使用虚拟道具之间存在障碍物时,则说明第一虚拟对象前面有障碍物,不能拾取障碍物。
在一些实施例中,对第一虚拟对象的使用虚拟道具与空闲虚拟道具之间进行障碍物检测,包括:通过绑定在使用虚拟道具上的相机组件,从使用虚拟道具的位置上发射与使用虚拟道具的朝向一致的检测射线;基于检测射线确定使用虚拟道具与空闲虚拟道具之间是否存在障碍物。
例如,通过第一虚拟对象的使用虚拟道具上的相机组件,从使用虚拟道具的位置上发射与使用虚拟道具的朝向一致的检测射线,通过检测射线确定使用虚拟道具与空闲虚拟道具之间是否存在障碍物,即第一虚拟对象与空闲虚拟道具之间是否存在障碍物,当检测射线与绑定在障碍物(例如墙壁、油桶等阻碍虚拟对象行动的物体)上的碰撞器组件(例如碰撞盒子、碰撞球等)存在交叉时,则说明使用虚拟道具与空闲虚拟道具之间存在障碍物,即第一虚拟对象与空闲虚拟道具之间存在障碍物;当检测射线与绑定在障碍物上的碰撞器组件不存在交叉时,则说明使用虚拟道具与空闲虚拟道具之间不存在障碍物,即第一虚拟对象与空闲虚拟道具之间不存在障碍物。
另外,通过绑定在使用虚拟道具上的相机组件,从使用虚拟道具的位置上发射检测射线,该检测射线的终点为空闲虚拟道具所处的位置,基于检测射线确定使用虚拟道具与空闲虚拟道具之间是否存在障碍物,例如,该检测射线透射某障碍物,则说明第一虚拟对象与空闲虚拟道具之间存在障碍物;该检测射线未透射障碍物,则说明第一虚拟对象与空闲虚拟道具之间不存在障碍物。
在一些实施例中,当空闲虚拟道具位于第一虚拟对象的使用虚拟道具的朝向上,且与使用虚拟道具之间不存在障碍物时,呈现空闲虚拟道具的可拾取提示,包括:当多个空闲虚拟道具位于第一虚拟对象的使用虚拟道具的朝向上,且与使用虚拟道具之间不存在障碍物时,呈现多个空闲虚拟道具的部分空闲虚拟道具的可拾取提示。
例如,参见图6,图6是本申请实施例提供的多个空闲虚拟道具的界面示意图,虚拟场景中空闲虚拟道具601、空闲虚拟道具602、空闲虚拟道具603都位于第一虚拟对象的使用虚拟道具604的朝向上,且与使用虚拟道具604之间不存在障碍物,在虚拟场景中呈现部分空闲虚拟道具的可拾取提示,例如呈现空闲虚拟道具601的可拾取控件。
参见图3c,图3c是本发明实施例提供的虚拟道具的交互处理方法的一个可选的流程示意图,图3c示出图3a中的步骤103可通过步骤1031-1032实现:在步骤1031中,针对多个空闲虚拟道具中的任一空闲虚拟道具执行以下处理:获取第一虚拟对象在移动过程中与空闲虚拟道具之间的距离;在步骤1032中,呈现最小距离所对应的空闲虚拟道具的可拾取提示。
例如,参见图6,虚拟场景中空闲虚拟道具601、空闲虚拟道具602、空闲虚拟道具603中,空闲虚拟道具601与使用虚拟道具之间的距离最小,即空闲虚拟道具601与第一虚拟对象之间的距离最小,则在虚拟场景中呈现空闲虚拟道具601的可拾取提示,即可拾取控件,表示空闲虚拟道具601可被拾取。通过第一虚拟对象与空闲虚拟道具之间的距离,从多个空闲虚拟道具中筛选出与第一虚拟对象最近的空闲虚拟道具进行可拾取提示,从而方便第一虚拟对象能够以最快的速度拾取空闲虚拟道具,避免空闲虚拟道具被其他虚拟对象拾取。
在一些实施例中,呈现多个空闲虚拟道具的部分空闲虚拟道具的可拾取提示,包括:针对多个空闲虚拟道具中的任一空闲虚拟道具执行以下处理:基于第一虚拟对象的使用偏好,获取空闲虚拟道具与使用偏好的匹配程度;对多个空闲虚拟道具与使用偏好的匹配程度进行排序,选取最高匹配程度所对应的空闲虚拟道具进行可拾取提示。
例如,参见图6,当虚拟场景中存在多个空闲虚拟道具时,例如空闲虚拟道具601、空闲虚拟道具602和空闲虚拟道具603,通过神经网络模型结合第一虚拟对象历史使用的虚拟道具,预测出第一虚拟对象的使用偏好,即第一虚拟对象对虚拟道具的喜好。基于第一虚拟对象的使用偏好,确定空闲虚拟道具601与使用偏好的匹配程度,确定空闲虚拟道具602与使用偏好的匹配程度,确定空闲虚拟道具603与使用偏好的匹配程度,从多个匹配程度中筛选出与最高匹配程度的空闲虚拟道具601进行可拾取提示,从而从多个空闲虚拟道具中筛选出第一虚拟对象最喜欢的空闲虚拟道具。
在一些实施例中,呈现多个空闲虚拟道具中的部分空闲虚拟道具的可拾取提示,包括:针对多个空闲虚拟道具中的任一空闲虚拟道具执行以下处理:获取空闲虚拟道具被其他虚拟对象使用的频率;对多个空闲虚拟道具被其他虚拟对象使用的频率进行排序,选取最大频率所对应的空闲虚拟道具进行可拾取提示。
例如,参见图6,虚拟场景中空闲虚拟道具601、空闲虚拟道具602、空闲虚拟道具603中,空闲虚拟道具601被其他虚拟对象(除第一虚拟对象外的虚拟对象)使用的频率最高,即空闲虚拟道具601经常被其他虚拟对象使用,使用度较高,则在虚拟场景中呈现空闲虚拟道具601的可拾取提示,即可拾取控件,表示空闲虚拟道具601可被拾取。通过空闲虚拟道具的使用度,从多个空闲虚拟道具中筛选出使用度最高的空闲虚拟道具进行可拾取提示,说明该空闲虚拟道具比较好用,有一定使用价值,从而第一虚拟对象拾取到有价值的空闲虚拟道具,有利于第一虚拟对象进行对战游戏。
在一些实施例中,呈现多个空闲虚拟道具中的部分空闲虚拟道具的可拾取提示,包括:针对多个空闲虚拟道具中的任一空闲虚拟道具执行以下处理:获取空闲虚拟道具在虚拟场景中的性能参数;对多个空闲虚拟道具在虚拟场景中的性能参数进行排序,选取最大性能参数所对应的空闲虚拟道具进行可拾取提示。
例如,参见图6,虚拟场景中空闲虚拟道具601、空闲虚拟道具602、空闲虚拟道具603中,空闲虚拟道具601在虚拟场景中的性能参数(例如,战斗值、防御值等参数)最高,则在虚拟场景中呈现空闲虚拟道具601的可拾取提示,即可拾取控件,表示空闲虚拟道具601可被拾取。通过空闲虚拟道具的性能参数,从多个空闲虚拟道具中筛选出性能参数最高的空闲虚拟道具进行可拾取提示,说明该空闲虚拟道具比较好用,有一定使用价值,从而第一虚拟对象拾取到有价值的空闲虚拟道具,有利于第一虚拟对象进行对战游戏。
另外,还可以针对多个空闲虚拟道具中的任一空闲虚拟道具执行以下处理:获取空闲虚拟道具在虚拟场景中占用的虚拟币;对多个空闲虚拟道具在虚拟场景中占用的虚拟币进行排序,选取最大虚拟币所对应的空闲虚拟道具进行可拾取提示,从而第一虚拟对象拾取到最大虚拟币的空闲虚拟道具,以在虚拟场景中获得最大利益。
在一些实施例中,呈现多个空闲虚拟道具中的部分空闲虚拟道具的可拾取提示,包括:针对多个空闲虚拟道具中的任一空闲虚拟道具执行以下处理:获取第一虚拟对象的持有虚拟道具的类型;当空闲虚拟道具的类型与持有虚拟道具的类型不同时,对空闲虚拟道具进行可拾取提示。
例如,参见图6,虚拟场景中空闲虚拟道具601、空闲虚拟道具602、空闲虚拟道具603中,虚拟道具的类型是多样的,例如虚拟道具的类型包括射击类、投掷类、防御类、攻击类等,空闲虚拟道具601为防御类的虚拟道具、空闲虚拟道具602为射击类的虚拟道具、空闲虚拟道具603为投掷类的虚拟道具,且第一虚拟对象的持有虚拟道具的类型包括射击类、投掷类、攻击类,则空闲虚拟道具601的类型与持有虚拟道具的类型不同,则在虚拟场景中呈现空闲虚拟道具601的可拾取提示,即可拾取控件,表示空闲虚拟道具601可被拾取。通过持有虚拟道具的类型,从多个空闲虚拟道具中筛选出第一虚拟对象所缺少的虚拟道具,从而第一虚拟对象拾取到缺少的空闲虚拟道具,使得第一虚拟对象具有所有类型的虚拟道具,以更加全能的进行游戏对战。
在一些实施例中,呈现多个空闲虚拟道具中的部分空闲虚拟道具的可拾取提示,包括:针对多个空闲虚拟道具中的任一空闲虚拟道具执行以下处理:获取第一虚拟对象所在团队的持有虚拟道具的类型;当空闲虚拟道具的类型与持有虚拟道具的类型不同时,对空闲虚拟道具进行可拾取提示。
例如,参见图6,虚拟场景中空闲虚拟道具601、空闲虚拟道具602、空闲虚拟道具603中,虚拟道具的类型是多样的,例如虚拟道具的类型包括射击类、投掷类、防御类、攻击类等,空闲虚拟道具601为防御类的虚拟道具、空闲虚拟道具602为射击类的虚拟道具、空闲虚拟道具603为投掷类的虚拟道具,且第一虚拟对象所在团队的持有虚拟道具的类型包括射击类、投掷类、攻击类,则空闲虚拟道具601的类型与持有虚拟道具的类型不同,则在虚拟场景中呈现空闲虚拟道具601的可拾取提示,即可拾取控件,表示空闲虚拟道具601可被拾取。通过持有虚拟道具的类型,从多个空闲虚拟道具中筛选出团队所缺少的虚拟道具,从而第一虚拟对象拾取到缺少的空闲虚拟道具,使得第一虚拟对象所在团队具有所有类型的虚拟道具,有利于进行团队作战。
在一些实施例中,呈现多个空闲虚拟道具中的部分空闲虚拟道具的可拾取提示,包括:针对多个空闲虚拟道具中的任一空闲虚拟道具执行以下处理:获取第一虚拟对象在团队中被分配的角色;当空闲虚拟道具的类型与角色匹配时,对空闲虚拟道具进行可拾取提示。
例如,参见图6,虚拟场景中空闲虚拟道具601、空闲虚拟道具602、空闲虚拟道具603中,虚拟道具的类型是多样的,例如虚拟道具的类型包括射击类、投掷类、防御类、攻击类等,空闲虚拟道具601为防御类的虚拟道具、空闲虚拟道具602为射击类的虚拟道具、空闲虚拟道具603为投掷类的虚拟道具,且第一虚拟对象在团队中被分配的角色为射手,则空闲虚拟道具601的类型与第一虚拟对象的角色匹配,则在虚拟场景中呈现空闲虚拟道具601的可拾取提示,即可拾取控件,表示空闲虚拟道具601可被拾取。通过第一虚拟对象在团队中被分配的角色,从多个空闲虚拟道具中筛选出与第一虚拟对象的角色所匹配的虚拟道具,从而第一虚拟对象拾取到匹配的空闲虚拟道具,使得第一虚拟对象有足够的虚拟道具进行游戏对战。
在一些实施例中,呈现空闲虚拟道具的可拾取提示,包括:通过目标显示样式呈现空闲虚拟道具的可拾取提示;其中,目标显示样式表征空闲虚拟道具处于可拾取状态。
例如,在确定空闲虚拟道具可拾取后,可以通过目标显示样式显示空闲虚拟道具的可拾取提示,其中,目标显示样式包括高亮;闪动;不同颜色(根据空闲虚拟道具的功能,确定对应的显示颜色)等区别呈现样式,以突出空闲虚拟道具处于可拾取状态。
在步骤104中,响应于控制第一虚拟对象的拾取操作,控制第一虚拟对象拾取空闲虚拟道具。
例如,在呈现空闲虚拟道具的可拾取提示后,用户可以控制第一虚拟对象进行拾取操作,从而在虚拟场景中呈现第一虚拟对象拾取空闲虚拟道具的过程,例如,用户控制第一虚拟对象靠近空闲虚拟道具,并点击可拾取控件,则第一虚拟对象呈现下蹲姿势,以拾取该空闲虚拟道具,并将当前使用的虚拟道具替换成该空闲虚拟道具。
在一些实施例中,在空闲虚拟道具上绑定定时器,其中,定时器用于在虚拟场景中呈现空闲虚拟道具时开始计时;则呈现虚拟场景中的至少一个空闲虚拟道具之后,还包括:通过定时器确定空闲虚拟道具在设定时间段内未被拾取时,取消在虚拟场景中呈现空闲虚拟道具。
例如,当敌方被第一虚拟对象击杀时,敌方将掉落所持有的虚拟道具,在掉落虚拟道具上绑定定时器,当在设定时间段内,该掉落虚拟道具未被拾取,则取消在虚拟场景中呈现空闲虚拟道具,例如在一个小时内,掉落的弓箭未被拾取,则取消在虚拟场景中呈现该弓箭,虚拟场景中所有的虚拟对象将无法拾取该弓箭。
另外,不同的虚拟道具,其对应的设定时间段可以不同,例如,根据空闲虚拟道具的类型、性能参数、占用的虚拟币等因素,确定对应的设定时间段,即越有价值的虚拟道具,其对应的设定时间段越长,例如空闲虚拟道具1的战斗值为2000,其空闲虚拟道具1的设定时间段为2个小时,空闲虚拟道具1在2个小时内未被拾取,则取消在虚拟场景中呈现空闲虚拟道具1;空闲虚拟道具2的战斗值为1000,其空闲虚拟道具2的设定时间段为1个小时,空闲虚拟道具2在1个小时内未被拾取,则取消在虚拟场景中呈现空闲虚拟道具2。
下面,将说明本申请实施例提供的虚拟道具的交互处理方法在游戏的应用场景中的示例性应用。
相关技术中,在移动端射击游戏中,用户可以控制虚拟对象在开局前装备两把武器进入,然后在游戏过程中击杀敌人,被击杀的人会将当前使用的武器掉落,用户控制的虚拟对象可以拾取掉落的武器或者其他装备。但是,拾取武器装备存在一个问题,即可能会出现穿墙拾取物品(虚拟道具),即隔着障碍物拾取物品。
本申请实施例发现造成上述问题,主要是因为物品的拾取是通过触发碰撞盒来实现的,由于碰撞盒子是绑定在掉落物品上的,而掉落的位置有可能使得碰撞盒穿过了墙壁等障碍物,从而导致玩家能够穿墙拾取物品。
为了解决上述问题,本申请实施例对物品拾取的功能做优化,使得虚拟对象无法穿墙拾取(即在玩家视线无法看到的时候)不会显示拾取控件,否则会出现明明看不到物品,却显示出了一个物品拾取的拾取控件,这种体验感也是非常差的。
本申请实施例通过以下方式对物品拾取的功能进行优化:1)穿墙时候不显示物品可拾取控件;2)判断可否拾取的检测逻辑的优化;3)按照先近后远的拾取顺序拾取。下面具体说明物品拾取的功能的优化方式:
1)穿墙时候不显示物品可拾取控件
如图7所示,图7是本申请实施例提供的掉落武器的界面示意图,在游戏中,每次击杀了一个敌方,则该敌方701就会在其击杀的位置上掉落其当前使用的武器702。如图8所示,图8是本申请实施例提供的掉落武器的界面示意图,当用户控制的虚拟对象靠近地面上掉落的武器702时,则在虚拟场景中显示该武器信息,并且点击可拾取控件801,就可以拾取该武器702。
但是,如图9所示,图9是本申请实施例提供的掉落武器的界面示意图,在游戏的过程存在一种情况,即击杀敌方后,敌方的武器702刚好落到墙壁901的左侧,而用户控制的虚拟对象902在墙壁901的右侧。
此时,若用户控制的虚拟对象902靠近该墙壁901时,将判断武器702与虚拟对象902之间是否有障碍物,当武器702与虚拟对象902之间有障碍物时,不能显示可拾取控件,也不能拾取该武器702,用户控制的虚拟对象902必须绕到墙壁的左侧才能拾取该武器702。
2)判断可否拾取的检测逻辑的优化
相关技术中,在掉落的武器上面绑定一个碰撞盒子,这种做法会产生下面问题:a)隔墙可拾取;b)受限于碰撞盒子,只有在进入碰撞盒子与退出碰撞盒子的时候才能检测到掉落的武器,如果掉落的武器刚好掉落在虚拟对象的位置上时,由于虚拟对象已经处于掉落的武器的碰撞盒子的内部,虚拟对象需要先退出碰撞盒子,然后再进入碰撞盒子,才能触发显示可拾取控件的逻辑;c)处于高层的掉落武器可能会穿过地板被底层的虚拟对象拾取。
为了解决优化可否拾取的检测逻辑,本申请实施例可以不在掉落的武器上绑定碰撞盒子,通过检测虚拟对象与掉落武器之间是否有障碍物,以解决上述碰撞盒子所带来的问题。
3)按照先近后远的拾取顺序拾取
如图10所示,图10是本申请实施例提供的掉落武器的界面示意图,当同一个位置1001同时存在多个掉落武器(武器1002和武器1003)时,此时如果用户控制的虚拟对象接近位置1001,可以拾取武器时,先显示离虚拟对象较近的武器1002。
为方便理解本申请实施例,如图11所示,图11是本申请实施例提供的虚拟道具的交互处理的流程示意图,结合图11示出的步骤进行说明。
步骤1101:开始游戏后,用户控制的虚拟对象可以寻找目标(敌方)进行击杀,在游戏过程中,必须要有目标被击杀,才能够掉落武器,当然这里不一定是敌方被击杀,也可以是队友被击杀(如果是队友被击杀,显示掉落武器是我方队友所掉落的)。
步骤1102:当现场有一个目标死亡时,用户控制的虚拟对象可以移动以靠近掉落武器,由于掉落武器上面没有挂载碰撞盒子,因此,在这里并非是通过触发响应拾取武器,而是通过数学位置距离计算的。
如图12所示,图12是本申请实施例提供的距离计算的界面示意图,点1201表示掉落武器的位置,r表示可拾取的半径,然后计算点1201与虚拟对象1202之间的距离,得出距离d,若距离d小于r,则虚拟对象1202在可拾取的范围内,即虚拟对象1202靠近掉落武器;若距离d大于r,则虚拟对象1202不在可拾取的范围内,即虚拟对象1202远离掉落武器。
步骤1103:接着判断虚拟对象与掉落武器之间有没有障碍物,检测的方式是通过虚拟对象的使用武器的枪口位置打出一条检测射线,终点为掉落武器,如图13所示,图13是本申请实施例提供的障碍物检测的界面示意图,线段1301为检测射线,当射线与障碍物有交叉时,即检测到障碍物,例如墙壁1302。因此,即使满足距离范围的检测,当检测到障碍物,也无法拾取掉落武器。
步骤1104:如果同一个范围内出现多个掉落武器,此时计算所有的掉落武器的位置与虚拟对象的距离,然后显示一个与虚拟对象距离最近的掉落武器的可拾取控件。
步骤1105:当用户点击拾取控件后,即会发送拾取协议给服务器,服务器校验当前武器是否被拾取或者是否已经消失,若确定当前武器可拾取,则返回拾取成功,并将虚拟对象使用的武器替换为当前武器。
步骤1106:若掉落武器超过一定的时间没有被拾取,则游戏中掉落武器就会消失。
因此,本申请实施例对物品拾取的功能做优化,使得虚拟对象无法穿墙拾取(即在玩家视线无法看到的时候)不会显示拾取控件,提高用户体验感。
至此已经结合本申请实施例提供的终端的示例性应用和实施,说明本申请实施例提供的虚拟道具的交互处理方法,下面继续说明本申请实施例提供的虚拟道具的交互处理装置455中各个模块配合实现多媒体信息的虚拟道具的交互处理的方案。
呈现模块4551,用于呈现虚拟场景中的至少一个空闲虚拟道具;响应模块4552,用于响应于控制第一虚拟对象的移动操作,控制所述第一虚拟对象在所述虚拟场景中移动;处理模块4553,用于当所述空闲虚拟道具位于所述第一虚拟对象的使用虚拟道具的朝向上,且与所述使用虚拟道具之间不存在障碍物时,呈现所述空闲虚拟道具的可拾取提示;所述响应模块4552还用于响应于控制所述第一虚拟对象的拾取操作,控制所述第一虚拟对象拾取所述空闲虚拟道具。
在一些实施例中,所述虚拟道具的交互处理装置455还包括:检测模块4554,用于检测所述第一虚拟对象在移动过程中与所述空闲虚拟道具之间的距离;当所述距离小于距离阈值时,对所述第一虚拟对象的使用虚拟道具与所述空闲虚拟道具之间进行障碍物检测。
在一些实施例中,所述检测模块4554还用于在所述第一虚拟对象在所述移动过程中的每个实时位置,对所述第一虚拟对象的使用虚拟道具与所述空闲虚拟道具之间进行障碍物检测。
在一些实施例中,所述检测模块4554还用于通过绑定在所述使用虚拟道具上的相机组件,从所述使用虚拟道具的位置上发射与所述使用虚拟道具的朝向一致的检测射线;基于所述检测射线确定所述使用虚拟道具与所述空闲虚拟道具之间是否存在障碍物。
在一些实施例中,所述检测模块4554还用于当所述检测射线与绑定在障碍物上的碰撞器组件存在交叉时,确定所述使用虚拟道具与所述空闲虚拟道具之间存在所述障碍物;当所述检测射线与绑定在障碍物上的碰撞器组件不存在交叉时,确定所述使用虚拟道具与所述空闲虚拟道具之间不存在所述障碍物。
在一些实施例中,所述处理模块4553还用于当所述空闲虚拟道具位于所述第一虚拟对象的使用虚拟道具的朝向上,且与所述使用虚拟道具之间存在障碍物时,呈现所述空闲虚拟道具的不可拾取提示。
在一些实施例中,所述处理模块4553还用于当多个所述空闲虚拟道具位于所述第一虚拟对象的使用虚拟道具的朝向上,且与所述使用虚拟道具之间不存在障碍物时,呈现多个所述空闲虚拟道具的部分空闲虚拟道具的可拾取提示。
在一些实施例中,所述处理模块4553还用于针对多个所述空闲虚拟道具中的任一空闲虚拟道具执行以下处理:获取所述第一虚拟对象在移动过程中与所述空闲虚拟道具之间的距离;呈现最小距离所对应的空闲虚拟道具的可拾取提示。
在一些实施例中,所述处理模块4553还用于针对多个所述空闲虚拟道具中的任一空闲虚拟道具执行以下处理:基于所述第一虚拟对象的使用偏好,获取所述空闲虚拟道具与所述使用偏好的匹配程度;对多个所述空闲虚拟道具与所述使用偏好的匹配程度进行排序,选取最高匹配程度所对应的空闲虚拟道具进行可拾取提示。
在一些实施例中,所述处理模块4553还用于针对多个所述空闲虚拟道具中的任一空闲虚拟道具执行以下处理:获取所述空闲虚拟道具被其他虚拟对象使用的频率;对多个所述空闲虚拟道具被其他虚拟对象使用的频率进行排序,选取最大频率所对应的空闲虚拟道具进行可拾取提示。
在一些实施例中,所述处理模块4553还用于针对多个所述空闲虚拟道具中的任一空闲虚拟道具执行以下处理:获取所述空闲虚拟道具在所述虚拟场景中的性能参数;对多个所述空闲虚拟道具在所述虚拟场景中的性能参数进行排序,选取最大性能参数所对应的空闲虚拟道具进行可拾取提示。
在一些实施例中,所述处理模块4553还用于针对多个所述空闲虚拟道具中的任一空闲虚拟道具执行以下处理:获取所述第一虚拟对象的持有虚拟道具的类型;当所述空闲虚拟道具的类型与所述持有虚拟道具的类型不同时,对所述空闲虚拟道具进行可拾取提示。
在一些实施例中,所述处理模块4553还用于针对多个所述空闲虚拟道具中的任一空闲虚拟道具执行以下处理:获取所述第一虚拟对象在团队中被分配的角色;当所述空闲虚拟道具的类型与所述角色匹配时,对所述空闲虚拟道具进行可拾取提示。
在一些实施例中,所述处理模块4553还用于通过目标显示样式呈现所述空闲虚拟道具的可拾取提示;其中,所述目标显示样式表征所述空闲虚拟道具处于可拾取状态。
在一些实施例中,所述虚拟道具的交互处理装置455还包括:定时模块4555,用于在所述空闲虚拟道具上绑定定时器;其中,所述定时器用于在所述虚拟场景中呈现所述空闲虚拟道具时开始计时;通过所述定时器确定所述空闲虚拟道具在设定时间段内未被拾取时,取消在所述虚拟场景中呈现所述空闲虚拟道具。
在一些实施例中,所述呈现模块4551还用于当第二虚拟对象在虚拟场景中遭受攻击而丧失持有虚拟道具的能力时,在所述第二虚拟对象遭受攻击的位置,呈现所述第二虚拟对象掉落的至少一个虚拟道具。
在一些实施例中,所述呈现模块4551还用于当第二虚拟对象在虚拟场景主动丢弃至少一个持有虚拟道具时,将所述持有虚拟道具作为空闲虚拟道具;在所述第二虚拟对象丢弃所述持有虚拟道具的位置呈现主动丢弃的至少一个虚拟道具。
在一些实施例中,所述呈现模块4551还用于当所述第一虚拟对象的队友在虚拟场景的放置位置放置至少一个持有虚拟道具时,将所述持有虚拟道具作为空闲虚拟道具;其中,所述空闲虚拟道具用于供所述第一虚拟对象拾取;在所述虚拟场景的地图中的所述放置位置呈现所述队友放置的至少一个空闲虚拟道具。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的虚拟道具的交互处理方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的虚拟道具的交互处理方法,例如,如图3a-3c示出的虚拟道具的交互处理方法。
在一些实施例中,计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、闪存、磁表面存储器、光盘、或cd-rom等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(html,hypertextmarkuplanguage)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除