欢迎光临小豌豆知识网!
当前位置:首页 > 生活技术 > 运动娱乐> 虚拟对象的控制方法、装置、设备及存储介质独创技术78778字

虚拟对象的控制方法、装置、设备及存储介质

2021-03-04 16:05:10

虚拟对象的控制方法、装置、设备及存储介质

  技术领域

  本申请涉及人机交互领域,特别涉及一种虚拟对象的控制方法、装置、设备及存储介质。

  背景技术

  在基于三维虚拟环境的应用程序中,如第一人称射击类游戏,用户可以控制虚拟对象在虚拟环境中使用虚拟道具,该虚拟道具是虚拟对象装备的虚拟道具。

  通常在虚拟环境中存在多个虚拟对象进行对战,在虚拟环境的各处散落着各类虚拟道具供虚拟对象拾取。示意性的,虚拟道具是被第一虚拟对象丢弃在虚拟环境中的虚拟道具,第二虚拟对象拾取该虚拟道具后,该虚拟道具的所有权属于第二虚拟对象。比如,虚拟对象a丢弃了虚拟道具A,该虚拟道具A被虚拟对象b拾取,此时,虚拟道具A的所有权属于虚拟对象b,虚拟对象b可使用虚拟道具A。

  上述技术方案中,若第二虚拟对象未装备要使用的虚拟道具,而第一虚拟对象装备了该虚拟道具,需要第一虚拟对象先丢弃该虚拟道具,第二虚拟对象才能通过拾取该虚拟道具后使用,虚拟对象之间关于虚拟道具的交互方式较为繁琐。

  发明内容

  本申请实施例提供了一种虚拟对象的控制方法、装置、设备及存储介质,简化了虚拟对象关于虚拟道具的交互方式。所述技术方案如下:

  根据本申请的一个方面,提供了一种虚拟对象的控制方法,所述方法包括:

  显示第一用户界面,所述第一用户界面中显示有共享虚拟道具,所述共享虚拟道具是第二虚拟对象放置的虚拟道具;

  响应于所述第一虚拟对象位于所述共享虚拟道具的周侧范围且所述第二虚拟对象与所述第一虚拟对象具有队友关系,显示第二用户界面,所述第二用户界面包括所述共享虚拟道具的操作控件,所述操作控件用于操作所述共享虚拟道具;

  响应于接收到所述操作控件上的触发操作,控制所述第一虚拟对象使用所述共享虚拟道具。

  根据本申请的另一方面,提供了一种虚拟对象的控制装置,所述装置包括:

  显示模块,用于显示第一用户界面,所述第一用户界面中显示有共享虚拟道具,所述共享虚拟道具是第二虚拟对象放置的虚拟道具;

  所述显示模块,用于响应于所述第一虚拟对象位于所述共享虚拟道具的周侧范围且所述第二虚拟对象与所述第一虚拟对象具有队友关系,显示第二用户界面,所述第二用户界面包括所述共享虚拟道具的操作控件,所述操作控件用于操作所述共享虚拟道具;

  控制模块,用于响应于接收到所述操作控件上的触发操作,控制所述第一虚拟对象使用所述共享虚拟道具。

  根据本申请的另一方面,提供了一种计算机设备,所述计算机设备包括:处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上方面所述的虚拟对象的控制方法。

  根据本申请的另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上方面所述的虚拟对象的控制方法。

  根据本申请的另一方面,提供了一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,所述处理器执行所述计算机指令,使得所述计算机设备执行如上述方面所述的虚拟对象的控制方法。

  本申请实施例提供的技术方案带来的有益效果至少包括:

  通过第二虚拟对象在虚拟环境中放置的共享虚拟道具,当与第二虚拟对象属于同一队伍的第一虚拟对象位于共享虚拟道具的周侧范围时,用户可通过第二用户界面上的操作控件控制第一虚拟对象使用该共享虚拟道具。无需第一虚拟对象装备该共享虚拟道具,也无需第二虚拟对象将共享虚拟道具丢弃至虚拟环境中,第一虚拟对象也能够使用共享虚拟道具,简化了虚拟对象之间关于虚拟道具的交互方式,使得同一队伍的虚拟对象使用虚拟道具的方式更加灵活。

  附图说明

  为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

  图1是本申请一个示例性实施例提供的虚拟对象检测的示意图;

  图2是本申请一个示例性实施例提供的计算机系统的框图;

  图3是本申请一个示例性实施例提供的状态同步技术的示意图;

  图4是本申请一个示例性实施例提供的帧同步技术的示意图;

  图5是本申请一个示例性实施例提供的虚拟对象的控制方法的流程图;

  图6是本申请一个示例性实施例提供的虚拟对象的视角对应的摄像机模型示意图;

  图7是本申请另一个示例性实施例提供的虚拟对象的控制方法的流程图;

  图8是本申请一个示例性实施例提供的用户界面示意图;

  图9是本申请一个示例性实施例提供的碰撞盒检测的示意图;

  图10是本申请另一个示例性实施例提供的用户界面示意图;

  图11是本申请另一个示例性实施例提供的用户界面示意图;

  图12是本申请另一个示例性实施例提供的虚拟对象的控制方法的流程图;

  图13是本申请另一个示例性实施例提供的用户界面示意图;

  图14是本申请另一个示例性实施例提供的用户界面示意图;

  图15是本申请一个示例性实施例提供的基于游戏的虚拟对象的控制方法的流程图;

  图16是本申请另一个示例性实施例提供的用户界面示意图;

  图17是本申请另一个示例性实施例提供的用户界面示意图;

  图18是本申请一个示例性实施例提供的虚拟对象的控制装置的框图;

  图19是本申请一个示例性实施例提供的计算机设备的装置结构示意图。

  具体实施方式

  为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

  首先,对本申请实施例中涉及的名词进行介绍:

  虚拟环境:是应用程序在终端上运行时显示(或提供)的虚拟环境。该虚拟环境可以是对真实世界的仿真环境,也可以是半仿真半虚构的环境,还可以是纯虚构的环境。虚拟环境可以是二维虚拟环境、2.5维虚拟环境和三维虚拟环境中的任意一种,本申请对此不加以限定。下述实施例以虚拟环境是三维虚拟环境来举例说明。

  虚拟对象:是指虚拟环境中的可活动对象。该可活动对象可以是虚拟人物、虚拟动物、动漫人物等,比如:在三维虚拟环境中显示的人物、动物、植物、油桶、墙壁、石块等。可选地,虚拟对象是基于动画骨骼技术创建的三维立体模型。每个虚拟对象在三维虚拟环境中具有自身的形状和体积,占据三维虚拟环境中的一部分空间。虚拟对象泛指虚拟环境中的一个或多个虚拟对象。

  共享虚拟道具:是指在虚拟环境中属于同一支队伍或同一阵营的虚拟对象能够共同使用的虚拟道具,该虚拟道具的所有权属于放置虚拟道具的第二虚拟对象,第二虚拟对象可以对共享虚拟道具进行任意的处理操作(比如,销毁操作、更换放置位置操作),与该虚拟对象属于同一队伍的第一虚拟对象只具有使用权。

  盾牌炮塔:是指在虚拟环境中能够防御枪械类攻击的,且具有一定攻击能力的虚拟道具,盾牌炮塔包括防御部分和攻击部分,其中防御部分包括防弹盾牌,防御部分用于抵御枪械类武器的子弹,还可以防御其他伤害力较低的武器(如闪光弹);攻击部分包括机枪炮塔,攻击部分用于攻击虚拟环境中的其他虚拟对象。拥有盾牌炮塔的虚拟对象可在虚拟环境中放置盾牌炮塔。在本申请实施例中,属于同一支队伍或同一阵营的虚拟对象可共用一个盾牌炮塔,但放置盾牌炮塔的虚拟对象具有更换盾牌炮塔的放置位置和销毁盾牌炮塔的权利。

  第一人称射击游戏(First Person Shooting,FPS):是指用户能够以第一人称视角进行的射击游戏,游戏中的虚拟环境的画面是以第一虚拟对象的视角对虚拟环境进行观察的画面。在游戏中,至少两个虚拟对象在虚拟环境中进行单局对战模式,虚拟对象通过躲避其他虚拟对象发起的攻击和虚拟环境中存在的危险(比如,毒气圈、沼泽地等)来达到在虚拟环境中存活的目的,当虚拟对象在虚拟环境中的生命值为零时,虚拟对象在虚拟环境中的生命结束,最后存活在虚拟环境中的虚拟对象是获胜方。可选地,该对战以第一个客户端加入对战的时刻作为开始时刻,以最后一个客户端退出对战的时刻作为结束时刻,每个客户端可以控制虚拟环境中的一个或多个虚拟对象。可选地,该对战的竞技模式可以包括单人对战模式、双人小组对战模式或者多人大组对战模式,本申请实施例对对战模式不加以限定。

  本申请实施例中的“装备”指的是虚拟对象在参与对战前携带的虚拟道具,虚拟对象可在虚拟环境中使用已装备的虚拟道具。在一些实施例中,虚拟对象参与对战时,每个虚拟对象拥有自己的背包,背包中存在背包格,虚拟对象拥有的虚拟道具均存储在背包格中,虚拟对象将拾取到的虚拟道具放入背包格中。

  本申请中提供的方法可以应用于虚拟现实应用程序、三维地图程序、军事仿真程序、第一人称射击游戏(First Person Shooting Game,FPS)、多人在线战术竞技游戏(Multiplayer Online Battle Arena Games,MOBA)等,下述实施例是以在游戏中的应用来举例说明。

  基于虚拟环境的游戏由一个或多个游戏世界的地图构成,游戏中的虚拟环境模拟真实世界的场景,用户可以操控游戏中的虚拟对象在虚拟环境中进行行走、跑步、跳跃、射击、格斗、驾驶、放置虚拟道具、使用虚拟道具、受到其他虚拟对象的攻击、受到虚拟环境中的伤害、攻击其他虚拟对象等动作,交互性较强,并且多个用户可以在线组队进行竞技游戏。用户通过控制虚拟对象在虚拟环境中使用各类虚拟道具对敌方虚拟对象进行对战,属于同一队伍的虚拟对象之间互相配合直至对战结束,比如,当虚拟对象a受伤,虚拟对象b使用救治类的虚拟道具(虚拟药包)提高虚拟对象a的生命值(或能量值)。

  本申请实施例中通过属于同一队伍的虚拟对象使用共享虚拟道具,简化了虚拟对象之间关于虚拟道具的交互方式,促进虚拟对象之间更好地进行配合。

  在虚拟环境中存在多个虚拟对象,其中包括第一虚拟对象和第二虚拟对象,第一虚拟对象和第二虚拟对象属于同一支队伍,第二虚拟对象装备有共享虚拟道具,第二虚拟对象可在虚拟环境中放置该共享虚拟道具,该共享虚拟道具是指与第一虚拟对象属于同一队伍的虚拟对象可使用的虚拟道具,该共享虚拟道具既具有防御功能,又具有攻击功能。示意性的,共享虚拟道具为盾牌炮塔。

  当第二虚拟对象在虚拟环境中放置共享虚拟道具10时,客户端判定该共享虚拟道具10对应的预放置位置是否能够容纳下该共享虚拟道具10,当预放置位置能够容纳下共享虚拟道具10时,第二虚拟对象将共享虚拟道具10放置在该预放置位置。如图1所示,在共享虚拟道具10的周侧形成对应的方形区域12,该方形区域12用于检测是否有虚拟对象11位于盾牌炮塔附近,且位于盾牌炮塔附近的虚拟对象11是否与第二虚拟对象属于同一支队伍(或同一阵营)。需要说明的是,方形区域12仅为示意,在实际应用中,方形区域12在用户界面隐藏,即用户无法观察到该方形区域12。在另一些实施例中,方形区域12可以是任意形状。

  共享虚拟道具只允许一个虚拟对象操作,且该虚拟对象与放置共享虚拟道具的虚拟对象属于同一支队伍(或同一阵营)。示意性的,当虚拟对象11进入方形区域12时,客户端根据虚拟对象11的标识确定虚拟对象11与第二虚拟对象属于同一支队伍,在虚拟对象11对应的客户端上显示有对应的操作控件。用户可操作虚拟对象11操作共享虚拟道具;或者,客户端根据虚拟对象11的标识确定虚拟对象11与第二虚拟对象不属于同一支队伍,则在虚拟对象11对应的客户端上不显示对应的操作控件。

  响应于共享虚拟道具放置在虚拟环境中的时间超过时间阈值,客户端自动销毁共享虚拟道具;或者,响应于第二虚拟对象对共享虚拟道具执行销毁操作,共享虚拟道具被第二虚拟对象进行销毁;或者,共享虚拟道具本身设置有使用值,该使用值用于表示该共享虚拟道具在虚拟环境中的持续时间,与虚拟对象的生命值类似,响应于共享虚拟道具的使用值降低为零,客户端销毁共享虚拟道具。

  本申请实施例提供的方法通过检测第一虚拟对象是否与第二虚拟对象属于同一队伍,当第一虚拟对象与第二虚拟对象具有队友关系时,用户可控制第一虚拟对象使用第二虚拟对象预先放置在虚拟环境中的共享虚拟道具,简化了第一虚拟对象和第二虚拟对象关于虚拟道具的交互方式。

  图2示出了本申请一个示例性实施例提供的计算机系统的结构框图。该计算机系统100包括:第一终端120、服务器140和第二终端160。

  第一终端120安装和运行有支持虚拟环境的应用程序。该应用程序可以是虚拟现实应用程序、三维地图程序、军事仿真程序、FPS游戏、MOBA游戏、多人枪战类生存游戏、大逃杀类型的射击游戏、虚拟现实(Virtual Reality,VR)应用程序、增强现实(AugmentedReality,AR)程序中的任意一种。第一终端120是第一用户使用的终端,第一用户使用第一终端120控制位于虚拟环境中的第一虚拟对象进行活动,该活动包括但不限于:调整身体姿态、行走、奔跑、跳跃、骑行、瞄准、拾取、放置虚拟道具、攻击其他虚拟对象中的至少一种。示意性的,第一虚拟对象是第一虚拟人物,比如仿真人物对象或动漫人物对象。

  第一终端120通过无线网络或有线网络与服务器140相连。

  服务器140包括一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。示意性的,服务器140包括处理器144和存储器142,存储器142又包括接收模块1421、控制模块1422和发送模块1423,接收模块1421用于接收客户端发送的请求,如匹配请求,该匹配请求用于将多个虚拟对象匹配至同一虚拟环境中;控制模块1422用于控制虚拟环境画面的渲染;发送模块1423用于向客户端发送响应,如向客户端发送提示信息,该提示信息用于提示用户虚拟环境中的情况。服务器140用于为支持三维虚拟环境的应用程序提供后台服务。可选地,服务器140承担主要计算工作,第一终端120和第二终端160承担次要计算工作;或者,服务器140承担次要计算工作,第一终端120和第二终端160承担主要计算工作;或者,服务器140、第一终端120和第二终端160三者之间采用分布式计算架构进行协同计算。

  服务器140可以采用同步技术使得多个客户端之间的画面表现一致。示例性的,服务器140采用的同步技术包括:状态同步技术或帧同步技术。

  状态同步技术

  在基于图2的可选实施例中,服务器140采用状态同步技术与多个客户端之间进行同步。在状态同步技术中,如图3所示,战斗逻辑运行在服务器140中。当虚拟环境中的某个虚拟对象发生状态变化时,由服务器140向所有的客户端,比如客户端1至10,发送状态同步结果。

  在一个示例性的例子中,客户端1向服务器140发送请求,该请求用于请求虚拟对象1放置共享虚拟道具(如盾牌炮塔),则服务器140判断虚拟对象1是否能够进行放置共享虚拟道具的操作,以及当虚拟对象1执行放置共享虚拟道具的操作时,获取虚拟道具放置的位置。然后,服务器140将共享虚拟道具的放置位置发送给所有的客户端,所有的客户端根据虚拟道具的放置位置更新本地数据以及界面表现。

  帧同步技术

  在基于图2的可选实施例中,服务器140采用帧同步技术与多个客户端之间进行同步。在帧同步技术中,如图4所示,战斗逻辑运行在各个客户端中。每个客户端会向服务器发送帧同步请求,该帧同步请求中携带有客户端本地的数据变化。服务器140在接收到某个帧同步请求后,向所有的客户端转发该帧同步请求。每个客户端接收到帧同步请求后,按照本地的战斗逻辑对该帧同步请求进行处理,更新本地数据以及界面表现。

  第二终端160安装和运行有支持虚拟环境的应用程序。该应用程序可以是虚拟现实应用程序、三维地图程序、军事仿真程序、FPS游戏、MOBA游戏、多人枪战类生存游戏、大逃杀类型的射击游戏、虚拟现实(Virtual Reality,VR)应用程序、增强现实(AugmentedReality,AR)程序中的任意一种。第二终端160是第二用户使用的终端,第二用户使用第二终端160控制位于虚拟环境中的第二虚拟对象进行活动,该活动包括但不限于:调整身体姿态、行走、奔跑、跳跃、骑行、瞄准、拾取、放置虚拟道具、攻击其他虚拟对象中的至少一种。示意性的,第二虚拟对象是第二虚拟人物,比如仿真人物对象或动漫人物对象。示意性的,第一虚拟人物对象和第二虚拟人物对象属于同一支队伍。示意性的,第一虚拟人物对象是未装备有盾炮塔的虚拟对象,第二虚拟人物对象是装备有盾牌炮塔的虚拟对象。

  可选地,第一虚拟人物对象和第二虚拟人物对象处于同一虚拟环境中。可选地,第一虚拟人物对象和第二虚拟人物对象可以属于同一个队伍、同一个组织、同一个阵营、具有好友关系或具有临时性的通讯权限。可选地,第一虚拟人物和第二虚拟对象也可以属于不同阵营、不同队伍、不同的组织或具有敌对关系。示意性的,第一虚拟人物对象是未装备有盾牌炮塔的虚拟对象,第二虚拟人物对象是装备有盾牌炮塔的虚拟对象,第一虚拟对象和第二虚拟对象属于同一支队伍,第二虚拟对象在虚拟环境中放置盾牌炮塔,第一虚拟对象可使用该盾牌炮塔。

  可选地,第一终端120和第二终端160上安装的应用程序是相同的,或两个终端上安装的应用程序是不同操作系统平台(安卓或IOS)上的同一类型应用程序。第一终端120可以泛指多个终端中的一个,第二终端160可以泛指多个终端中的一个,本实施例仅以第一终端120和第二终端160来举例说明。第一终端120和第二终端160的设备类型相同或不同,该设备类型包括:智能手机、平板电脑、电子书阅读器、MP3播放器、MP4播放器、膝上型便携计算机和台式计算机中的至少一种。以下实施例以终端包括智能手机来举例说明。

  本领域技术人员可以知晓,上述终端的数量可以更多或更少。比如上述终端可以仅为一个,或者上述终端为几十个或几百个,或者更多数量。本申请实施例对终端的数量和设备类型不加以限定。

  图5示出了本申请一个示例性实施例提供的虚拟对象的控制方法的流程图,该方法可应用于如图2所示的计算机系统100中的第一终端120或第二终端160中或该计算机系统中的其它终端中。该方法包括如下步骤:

  步骤501,显示第一用户界面,第一用户界面中显示有共享虚拟道具,共享虚拟道具是第二虚拟对象放置的虚拟道具。

  用户使用的终端上运行有支持虚拟环境的应用程序,当用户运行该应用程序时,终端的显示屏上对应显示在使用该应用程序时的用户界面,其中包括第一用户界面,第一用户界面上显示有第二虚拟对象放置的共享虚拟道具,该共享虚拟道具放置在虚拟环境中,即显示在第一虚拟环境画面中。虚拟环境画面显示的虚拟环境包括:山川、平地、河流、湖泊、海洋、沙漠、天空、植物、建筑、交通工具中的至少一种元素。

  第一虚拟环境画面是以第一虚拟对象的视角对虚拟环境进行观察得到的画面。

  视角是指以虚拟对象的第一人称视角或者第三人称视角在虚拟环境中进行观察时的观察角度。在本申请的实施例中,以第一人称视角在虚拟环境中通过摄像机模型对虚拟对象进行观察。

  可选地,摄像机模型在虚拟环境中对虚拟对象进行自动跟随,即,当虚拟对象在虚拟环境中的位置发生改变时,摄像机模型跟随虚拟对象在虚拟环境中的位置同时发生改变,且该摄像机模型在虚拟环境中始终处于虚拟对象的预设距离范围内。可选地,在自动跟随过程中,摄像机模型和虚拟对象的相对位置不发生变化。

  摄像机模型是指在虚拟环境中位于虚拟对象周围的三维模型,当采用第一人称视角时,该摄像机模型位于虚拟对象的头部附近或者位于虚拟对象的头部;当采用第三人称视角时,该摄像机模型可以位于虚拟对象的后方并与虚拟对象进行绑定,也可以位于与虚拟对象相距预设距离的任意位置,通过该摄像机模型可以从不同角度对位于虚拟环境中的虚拟对象进行观察,可选地,该第三人称视角为第一人称的过肩视角时,摄像机模型位于虚拟对象(比如,虚拟人物的头肩部)的后方。可选地,除第一人称视角和第三人称视角外,视角还包括其他视角,比如俯视视角;当采用俯视视角时,该摄像机模型可以位于虚拟对象头部的上空,俯视视角是以从空中俯视的角度进行观察虚拟环境的视角。可选地,该摄像机模型在虚拟环境中不会进行实际显示,即,在用户界面显示的虚拟环境中不显示该摄像机模型。

  对该摄像机模型位于与虚拟对象相距预设距离的任意位置为例进行说明,可选地,一个虚拟对象对应一个摄像机模型,该摄像机模型可以以虚拟对象为旋转中心进行旋转,如:以虚拟对象的任意一点为旋转中心对摄像机模型进行旋转,摄像机模型在旋转过程中的不仅在角度上有转动,还在位移上有偏移,旋转时摄像机模型与该旋转中心之间的距离保持不变,即,将摄像机模型在以该旋转中心作为球心的球体表面进行旋转,其中,虚拟对象的任意一点可以是虚拟对象的头部、躯干、或者虚拟对象周围的任意一点,本申请实施例对此不加以限定。可选地,摄像机模型在对虚拟对象进行观察时,该摄像机模型的视角的中心指向为该摄像机模型所在球面的点指向球心的方向。

  可选地,该摄像机模型还可以在虚拟对象的不同方向以预设的角度对虚拟对象进行观察。

  示意性的,请参考图6,在虚拟对象101中确定一点作为旋转中心102,摄像机模型围绕该旋转中心102进行旋转,可选地,该摄像机模型配置有一个初始位置,该初始位置为虚拟对象后上方的位置(比如脑部的后方位置)。示意性的,如图6,该初始位置为位置103,当摄像机模型旋转至位置104或者位置105时,摄像机模型的视角方向随摄像机模型的转动而进行改变。

  本申请实施例以第一虚拟对象采用第一人称视角对虚拟环境进行观察的画面为例进行说明。

  共享虚拟道具是指在虚拟环境中属于同一队伍或同一阵营的虚拟对象共同使用的虚拟道具。共享虚拟道具的所有权属于放置虚拟道具的虚拟对象,共享道具的使用权属于同一队伍中的所有虚拟对象。示意性的,第一虚拟对象与第二虚拟对象属于同一队伍,两者具有队友关系,第二虚拟对象装备了共享虚拟道具1,第二虚拟对象在虚拟环境中放置共享虚拟道具1,第一虚拟对象也可使用共享虚拟道具1;相应地,若第一虚拟对象在虚拟环境中放置共享虚拟道具2,则第二虚拟对象也可使用该共享虚拟道具2。

  在一些实施例中,共享虚拟道具在使用时,仅限一个虚拟对象使用;在另一些实施例中,共享虚拟道具需要至少两个虚拟对象配合使用,此时不限制使用共享虚拟道具的虚拟对象的数量。本申请实施例以仅限一个虚拟对象使用为例进行说明。

  步骤502,响应于第一虚拟对象位于共享虚拟道具的周侧范围且第二虚拟对象与第一虚拟对象具有队友关系,显示第二用户界面,第二用户界面包括共享虚拟道具的操作控件,操作控件用于操作共享虚拟道具。

  共享虚拟道具的周侧范围是指以共享虚拟道具为中心,以预设距离为半径的圆周范围。当第二虚拟对象已在虚拟环境中放置共享虚拟道具时,且第二虚拟对象未对共享虚拟道具进行操作,用户控制第一虚拟对象移动至共享虚拟道具的周侧范围,由于第一虚拟对象与第二虚拟对象属于同一队伍,则在用户使用的客户端上显示有第二用户界面,在第二用户界面上显示有用于操作共享虚拟道具的操作控件。

  步骤503,响应于接收到操作控件上的触发操作,控制第一虚拟对象使用共享虚拟道具。

  当用户使用的终端是具有触摸显示屏的终端时,如智能手机或平板电脑等,触发操作包括如下操作中的至少一种:单击操作、双击操作、长按操作、拖动操作、滑动操作、预设的操作手势以及上述操作的组合。在一些实施例中,操作控件又被命名为控制控件、使用控件等,本申请实施例对控件的名称不加以限定。

  当用户使用的终端是接有外部输入设备的终端时,如台式计算机、笔记本电脑等,触发操作包括用户使用外部输入设备产生的操作,比如用户使用鼠标点击第二用户界面上显示的操作控件。

  当客户端接收到操作控件上的触发操作,控制第一虚拟对象使用共享虚拟道具。示意性的,共享虚拟道具为盾牌炮塔,当用户点击第二用户界面上的操作控件时,第二用户界面上显示第一虚拟对象转动盾牌炮塔的画面,第一虚拟对象利用盾牌炮塔中的盾牌抵御来自敌方虚拟对象的攻击。

  综上所述,本实施例提供的方法,通过第二虚拟对象在虚拟环境中放置的共享虚拟道具,当与第二虚拟对象属于同一队伍的第一虚拟对象位于共享虚拟道具的周侧范围时,用户可通过第二用户界面上的操作控件控制第一虚拟对象使用该共享虚拟道具。无需第一虚拟对象装备该共享虚拟道具,也无需第二虚拟对象将共享虚拟道具丢弃至虚拟环境中,第一虚拟对象也能够使用共享虚拟道具,简化了虚拟对象之间关于虚拟道具的交互方式,使得同一队伍的虚拟对象使用虚拟道具的方式更加灵活。

  图7示出了本申请另一个示例性实施例提供的虚拟对象的控制方法的流程图。该方法可应用于如图2所示的计算机系统100中的第一终端120或第二终端160中或该计算机系统中的其它终端中。该方法包括如下步骤:

  步骤701,显示第一用户界面,第一用户界面中显示有共享虚拟道具,共享虚拟道具是第二虚拟对象放置的虚拟道具。

  如图8所示,在第一用户界面30上显示有第一虚拟环境画面,在第一虚拟环境画面上显示有共享虚拟道具10,其中第一虚拟环境画面是以第一虚拟对象的视角对虚拟环境进行观察得到的画面,在第一虚拟环境画面中还包括虚拟环境元素33(建筑楼梯)。共享虚拟道具10是第二虚拟对象已放置好的虚拟道具。由于第二虚拟对象和第一虚拟对象属于同一队伍,第一虚拟对象也能使用共享虚拟道具10。示意性的,该共享虚拟道具10为盾牌炮塔,该盾牌炮塔呈处于未使用状态,盾牌部分和炮塔部分均处于关闭状态。

  步骤702,响应于第一虚拟对象位于检测区域内,检测第一虚拟对象与第二虚拟对象是否具有队友关系。

  在一些实施例中,共享虚拟道具对应有检测区域,该检测区域用于检测靠近共享虚拟道具的虚拟对象与放置共享虚拟道具的虚拟对象之间的关系。如图1所示,当虚拟对象11靠近共享虚拟道具10时,检测区域12检测虚拟对象11与放置共享虚拟道具10的虚拟对象之间的关系。

  在一些实施例中,检测区域12是矩形的,位于面向虚拟对象11使用的一侧。比如,共享虚拟道具10是盾牌炮塔,当虚拟对象11使用盾牌炮塔时,虚拟对象11位于盾牌的后方,避免自身受到攻击,则检测区域12位于盾牌的后方对应的区域。

  在另一些实施例中,检测区域12是以共享虚拟道具10为圆心,以预设距离为半径的圆形区域。比如,共享虚拟道具10是防护罩(半球形),虚拟对象11进入防护罩对应在地面上的区域(圆形区域)即可避免受到伤害,则检测区域12与防护罩对应在地面上的区域形状一致。

  需要说明的是,检测区域12是在用户界面上隐藏的区域,即用户无法在用户界面上看到检测区域12。

  对如何利用检测区域检测虚拟对象之间是否具有队友关系进行说明。

  在一些实施例中,共享虚拟道具对应有碰撞盒,碰撞盒与检测区域对应。步骤702可替换为如下步骤:

  步骤7021,响应于第一虚拟对象的三维模型与碰撞盒的触发器交互,产生第一触发信息,第一触发信息包括第一虚拟对象进入检测区域内。

  碰撞盒(Box Collider)是指在目标区域上设置的用户界面上不可见的虚拟模型,示意性的,碰撞盒的形状模拟目标区域的边界,碰撞盒的形状、大小越贴近目标区域的范围,碰撞盒的检测结果越真实。示意性的,为了便于计算,碰撞盒的形状是规则的、利于计算的形状,或是多个规则的、利于计算的形状的组合,例如:长方体、立方体、圆柱体、球体、锥体以及它们的组合。碰撞盒用于检测虚拟环境中的三维模型(如虚拟对象或虚拟环境元素)与碰撞盒产生的碰撞。当碰撞和与三维模型发生碰撞时,碰撞盒获取该三维模型的信息(如三维模型对应的物体信息或虚拟对象信息)、碰撞点、撞击方向、反弹方向等。通过检测碰撞盒与三维模型是否产生交集判断碰撞盒与三维模型是否发生碰撞。

  以共享虚拟道具10为盾牌炮塔为例进行说明,如图9所示,客户端首先获取盾牌炮塔的中心点35的位置(centerPos)。以该中心点为长方体的质心点,生成一个预先配置好长、宽、高(m_BoxHalfExtents)长方体,该长方体即为碰撞盒。

  碰撞盒是触发器(IsTrigger)的载体,触发器是碰撞盒的一个属性。触发器检测用于既要检测到物体的接触又不想让碰撞检测影响物体移动的情况,或者,用于检测一个物体是否经过空间中的某个区域的情况。比如,利用碰撞盒模拟乒乓球掉在地上又弹起时的运动状态;利用触发器模拟人靠近门的位置时,门会自动打开的状态。

  示意性的,以中心点35为碰撞盒的中心,生成一个盾牌炮塔实际大小两倍的碰撞盒,且设置碰撞盒的触发器属性为真(True),也即关闭碰撞盒检测,利用触发器检测用户是否靠近盾牌炮塔。

  当第一虚拟对象的三维模型34与共享虚拟道具10的碰撞盒的触发器交互时,产生第一触发信息,客户端根据该第一触发信息确定第一虚拟对象进入检测区域12。

  步骤7022,根据第一触发信息确定第一虚拟对象的标识。

  客户端根据第一触发信息确定进入检测区域12的虚拟对象的标识,根据该标识确定进入检测区域的虚拟对象是第一虚拟对象。

  步骤7023,响应于第一虚拟对象的标识与第二虚拟对象的标识属于同一队伍,确定第一虚拟对象与第二虚拟对象具有队友关系。

  示意性的,客户端预先配置有参与对战的队伍列表,该队列表包括参与对战的所有虚拟对象的信息,如虚拟对象的标识、虚拟对象的等级、虚拟对象装备的虚拟道具的道具标识等信息。客户端根据第一虚拟对象的标识确定第一虚拟对象所在的队伍以及第一虚拟对象的队友,示意性的,第一虚拟对象的标识属于队伍k,第二虚拟对象的标识也属于队伍k,则客户端确定第一虚拟对象和第二虚拟对象具有队友关系。

  步骤703,响应于第一虚拟对象与第二虚拟对象具有队友关系,显示第二用户界面。

  当客户端确定第一虚拟对象与放置共享虚拟道具的第二虚拟对象是队友,则在第二用户界面上显示有共享虚拟道具的操作控件。如图10的(a)所示,在第二用户界面上显示有共享虚拟道具10以及用于操作共享虚拟道具的操作控件36。

  在一些实施例中,若靠近共享虚拟道具10的是第二虚拟对象(即放置共享虚拟道具的虚拟对象),则在第二虚拟对象对应的客户端上显示的第二用户界面如图10的(b)所示。在第二用户界面40上显示有共享虚拟道具10、操作控件36和拿起控件37。与第一虚拟对象对应的客户端显示的第二用户界面不同的是,由于第二虚拟对象是放置共享虚拟道具10的虚拟对象,即共享虚拟道具10的拥有者,因此第二虚拟对象具有将共享虚拟道具10从虚拟环境中“拿起”的权限,在第二用户界面40上显示拿起控件37。在另一些实施例中,拿起控件37又被命名为拾取控件,本申请实施例对控件的名称不加以限定。

  可以理解的是,第二用户界面40包括的虚拟环境画面是以第二虚拟对象的视角对虚拟环境进行观察得到的画面。

  步骤704,响应于接收到操作控件上的触发操作,控制第一虚拟对象使用共享虚拟道具。

  示意性的,用户点击操作控件36,客户端控制第二虚拟对象操作共享虚拟道具10。比如,共享虚拟道具10为盾牌炮塔,用户点击操作控件36后,盾牌炮塔的盾牌展开,炮塔直立。盾牌炮塔处于使用状态。

  示意性的,当用户点击操作控件36后,显示如图11所示的用户界面41,在用户界面41中显示有共享虚拟道具10,此时,共享虚拟道具10呈使用状态。在用户界面41上还显示有开火控件42和瞄准控件43。以共享虚拟道具10为盾牌炮塔,当用户点击开火控件42时,客户端控制盾牌炮塔中的炮塔进行射击,在用户界面41上显示第一虚拟对象握住盾牌炮塔的控制手柄的画面。即第一虚拟对象正在使用共享虚拟道具。用户点击离开控件44可控制第一虚拟对象主动离开共享虚拟道具10,离开后不会该共享虚拟道具10不会失效。

  综上所述,本实施例提供的方法,通过在共享虚拟道具的周侧范围设置检测区域,当第一虚拟对象位于检测区域内时,显示用于操作共享虚拟道具的用户界面,使得第一虚拟对象可直接对共享虚拟道具进行操作,无需第一虚拟对象装备该共享虚拟道具,也无需第二虚拟对象将共享虚拟道具丢弃至虚拟环境中,第一虚拟对象也能够使用共享虚拟道具,简化了虚拟对象之间关于虚拟道具的交互方式,使得同一队伍的虚拟对象使用虚拟道具的方式更加灵活。

  通过对共享虚拟道具设置与检测区域对应的碰撞盒,当第一虚拟对象的三维模型与碰撞盒的触发器交互时,客户端能够检测到第一虚拟对象与第二虚拟对象的关系,当第一虚拟对象与第二虚拟对象是队友时,显示用于操作共享虚拟道具的用户界面,使得第一虚拟对象可直接对共享虚拟道具进行操作,简化了虚拟对象之间关于虚拟道具的交互方式,使得同一队伍的虚拟对象使用虚拟道具的方式更加灵活。

  基于图7可选实施例中,在第一虚拟对象操作共享虚拟道具之前,第二虚拟对象需要先放置共享虚拟道具,且共享虚拟道具处于未被操作的状态,第一虚拟对象才能对共享虚拟道具进行操作,下面对第二虚拟对象放置共享虚拟道具的过程以及共享虚拟道具处于未操作状态进行说明。

  图12示出了本申请另一个实施性实施例提供的虚拟对象的控制方法,该方法可应用于如图2所示的计算机系统100中的第一终端120或第二终端160中或该计算机系统中的其它终端中。该方法包括如下步骤:

  1、第二虚拟对象放置共享虚拟道具。

  步骤710,显示第三用户界面,第三用户界面包括第二虚拟环境画面和共享虚拟道具的放置控件,第二虚拟环境画面是以第二虚拟对象的视角观察得到的。

  如图13所示,在第三用户界面50上显示有第二虚拟环境画面和共享虚拟道具的放置控件51。示意性的,放置控件51以高亮或闪烁的形式显示在第三用户界面50上,以提示用户可控制第二虚拟对象放置共享虚拟道具。

  步骤720,响应于接收到放置控件上的放置操作,获取共享虚拟道具在虚拟环境中的预放置位置。

  示意性的,当用户点击放置控件50后,客户端获取共享虚拟道具的预放置位置。

  预放置位置是指共享虚拟道具在虚拟环境中预先计划可能放置的位置。示意性的,共享虚拟道具为盾牌炮塔,当用户未确定盾牌炮塔的放置位置时,以蓝色贴图覆盖在盾牌炮塔上的形式提示用户盾牌炮塔的放置位置还未确定,且盾牌炮塔可放置在用户当前所选的位置。或者,以绿色贴图覆盖在盾牌炮塔上的形式提示用户盾牌炮塔的放置位置还未确定,且盾牌炮塔可放置在用户当前所选的位置。本申请实施例对贴图的颜色不加以限定。

  响应于共享虚拟道具不满足放置条件,显示第五用户界面,第五用户界面包括提示信息,提示信息用于提示共享虚拟道具不能被放置。

  如图14所示,当用户选择的位置不适宜放置共享虚拟道具时,比如,用户将共享虚拟道具10放置在楼梯上,此时,以红色贴图覆盖在盾牌炮塔上的形式提示用户盾牌炮塔的禁止放置在用户当前所选的位置。在一些实施例中,还通过在用户界面上显示提示信息53,该提示信息53为:不能放置在此处。本申请实施例不限制提示信息的具体内容。

  步骤730,响应于预放置位置满足放置条件,显示第四用户界面,第四用户界面包括已放置的共享虚拟道具和共享虚拟道具的对应的控件标识。

  放置条件包括如下条件中的至少一种:

  1)虚拟环境中的地形属于平坦地形;

  比如,平坦的草地上,或者平坦的屋顶上,或者平坦的山坡上等地形。

  2)共享虚拟道具所占的区域面积小于放置位置的区域面积;

  比如,共享虚拟道具所占的区域面积为10(虚拟环境中的单位),放置位置对应的区域为20(虚拟环境中的单位)。

  3)共享虚拟道具对应的放置区域内无虚拟环境元素。

  比如,图14所示的共享虚拟道具放置的区域,共享虚拟道具10放置的区域存在“楼梯”这一虚拟环境元素,所以,该放置区域不满足放置条件。

  当共享虚拟道具的放置位置满足放置条件,在用户界面上显示已放置的共享虚拟道具10和共享虚拟道具的标识32,如图8所示。

  2、共享虚拟道具处于未操作状态。

  步骤740,响应于第二虚拟对象不在检测区域内,将共享虚拟道具的状态切换为未被操作的状态。

  上述步骤740可替换为如下步骤:

  步骤7401,响应于第二虚拟对象的是三维模型与碰撞盒的触发器交互,产生第二触发信息,第二触发信息包括第二虚拟对象退出检测区域。

  同理于检测第一虚拟对象与第二虚拟对象之间是否具有队友关系,利用碰撞盒的触发器与第二虚拟对象的三维模型交互后产生的触发信息,确定第二虚拟对象退出了共享虚拟道具对应的检测区域。

  步骤7402,根据第二触发信息确定共享虚拟道具处于未被操作的状态。

  当第二虚拟对象退出检测区域后,客户端确定共享虚拟道具处于未被操作的状态,也即无虚拟对象操作该共享虚拟道具。

  可以理解的是,利用碰撞盒的触发器可检测任意进入或离开检测区域的虚拟对象。比如,共享虚拟道具是由虚拟对象a放置的,当虚拟对象a退出共享虚拟道具的检测区域时,产生触发信息1,客户端根据触发信息1确定共享虚拟道具处于未被操作的状态;当虚拟对象b进入共享虚拟道具的检测区域时,产生触发信息2,客户端根据触发信息2确定共享虚拟道具处于被虚拟对象b操作的状态;当虚拟对象b退出共享虚拟道具的检测区域时,产生触发信息3,客户端根据触发信息3确定共享虚拟道具处于未被操作的状态;当虚拟对象c进入共享虚拟道具的检测区域时,产生触发信息4,客户端根据触发信息4确定共享虚拟道具处于被虚拟对象c操作的状态。以此类推,也即某个虚拟对象在操作共享虚拟道具时,在该虚拟对象前一位操作共享虚拟道具的虚拟对象可以是同一队伍中的任意虚拟对象。

  综上所述,本实施例提供的方法,当第二虚拟对象放置共享虚拟道具的预放置位置满足放置条件时,显示用于控制共享虚拟道具的用户界面。使得第二虚拟对象能够明确共享虚拟道具的放置位置,从而在合适的位置放置共享虚拟道具。

  通过设置多种放置条件可以满足不同情况下共享虚拟道具的放置操作,使得用户能够控制第二虚拟对象根据虚拟环境中的实际情况放置共享虚拟道具。

  当共享虚拟道具不满足放置条件时,通过在用户界面上显示提示信息来提示用户控制第二虚拟对象更换放置位置,使得用户能够第一时间更换放置位置,提高了对共享虚拟道具的操作效率。

  基于图7的可选实施例中,共享虚拟道具是可以被销毁的,共享虚拟道具的销毁方式包括如下方式中的至少一种:

  1、在满足一定条件时,客户端自动销毁共享虚拟道具。

  响应于共享虚拟道具的放置时间超过时间阈值,将共享虚拟道具切换为失效状态。

  示意性的,时间阈值为2分钟,从共享虚拟道具被放置在虚拟环境中的那一刻起开始计时,当放置时间超过2分钟时,客户端将共享虚拟道具切换为失效状态。

  响应于共享虚拟道具的使用值减少至零时,将共享虚拟道具切换为失效状态。

  使用值用于表征共享虚拟道具在虚拟环境中的持续时长,在一些实施例中,使用值也被命名为血条。共享虚拟道具的使用值与虚拟对象的生命值类似,当共享虚拟道具受到攻击时,使用值会根据攻击方式进行不同程度的降低。当使用值降低至零时,共享虚拟道具失效,虚拟对象无法操作共享虚拟道具。

  2、通过放置共享虚拟道具的虚拟对象进行销毁操作来销毁共享虚拟道具。

  响应于共享虚拟道具接收到失效操作,将共享虚拟道具切换为失效状态,失效操作是第二虚拟对象产生的。

  比如,在用户界面上显示有销毁控件(或失效控件等),用户点击销毁控件后,客户端将共享虚拟道具切换为失效状态。

  可以理解的是,上述方式可分别单独实施,或两两任意组合实施,或全部组合实施。

  示意性的,共享虚拟道具为盾牌炮塔,当盾牌炮塔被销毁时,播放关于销毁时的动画,比如,炮塔的枪管先下坠,然后整个盾牌炮塔发生爆炸。

  基于图7的可选实施例中,当存在敌方虚拟对象靠近共享虚拟道具时,虚拟对象的控制方法还包括如下步骤:

  步骤810,响应于第三虚拟对象位于共享虚拟道具的周侧范围且第三虚拟对象与第二虚拟对象具有敌对关系,控制共享虚拟道具降低第三虚拟对象的生命值。

  在一些实施例中,步骤810在步骤701执行后执行;在另一些实施例中,步骤810在步骤730执行后执行,即在第二虚拟对象放置共享虚拟道具后执行。

  响应于第三虚拟对象位于共享虚拟道具对应的检测区域内,检测第三虚拟对象与第二虚拟对象的关系,响应于第三虚拟对象与第二虚拟对象具有敌对关系,控制共享虚拟道具降低第三虚拟对象的生命值。

  同理,检测第三虚拟对象与第一虚拟对象的敌对关系也是通过碰撞盒的触发器检测的。

  响应于第三虚拟对象的是三维模型碰撞盒的触发器交互,产生第三触发信息,第三触发信息包括第三虚拟对象进入检测区域内;根据第三触发信息确定第三虚拟对象的标识;响应于第三虚拟对象的标识与第二虚拟对象的标识属于不同的队伍,确定第三虚拟对象与第二虚拟对象具有敌对关系。

  当第三虚拟对象与第二虚拟对象具有敌对关系时,客户端控制共享虚拟道具攻击第三虚拟对象。在一些实施例中,当共享虚拟道具未被任何虚拟对象操作时,客户端自动控制共享虚拟道具攻击第三虚拟对象,并根据第三虚拟对象的移动轨迹,对第三虚拟对象进行追踪攻击。在另一些实施例中,当共享虚拟道具被第二虚拟对象或者与第二虚拟对象属于同一队伍的其他虚拟对操控时,向操控共享虚拟道具的虚拟对象对应的客户端发送消息,该消息用于提示该虚拟对象是否自动攻击第三虚拟对象,若该虚拟对象选择自动攻击第三虚拟对象,则客户端控制共享虚拟道具自动攻击第三虚拟对象。比如,在客户端上显示有消息“是否自动攻击?”当用户选择了“是”,客户端控制共享虚拟道具自动攻击第三虚拟对象,当用户选择了“否”,用户通过手动操作控制虚拟对象使用共享虚拟对象攻击第三虚拟对象。

  步骤820,响应于第三虚拟对象的生命值减少为零,将第三虚拟对象装备的虚拟道具转换为与虚拟道具对应的共享虚拟道具。

  第三虚拟对象被共享虚拟道具攻击后,第三虚拟对象的生命值会不断下降,生命值用于表示虚拟对象在虚拟环境中的存活时长。当第三虚拟对象的生命值减少为零时,第三虚拟对象结束在虚拟环境中的生命,且在虚拟环境中掉落第三虚拟对象装备的虚拟道具,客户端将第三虚拟对象装备的虚拟道具转化为对应的共享虚拟道具。示意性的,第三虚拟对象在虚拟环境中掉落的虚拟道具包括手枪、匕首、狙击枪,客户端将手枪转换为共享手枪,将匕首转换为共享匕首,将狙击枪转换为共享狙击枪,上述转换后的共享虚拟道具的所有权归第二虚拟对象,控制第二虚拟对象的用户可选择是否在虚拟环境中放置新获得的共享虚拟道具。若用户选择放置新获得的共享虚拟道具,则利用上述实施例中提供的方法选择放置新获得的共享虚拟道具的放置位置并放置;若用户选择不放置新获得的共享虚拟道具,则该新获得的共享虚拟道具将装备在第二虚拟对象的背包格中。

  在一些实施例中,客户端将第三虚拟对象掉落的部分共享虚拟道具转换为共享虚拟道具,或者根据虚拟道具的伤害值降序排列,优先转换伤害值较高的部分虚拟道具。

  综上所述,当客户端检测到敌方虚拟对象靠近共享虚拟道具时,通过攻击敌方虚拟对象获得更多类型的共享虚拟道具,加剧了对战的激烈程度,提高了共享虚拟道具的获取效率。

  在一些实施例中,共享虚拟道具包括防御类型的虚拟道具,比如,半球形的防护罩,可容纳同一队伍的多个虚拟对象,减缓同一队伍的虚拟对象的生命值的下降速度。放置防护罩的虚拟对象可将防护罩收回,全队中的所有虚拟对象可将防护罩移动位置。

  在另一些实施例中,共享虚拟道具还包括攻击类型的虚拟道具,比如,重型机枪或炮弹等,放置虚拟道具的虚拟对象可将虚拟道具收回,或者更换虚拟道具的放置位置,全队中的所有虚拟对象可使用虚拟道具。

  结合游戏以及共享虚拟道具为盾牌炮塔为例,对本申请实施例提供的虚拟对象的控制方法进行说明。图15示出了本申请一个示例性实施例提供的基于游戏的虚拟对象的控制方法的流程图。该方法可应用于如图2所示的计算机系统100中的第一终端120或第二终端160中或该计算机系统中的其它终端中。该方法包括如下步骤:

  步骤1501,开始。

  以终端是智能手机为例,用户进入游戏应用程序,智能手机显示游戏应用程序对应的用户界面。

  步骤1502,连杀奖励分是否达到300分。

  在一些实施例中,用户需要在对局开始之前选择对局时使用的奖励,该奖励用于为用户控制的虚拟对象装备相应的虚拟道具。连杀奖励是指虚拟对象在虚拟环境中连续击杀多个虚拟对象,每击杀一个虚拟对象就会获得一定的积分。如图16所示,在用户大厅界面上显示有连杀技能控件61,用户点击连杀技能控件61后,显示连杀奖励列表,点击想要选择的装备即可在对局的过程中使用。

  示意性的,若连杀奖励的积分达到300分时,虚拟对象可装备盾牌炮塔;若连杀奖励积分未达到300分,则进入步骤1503。

  示意性的,如图13所示,在用户界面50上显示有进度条52,进度条52用于表示连杀积分的累计程度,当连杀奖励的积分达到300分,控件51会以高亮的方式提示用户可为虚拟对象装备盾牌炮塔。

  在另一些实施例中,连杀奖励也可替换为其他条件,比如,击杀虚拟对象的数量大于5人,或救治队友的次数达到5次等等。本申请实施例对此不加以限定。

  步骤1503,无法装备盾牌炮塔。

  若连杀奖励积分未达到300分,虚拟对象无法装备盾牌炮塔。

  步骤1504,盾牌炮塔的预放置位置是否合适。

  游戏应用程序判断虚拟环境中是否有三维模型的碰撞盒与盾牌炮塔的碰撞盒产生交互,若存在交互,则盾牌炮塔的预放置位置不合理,盾牌炮塔不能被释放,若不存在交互,则盾牌炮塔的预放置位置合理,盾牌炮塔可被放置在该位置。示意性的,放置位置的调用接口如下:

  bool find=Physics.CheckBox(centerPos,m_BoxHalfExtents,m_Owner.Rotation,layerMask);

  其中,bool find表示布尔函数,Physics.CheckBox表示碰撞盒的物理碰撞检测,centerPos表示三维模型的中心点,m_BoxHalfExtents表示碰撞盒的长宽高参数,m_Owner.Rotation碰撞盒的旋转角度,layerMask表示只选定layerMask层内的触发器。

  若预放置位置合适,进入步骤1506;若预放置位置不合适,进入步骤1505。

  步骤1505,提示用户更换放置位置。

  步骤1506,放置盾牌炮塔。

  步骤1507,虚拟对象是否靠近盾牌炮塔。

  若虚拟对象靠近盾牌炮塔,进入步骤1509;若虚拟对象未靠近盾牌炮塔,进入步骤1508。

  步骤1508,无变化。

  步骤1509,盾牌炮塔是否处于无人控制状态。

  若盾牌炮塔处于无人控制状态,进入步骤1511;若盾牌炮塔处于有人控制状态,进入步骤1510。

  步骤1510,无变化。

  步骤1511,是否与放置盾牌炮塔的虚拟对象属于同阵营。

  若靠近盾牌炮塔的虚拟对象与放置盾牌炮塔的虚拟对象属于同阵营,进入步骤1513;若靠近盾牌炮塔的虚拟对象与放置盾牌炮塔的虚拟对象属于不同阵营,进入步骤1512。

  步骤1512,无变化。

  步骤1513,显示操作按钮。

  当靠近盾牌炮塔的虚拟对象与放置盾牌炮塔的虚拟对象属于同阵营时,显示用于操控盾牌炮塔的按钮。

  步骤1514,是否为放置盾牌炮塔的虚拟对象。

  若靠近盾牌炮塔的虚拟对象是放置盾牌炮塔的虚拟对象,进入步骤1516;若靠近盾牌炮塔的虚拟对象不是放置盾牌炮塔的虚拟对象,进入步骤1515。

  步骤1515,只显示操作按钮。

  与放置共享虚拟道具的虚拟对象为队友的虚拟对象只能对盾牌炮塔进行操作,比如,转动盾牌炮塔、使用炮塔攻击其他虚拟对象等。示意性的,虚拟对象在操作盾牌炮塔时,用户界面上包括开火按钮、瞄准按钮和离开按钮。当虚拟对象操作盾牌炮塔时,如图17所示,盾牌炮塔的盾牌63展开,用于抵御攻击;当用户点击瞄准按钮时,与虚拟对象绑定的摄像机模型将镜头拉近,通过缩放视场角(Field of View,FOV)的方式显示盾牌炮塔,用户通过瞄准区域62瞄准目标。

  步骤1516,显示拾取按钮。

  放置共享虚拟道具的虚拟对象能够对共享虚拟道具进行拾取操作。即将已放置的共享虚拟道具“拿起”放到另一位置。

  步骤1517,盾牌炮塔生命周期是否结束。

  当用户控制虚拟对象正在操作盾牌炮塔时,若盾牌炮塔失效,该虚拟对象远离盾牌炮塔,且将虚拟对象使用的虚拟道具切换为最近一次使用的虚拟道具。比如,虚拟对象本次使用的是手枪,然后,虚拟对象对盾牌炮塔进行操作,盾牌炮塔在虚拟对象操作时被销毁,虚拟对象使用的虚拟道具切换回手枪。

  步骤1518,盾牌炮塔继续使用。

  步骤1519,销毁盾牌炮塔。

  上述步骤1502至步骤1519在一局游戏中可重复实施,直到一局游戏结束。

  上述实施例中的“无变化”是指用户的界面显示不发生变化。示意性的,在游戏的进行过程中,当虚拟对象执行对应的动作时,客户端播放与动作对应的语音,比如,盾牌炮塔可使用时的语音:“盾牌炮塔已准备”、“Shield Turret isready!”;放置盾牌炮塔:“盾牌炮塔部署完毕”、“Shield Turret deployed!”;己方使用盾牌炮塔语音:“我方盾牌炮塔部署完毕”、“Friendly Shield Turret deployed!”;敌方使用盾牌炮塔语音:“敌方盾牌炮塔部署完毕”“Enemies’Shield Turret deployed!”等。

  综上所述,本实施例提供的方法,通过虚拟对象在虚拟环境中放置的共享虚拟道具,属于同一队伍的虚拟对象位于共享虚拟道具的周侧范围时,用户可通过用户界面上的操作控件控制虚拟对象使用该共享虚拟道具。简化了虚拟对象之间关于虚拟道具的交互方式,使得同一队伍的虚拟对象使用虚拟道具的方式更加灵活。

  上述实施例是基于游戏的应用场景对上述方法进行描述,下面以军事仿真的应用场景对上述方法进行示例性说明。

  仿真技术是应用软件和硬件通过模拟真实世界的实验,反映系统行为或过程的模型技术。

  军事仿真程序是利用仿真技术针对军事应用专门构建的程序,对海、陆、空等作战元素、武器装备性能以及作战行动等进行量化分析,进而精确模拟战场环境,呈现战场态势,实现作战体系的评估和决策的辅助。

  在一个示例中,士兵在军事仿真程序所在的终端建立一个虚拟的战场,并以组队的形式进行对战。士兵控制战场虚拟环境中的虚拟对象在战场虚拟环境下进行站立、蹲下、坐下、仰卧、俯卧、侧卧、行走、奔跑、攀爬、驾驶、射击、投掷、攻击、受伤、侦查、近身格斗等动作中的至少一种操作。战场虚拟环境包括:平地、山川、高原、盆地、沙漠、河流、湖泊、海洋、植被中的至少一种自然形态,以及建筑物、交通工具、废墟、训练场等地点形态。虚拟对象包括:虚拟人物、虚拟动物、动漫人物等,每个虚拟对象在三维虚拟环境中具有自身的形状和体积,占据三维虚拟环境中的一部分空间。

  基于上述情况,在一个示例中,在虚拟战场包括两队士兵进行对战,分别为第一队伍和第二队伍,其中第一队伍包括士兵A控制的虚拟对象a和士兵B控制的虚拟对象b,第二队伍包括士兵C控制的虚拟对象c和士兵D控制的虚拟对象d。

  示意性的,虚拟对象a在虚拟环境中放置共享虚拟道具1,当虚拟对象a未操作共享虚拟道具1时,虚拟对象b可对共享虚拟道具1,虚拟对象a还可对共享虚拟道具1的放置位置进行更换。但虚拟对象c和虚拟对象d不可对共享虚拟道具1进行操作。当共享虚拟道具1的使用值降低为零时,共享虚拟道具切换为失效状态。

  示意性的,虚拟对象c在虚拟环境中放置共享虚拟道具2,共享虚拟道具2与共享虚拟道具1属于不同类型的虚拟道具,当虚拟对象c未操作共享虚拟道具2时,虚拟对象d可对共享虚拟道具2进行操作,虚拟对象c还可对共享虚拟道具2的放置位置进行更换。虚拟对象c对共享虚拟道具2进行失效操作,共享虚拟道具2切换为失效状态。

  综上所述,在本实施例中,将上述虚拟对象的控制方法应用在军事仿真程序中,同一队伍的士兵可使用共享虚拟道具,提高了士兵之间的配合程度,对实战现场进行了更为真实的仿真,使得士兵得到更好的训练。

  以下为本申请的装置实施例,对于装置实施例中未详细描述的细节,可以结合参考上述方法实施例中相应的记载,本文不再赘述。

  图18示出了本申请的一个示例性实施例提供的虚拟对象的控制装置的结构示意图。该装置可以通过软件、硬件或者两者的结合实现成为终端的全部或一部分,该装置包括:

  显示模块1810,用于显示第一用户界面,第一用户界面中显示有共享虚拟道具,共享虚拟道具是第二虚拟对象放置的虚拟道具;

  所述显示模块1810,用于响应于第一虚拟对象位于共享虚拟道具的周侧范围且第二虚拟对象与第一虚拟对象具有队友关系,显示第二用户界面,第二用户界面包括共享虚拟道具的操作控件,操作控件用于操作共享虚拟道具;

  控制模块1820,用于响应于接收到操作控件上的触发操作,控制第一虚拟对象使用共享虚拟道具。

  在一个可选的实施例中,共享虚拟道具对应有检测区域;

  所述显示模块1810,用于响应于第一虚拟对象位于检测区域内,检测第一虚拟对象与第二虚拟对象是否具有队友关系;响应于第一虚拟对象与第二虚拟对象具有队友关系,显示第二用户界面。

  在一个可选的实施例中,共享虚拟道具对应有碰撞盒,碰撞盒与检测区域对应;该装置包括处理模块1830;

  所述处理模块1830,用于响应于第一虚拟对象的三维模型与碰撞盒的触发器交互,产生第一触发信息,第一触发信息包括第一虚拟对象进入检测区域内;根据第一触发信息确定第一虚拟对象的标识;响应于第一虚拟对象的标识与第二虚拟对象的标识属于同一队伍,确定第一虚拟对象与第二虚拟对象具有队友关系。

  在一个可选的实施例中,所述处理模块1830,用于响应于第二虚拟对象不在检测区域内,将共享虚拟道具的状态切换为未被操作的状态。

  在一个可选的实施例中,所述处理模块1830,用于响应于第二虚拟对象的三维模型与碰撞盒的触发器交互,产生第二触发信息,第二触发信息包第二虚拟对象退出检测区域;根据第二触发信息确定共享虚拟道具处于未被操作的状态。

  在一个可选的实施例中,所述显示模块1810,用于显示第三用户界面,第三用户界面包括第二虚拟环境画面和共享虚拟道具的放置控件,第二虚拟环境画面是以第二虚拟对象的视角观察得到的;响应于接收到放置控件上的放置操作,获取共享虚拟道具在虚拟环境中的预放置位置;响应于预放置位置满足放置条件,显示第四用户界面,第四用户界面包括已放置的共享虚拟道具和共享虚拟道具对应的控件标识。

  在一个可选的实施例中,放置条件包括如下条件中的至少一种:虚拟环境中的地形属于平坦地形;共享虚拟道具所占的区域面积小于放置位置的区域面积;共享虚拟道具对应的放置区域内无虚拟环境元素。

  在一个可选的实施例中,所述显示模块1810,用于响应于共享虚拟道具不满足放置条件,显示第五用户界面,第五用户界面包括提示信息,提示信息用于提示共享虚拟道具不能被放置。

  在一个可选的实施例中,所述处理模块1830,用于响应于共享虚拟道具的放置时间超过时间阈值,将共享虚拟道具切换为失效状态;或,响应于共享虚拟道具接收到失效操作,将共享虚拟道具切换为失效状态,失效操作是第二虚拟对象产生的;或,响应于共享虚拟道具的使用值减少至零时,将共享虚拟道具切换为失效状态,使用值用于表征共享虚拟道具在虚拟环境中的持续时长。

  请参考图19,其示出了本申请一个示例性实施例提供的计算机设备1900的结构框图。该计算机设备1900可以是便携式移动终端,比如:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器。计算机设备1900还可能被称为用户设备、便携式终端等其他名称。

  通常,计算机设备1900包括有:处理器1901和存储器1902。

  处理器1901可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1901可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1901也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1901可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1901还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。

  存储器1902可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是有形的和非暂态的。存储器1902还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1902中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1901所执行以实现本申请实施例中提供的虚拟对象的控制方法。

  在一些实施例中,计算机设备1900还可选包括有:外围设备接口1903和至少一个外围设备。具体地,外围设备包括:射频电路1904、触摸显示屏1905、摄像头1906、音频电路1907、定位组件1908和电源1909中的至少一种。

  外围设备接口1903可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1901和存储器1902。在一些实施例中,处理器1901、存储器1902和外围设备接口1903被集成在同一芯片或电路板上;在一些其他实施例中,处理器1901、存储器1902和外围设备接口1903中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。

  射频电路1904用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1904通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1904将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1904包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等。射频电路1904可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1904还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。

  触摸显示屏1905用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。触摸显示屏1905还具有采集在触摸显示屏1905的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1901进行处理。触摸显示屏1905用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,触摸显示屏1905可以为一个,设置计算机设备1900的前面板;在另一些实施例中,触摸显示屏1905可以为至少两个,分别设置在计算机设备1900的不同表面或呈折叠设计;在再一些实施例中,触摸显示屏1905可以是柔性显示屏,设置在计算机设备1900的弯曲表面上或折叠面上。甚至,触摸显示屏1905还可以设置成非矩形的不规则图形,也即异形屏。触摸显示屏1905可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(OrganicLight-Emitting Diode,有机发光二极管)等材质制备。

  摄像头组件1906用于采集图像或视频。可选地,摄像头组件1906包括前置摄像头和后置摄像头。通常,前置摄像头用于实现视频通话或自拍,后置摄像头用于实现照片或视频的拍摄。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能,主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能。在一些实施例中,摄像头组件1906还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。

  音频电路1907用于提供用户和计算机设备1900之间的音频接口。音频电路1907可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1901进行处理,或者输入至射频电路1904以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在计算机设备1900的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1901或射频电路1904的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1907还可以包括耳机插孔。

  定位组件1908用于定位计算机设备1900的当前地理位置,以实现导航或LBS(Location Based Service,基于位置的服务)。定位组件1908可以是基于美国的GPS(Global Positioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。

  电源19012用于为计算机设备1900中的各个组件进行供电。电源1909可以是交流电、直流电、一次性电池或可充电电池。当电源1909包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。

  在一些实施例中,计算机设备1900还包括有一个或多个传感器1910。该一个或多个传感器1910包括但不限于:加速度传感器1911、陀螺仪传感器1912、压力传感器1913、指纹传感器1914、光学传感器1915以及接近传感器1916。

  加速度传感器1911可以检测以计算机设备1900建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1911可以用于检测重力加速度在三个坐标轴上的分量。处理器1901可以根据加速度传感器1911采集的重力加速度信号,控制触摸显示屏1905以横向视图或纵向视图进行用户界面的显示。加速度传感器1911还可以用于游戏或者用户的运动数据的采集。

  陀螺仪传感器1912可以检测计算机设备1900的机体方向及转动角度,陀螺仪传感器1912可以与加速度传感器1911协同采集用户对计算机设备1900的3D动作。处理器1901根据陀螺仪传感器1912采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。

  压力传感器1913可以设置在计算机设备1900的侧边框和/或触摸显示屏1905的下层。当压力传感器1913设置在计算机设备1900的侧边框时,可以检测用户对计算机设备1900的握持信号,根据该握持信号进行左右手识别或快捷操作。当压力传感器1913设置在触摸显示屏1905的下层时,可以根据用户对触摸显示屏1905的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。

  指纹传感器1914用于采集用户的指纹,以根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1901授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1914可以被设置计算机设备1900的正面、背面或侧面。当计算机设备1900上设置有物理按键或厂商Logo时,指纹传感器1914可以与物理按键或厂商Logo集成在一起。

  光学传感器1915用于采集环境光强度。在一个实施例中,处理器1901可以根据光学传感器1915采集的环境光强度,控制触摸显示屏1905的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1905的显示亮度;当环境光强度较低时,调低触摸显示屏1905的显示亮度。在另一个实施例中,处理器1901还可以根据光学传感器1915采集的环境光强度,动态调整摄像头组件1906的拍摄参数。

  接近传感器1916,也称距离传感器,通常设置在计算机设备1900的正面。接近传感器1916用于采集用户与计算机设备1900的正面之间的距离。在一个实施例中,当接近传感器1916检测到用户与计算机设备1900的正面之间的距离逐渐变小时,由处理器1901控制触摸显示屏1905从亮屏状态切换为息屏状态;当接近传感器1916检测到用户与计算机设备1900的正面之间的距离逐渐变大时,由处理器1901控制触摸显示屏1905从息屏状态切换为亮屏状态。

  本领域技术人员可以理解,图19中示出的结构并不构成对计算机设备1900的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。

  本申请实施例还提供了一种计算机设备,该计算机设备包括处理器和存储器,存储器中存储有至少一条指令、至少一段程序、代码集或指令集,该指令、该程序、该代码集或该指令集由处理器加载并执行以实现如上述各方法实施例提供的虚拟对象的控制方法。

  本申请实施例还提供一种计算机可读存储介质,该存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各方法实施例提供的虚拟对象的控制方法。

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

  应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

  本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

  以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

《虚拟对象的控制方法、装置、设备及存储介质.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)