本申请实施例涉及虚拟环境领域,特别涉及一种虚拟角色的控制方法、装置、设备及介质。
背景技术:
在基于三维虚拟环境的应用程序中,如第一人称射击类游戏,用户可以操控虚拟环境中的虚拟角色进行行走、奔跑、攀爬、射击、格斗等动作。
在一种僵尸模式的第一人称射击游戏中,由电脑控制的僵尸会攻击由客户端控制的虚拟角色,虚拟角色需要在虚拟环境中击杀僵尸,保证自身存活,才能获得胜利。当大量僵尸包围虚拟角色时,用户可以通过触发射击控件,控制虚拟角色击杀或击退身边的僵尸,以使虚拟角色脱困。
当虚拟角色周围的僵尸过多时,用户需要不停瞄准、连续点击射击控件来击杀或击退僵尸,才能使虚拟角色脱困,用户操作过于繁复,人机交互效率低。
技术实现要素:
本申请实施例提供了一种虚拟角色的控制方法、装置、设备及介质,在虚拟角色被僵尸包围时,可以简化用户控制虚拟角色脱困的操作,提高人机交互效率。所述技术方案如下:
一方面,提供了一种虚拟角色的控制方法,所述方法包括:
显示虚拟环境画面,所述虚拟环境画面包括:位于虚拟环境中的第一虚拟角色和至少两个第二虚拟角色,所述第一虚拟角色拥有击晕技能;
响应于所述第一虚拟角色的击败数满足数量阈值,控制所述第一虚拟角色使用所述击晕技能,所述击败数是所述第一虚拟角色击败所述第二虚拟角色的数量;
控制位于所述击晕技能的作用范围内的所述第二虚拟角色受到击晕作用效果,所述作用范围包括根据所述第一虚拟角色的位置在所述虚拟环境中确定的区域范围。
另一方面,提供了一种虚拟角色的控制装置,所述装置包括:
显示模块,用于显示虚拟环境画面,所述虚拟环境画面包括:位于虚拟环境中的第一虚拟角色和至少两个第二虚拟角色,所述第一虚拟角色拥有击晕技能;
控制模块,用于响应于所述第一虚拟角色的击败数满足数量阈值,控制所述第一虚拟角色使用所述击晕技能,所述击败数是所述第一虚拟角色击败所述第二虚拟角色的数量;
所述控制模块,还用于控制位于所述击晕技能的作用范围内的所述第二虚拟角色受到击晕作用效果,所述作用范围包括根据所述第一虚拟角色的位置在所述虚拟环境中确定的区域范围。
另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上方面所述的虚拟角色的控制方法。
另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上方面所述的虚拟角色的控制方法。
另一方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述可选实现方式中提供的虚拟机角色的控制方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
通过为第一虚拟角色设置击晕技能,在第一虚拟角色击败一定数量的僵尸(第二虚拟角色)后,自动控制第一虚拟角色使用击晕技能,击晕第一虚拟角色附近的僵尸,使第一虚拟角色可以限制周围僵尸的活动,进而趁僵尸被击晕无法活动时,快速脱离僵尸的包围圈。击晕技能是在满足技能使用条件时自动使用的技能(被动技能),用户不需要进行额外的操作,就可以触发技能,击晕附近的僵尸,简化了用户操作,提高用户控制第一虚拟角色脱困操作的人机交互效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本申请一个示例性实施例提供的终端的结构示意图;
图2是本申请一个示例性实施例提供的计算机系统的结构框图;
图3是本申请一个示例性实施例提供的虚拟角色的控制方法的方法流程图;
图4是本申请一个示例性实施例提供的虚拟对象的视角对应的摄像机模型示意图;
图5是本申请一个示例性实施例提供的虚拟角色的控制方法的用户界面示意图;
图6是本申请另一个示例性实施例提供的虚拟角色的控制方法的方法流程图;
图7是本申请另一个示例性实施例提供的虚拟角色的控制方法的用户界面示意图;
图8是本申请另一个示例性实施例提供的虚拟角色的控制方法的用户界面示意图;
图9是本申请另一个示例性实施例提供的虚拟角色的控制方法的用户界面示意图;
图10是本申请另一个示例性实施例提供的虚拟角色的控制方法的碰撞检测模型的示意图;
图11是本申请另一个示例性实施例提供的虚拟角色的控制方法的方法流程图;
图12是本申请另一个示例性实施例提供的虚拟角色的控制方法的作用范围的示意图;
图13是本申请另一个示例性实施例提供的虚拟角色的控制方法的用户界面示意图;
图14是本申请另一个示例性实施例提供的虚拟角色的控制方法的方法流程图;
图15是本申请另一个示例性实施例提供的虚拟角色的控制方法的方法流程图;
图16是本申请另一个示例性实施例提供的虚拟角色的控制装置的框图;
图17是本申请一个示例性实施例提供的终端的框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先,对本申请实施例中涉及的名词进行简单介绍:
虚拟环境:是应用程序在终端上运行时显示(或提供)的虚拟环境。该虚拟环境可以是对真实世界的仿真世界,也可以是半仿真半虚构的世界,还可以是纯虚构的世界。虚拟环境可以是二维虚拟环境、2.5维虚拟环境和三维虚拟环境中的任意一种,本申请对此不加以限定。下述实施例以虚拟环境是三维虚拟环境来举例说明。
虚拟角色:是指虚拟环境中的可活动对象。该可活动对象可以是虚拟角色、虚拟动物、动漫人物等,比如:在三维虚拟环境中显示的人物、动物、植物、油桶、墙壁、石块等。可选地,虚拟角色是基于动画骨骼技术创建的三维立体模型。每个虚拟角色在三维虚拟环境中具有自身的形状和体积,占据三维虚拟环境中的一部分空间。
第一人称射击游戏(first-personshooting,fps):是指用户能够以第一人称视角进行的射击游戏,游戏中的虚拟环境的画面是以第一虚拟角色的视角对虚拟环境进行观察的画面。在游戏中,至少两个虚拟角色在虚拟环境中进行单局对战模式,虚拟角色通过躲避其他虚拟角色发起的攻击或/和虚拟环境中存在的危险(比如,毒气圈、沼泽地、炸弹等)来达到在虚拟环境中存活的目的,当虚拟角色在虚拟环境中的生命值为零时,虚拟角色在虚拟环境中的生命结束,最后存活在虚拟环境中的虚拟角色是获胜方。可选地,该对战以第一个客户端加入对战的时刻作为开始时刻,以最后一个客户端退出对战的时刻作为结束时刻,每个客户端可以控制虚拟环境中的一个或多个虚拟角色。可选地,该对战的竞技模式可以包括单人对战模式、双人小组对战模式或者多人大组对战模式,本申请实施例对对战模式不加以限定。
用户界面ui(userinterface)控件,在应用程序的用户界面上能够看见的任何可视控件或元素,比如,图片、输入框、文本框、按钮、标签等控件,其中一些ui控件响应用户的操作,比如,射击控件,控制虚拟角色在虚拟环境中射击。本申请实施例中涉及的ui控件,包括但不限于:射击控件。
本申请中提供的方法可以应用于具有虚拟环境和虚拟角色的应用程序中。示例性的,支持虚拟环境的应用程序是用户可以控制虚拟角色在虚拟环境内移动的应用程序。示例性的,本申请中提供的方法可以应用于:虚拟现实(virtualreality,vr)应用程序、增强现实(augmentedreality,ar)程序、三维地图程序、军事仿真程序、虚拟现实游戏、增强现实游戏、第一人称射击游戏(first-personshootinggame,fps)、第三人称射击游戏(third-personshootinggame,tps)、多人在线战术竞技游戏(multiplayeronlinebattlearenagames,moba)、策略游戏(simulationgame,slg)中的任意一种程序。
示例性的,虚拟环境中的游戏由一个或多个游戏世界的地图构成,游戏中的虚拟环境模拟现实世界的场景,用户可以操控游戏中的虚拟角色在虚拟环境中进行行走、跑步、跳跃、射击、格斗、驾驶、使用虚拟武器攻击其他虚拟角色、使用虚拟武器蓄力攻击其他虚拟角色等动作,交互性较强,并且多个用户可以在线组队进行竞技游戏。
在一些实施例中,上述应用程序可以是射击类游戏、竞速类游戏、角色扮演类游戏、冒险类游戏、沙盒游戏、战术竞技游戏、军事仿真程序等程序。该客户端可以支持windows操作系统、苹果操作系统、安卓操作系统、ios操作系统和linux操作系统中的至少一种操作系统,并且不同操作系统的客户端可以互联互通。在一些实施例中,上述客户端是适用于具有触摸屏的移动终端上的程序。
在一些实施例中,上述客户端是基于三维引擎开发的应用程序,比如三维引擎是unity引擎。
本申请中的终端可以是台式计算机、膝上型便携计算机、手机、平板电脑、电子书阅读器、mp3(movingpictureexpertsgroupaudiolayeriii,动态影像专家压缩标准音频层面3)播放器、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面4)播放器等等。该终端中安装和运行有支持虚拟环境的客户端,比如支持三维虚拟环境的应用程序的客户端。该应用程序可以是战术竞技生存(battleroyale,br)游戏、虚拟现实应用程序、增强现实程序、三维地图程序、军事仿真程序、第三人称射击游戏、第一人称射击游戏、多人在线战术竞技游戏中的任意一种。可选地,该应用程序可以是单机版的应用程序,比如单机版的3d游戏程序,也可以是网络联机版的应用程序。
图1是本申请一个示例性实施例提供的终端的结构示意图。如图1所示,该终端包括处理器101、触摸屏102以及存储器103。
处理器101可以是单核处理器、多核处理器、嵌入式芯片以及具有指令运行能力的处理器中的至少一种。
触摸屏102包括普通触摸屏或压力感应触摸屏。普通触摸屏可以对施加在触摸屏102上的按压操作或滑动操作进行测量;压力感应触摸屏可以对施加在触摸屏102上的按压力度进行测量。
存储器103存储有处理器101的可执行程序。示意性的,存储器103中存储有虚拟环境程序a、应用程序b、应用程序c、触摸压力感应模块18、操作系统的内核层19。其中,虚拟环境程序a为基于三维虚拟环境模块17开发的应用程序。可选地,虚拟环境程序a包括但不限于由三维虚拟环境模块(也称虚拟环境模块)17开发的游戏程序、虚拟现实程序、三维地图程序、三维演示程序中的至少一种。比如,终端的操作系统采用安卓操作系统时,虚拟环境程序a采用java编程语言以及c#语言进行开发;又比如,终端的操作系统采用ios操作系统时,虚拟环境程序a采用object-c编程语言以及c#语言进行开发。
三维虚拟环境模块17是一款支持多种操作系统平台的模块,示意性的,三维虚拟环境模块可用于游戏开发领域、虚拟现实(virtualreality,vr)领域以及三维地图领域等多领域的程序开发,本申请实施例对三维虚拟环境模块17的具体类型不限,在下文实施例中以三维虚拟环境模块17是使用unity引擎开发的模块为例来举例说明。
触摸(以及压力)感应模块18是用于接收触摸屏驱动程序191所上报的触摸事件(以及压力触控事件)的模块,可选地,触摸感应模块可以不具有压力感应功能,不接收压力触控事件。触摸事件包括:触摸事件的类型和坐标值,触摸事件的类型包括但不限于:触摸开始事件、触摸移动事件和触摸落下事件。压力触控事件中包括:压力触控事件的压力值以及坐标值。该坐标值用于指示压力触控操作在显示屏上的触控位置。可选地,以显示屏的水平方向建立横坐标轴,显示屏的竖直方向建立竖坐标轴得到一个二维坐标系。
示意性的,内核层19包括了触摸屏驱动程序191以及其它驱动程序192。触摸屏驱动程序191是用于检测压力触控事件的模块,当触摸屏驱动程序191检测到压力触控事件后,将压力触控事件传递给压力感应模块18。
其它驱动程序192可以是与处理器101有关的驱动程序、与存储器103有关的驱动程序、与网络组件有关的驱动程序、与声音组件有关的驱动程序等。
本领域技术人员可以知晓,上述仅为对终端的结构的概括性示意。在不同的实施例中,终端可以具有更多或更少的组件。比如,终端还可以包括重力加速度传感器、陀螺仪传感器、电源等等。
图2示出了本申请一个示例性实施例提供的计算机系统的结构框图。该计算机系统200包括:终端210、服务器集群220。
终端210安装和运行有支持虚拟环境的客户端211,该客户端211可以是支持虚拟环境的应用程序。当终端运行客户端211时,终端210的屏幕上显示客户端211的用户界面。该客户端可以是fps游戏、tps游戏、军事仿真程序、moba游戏、战术竞技游戏、slg游戏的任意一种。在本实施例中,以该客户端是fps游戏来举例说明。终端210是第一用户212使用的终端,第一用户212使用终端210控制位于虚拟环境中的第一虚拟角色进行活动,第一虚拟角色可以称为第一用户212的第一虚拟角色。第一虚拟角色的活动包括但不限于:调整身体姿态、爬行、步行、奔跑、骑行、飞行、跳跃、驾驶、拾取、射击、攻击、投掷中的至少一种。示意性的,第一虚拟角色是第一虚拟角色,比如仿真人物角色或动漫人物角色。
终端210的设备类型包括:智能手机、平板电脑、电子书阅读器、mp3播放器、mp4播放器、膝上型便携计算机和台式计算机中的至少一种。
图2中仅示出了一个终端,但在不同实施例中存在多个其它终端240。在一些实施例中,还存在至少一个其它终端240是开发者对应的终端,在其它终端240上安装有虚拟环境的客户端的开发和编辑平台,开发者可在其它终端240上对客户端进行编辑和更新,并将更新后的客户端安装包通过有线或无线网络传输至服务器集群220,终端210可从服务器集群220下载客户端安装包实现对客户端的更新。
终端210和其它终端240通过无线网络或有线网络与服务器集群220相连。
服务器集群220包括一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。服务器集群220用于为支持三维虚拟环境的客户端提供后台服务。可选地,服务器集群220承担主要计算工作,终端承担次要计算工作;或者,服务器集群220承担次要计算工作,终端承担主要计算工作;或者,服务器集群220和终端之间采用分布式计算架构进行协同计算。
可选地,上述终端和服务器均为计算机设备。
在一个示意性的例子中,服务器集群220包括服务器221和服务器226,服务器221包括处理器222、用户帐号数据库223、对战服务模块224、面向用户的输入/输出接口(input/outputinterface,i/o接口)225。其中,处理器222用于加载服务器221中存储的指令,处理用户帐号数据库221和对战服务模块224中的数据;用户帐号数据库221用于存储终端210以及其它终端240所使用的用户帐号的数据,比如用户帐号的头像、用户帐号的昵称、用户帐号的战斗力指数,用户帐号所在的服务区;对战服务模块224用于提供多个对战房间供用户进行对战;面向用户的i/o接口225用于通过无线网络或有线网络和终端210建立通信交换数据。
结合上述对虚拟环境的介绍以及实施环境说明,对本申请实施例提供的虚拟角色的控制方法进行说明,以该方法的执行主体为图1所示出的终端上运行的客户端来举例说明。该终端运行有应用程序,该应用程序是支持虚拟环境的程序。
本申请提供了一个将虚拟角色的控制方法应用在fps游戏的僵尸模式中的示例性实施例。
在僵尸模式中,虚拟角色击杀僵尸可以获得金币,虚拟角色可以使用金币在技能贩卖机(又称为“饮水机”)购买技能,例如,购买“击晕”技能。击晕技能是一种被动技能,当虚拟角色满足技能使用条件时,会自动使用该技能。
示例性的,击晕技能的使用条件是,在虚拟角色击杀指定数量的僵尸后,随机使用。例如,当虚拟角色击杀了50个僵尸时,随机控制虚拟角色自动使用技能击晕,使位于虚拟角色附近的僵尸被击晕一段时间,并在一段时间后自动控制僵尸恢复正常。例如,随机的概率为50%,即,虚拟角色在击杀了50个僵尸时,将有50%的概率会使用击晕技能。击晕是指僵尸无法活动。示例性的,当僵尸被击晕时会在僵尸头部显示击晕特效,来告知用户该僵尸已被击晕。
示例性的,本实施例中的虚拟角色是指由客户端(用户)控制的虚拟角色,僵尸是指由服务器/电脑/人工智能/自动算法控制的虚拟角色。示例性的,在僵尸模式中,僵尸被设定为自动搜寻附近的虚拟角色,并攻击虚拟角色。虚拟角色需要击杀僵尸,保证自己存活。
示例性的,技能贩卖机被随机设置在虚拟环境中的任意位置,或,技能贩卖机被固定设置在虚拟环境中的固定位置。虚拟角色可以通过靠近技能贩卖机触发技能购买界面,进而购买技能。示例性的,在虚拟环境的小地图中,会标注技能贩卖机的位置,用户可以通过观察小地图来控制虚拟角色靠近技能贩卖机。
示例性的,在技能贩卖机的模型外设置有碰撞检测模型,碰撞检测模型用于检测虚拟角色靠近技能贩卖机,当虚拟角色的三维虚拟模型与碰撞检测模型发生碰撞时,碰撞检测模型生成碰撞信息,客户端根据碰撞信息确定虚拟角色与碰撞检测模型发生碰撞,进而显示技能购买界面,或弹出技能购买按钮。
图3是本申请一个示例性实施例提供的虚拟角色的控制方法的方法流程图。以该方法的执行主体为图1所示出的终端上运行的客户端来举例说明,该客户端是支持虚拟环境的客户端,该方法至少包括如下步骤。
步骤301,显示虚拟环境画面,虚拟环境画面包括:位于虚拟环境中的第一虚拟角色和至少两个第二虚拟角色,第一虚拟角色拥有击晕技能。
示例性的,对战开始后,客户端显示对战的用户界面,该用户界面包括虚拟环境画面和位于虚拟环境画面之上的ui控件。示例性的,在对战的用户界面之前还可能包括:用于进行好友组队的组队界面、用于为虚拟角色匹配其他虚拟角色的匹配界面、用于加载本次对局信息的对局加载界面等。
示例性的,本实施例中的第一虚拟角色是由客户端控制的虚拟角色,即,第一虚拟角色是客户端控制的主控虚拟角色。示例性的,本实施例中的第二虚拟角色是由服务器/人工智能/算法控制的虚拟角色。示例性的,第二虚拟角色被设置为自动攻击由客户端控制的虚拟角色(第一虚拟角色)。示例性的,第二虚拟角色是设置在虚拟环境中的僵尸、丧尸、野怪、动物、boss中的至少一种。
示例性的,虚拟环境画面是以第一虚拟角色的视角对虚拟环境进行观察所采集到的画面。
视角是指以虚拟角色的第一人称视角或者第三人称视角在虚拟环境中进行观察时的观察角度。可选地,本申请的实施例中,视角是在虚拟环境中通过摄像机模型对虚拟角色进行观察时的角度。
可选地,摄像机模型在虚拟环境中对虚拟角色进行自动跟随,即,当虚拟角色在虚拟环境中的位置发生改变时,摄像机模型跟随虚拟角色在虚拟环境中的位置同时发生改变,且该摄像机模型在虚拟环境中始终处于虚拟角色的预设距离范围内。可选地,在自动跟随过程中,摄像头模型和虚拟角色的相对位置不发生变化。
摄像机模型是指在虚拟环境中位于虚拟角色周围的三维模型,当采用第一人称视角时,该摄像机模型位于虚拟角色的头部附近或者位于虚拟角色的头部;当采用第三人称视角时,该摄像机模型可以位于虚拟角色的后方并与虚拟角色进行绑定,也可以位于与虚拟角色相距预设距离的任意位置,通过该摄像机模型可以从不同角度对位于虚拟环境中的虚拟角色进行观察,可选地,该第三人称视角为第一人称的过肩视角时,摄像机模型位于虚拟角色(比如虚拟角色的头肩部)的后方。可选地,除第一人称视角和第三人称视角外,视角还包括其他视角,比如俯视视角;当采用俯视视角时,该摄像机模型可以位于虚拟角色头部的上空,俯视视角是以从空中俯视的角度进行观察虚拟环境的视角。可选地,该摄像机模型在虚拟环境中不会进行实际显示,即,在用户界面显示的虚拟环境画面中不显示该摄像机模型。
对该摄像机模型位于与虚拟角色相距预设距离的任意位置为例进行说明,可选地,一个虚拟角色对应一个摄像机模型,该摄像机模型可以以虚拟角色为旋转中心进行旋转,如:以虚拟角色的任意一点为旋转中心对摄像机模型进行旋转,摄像机模型在旋转过程中的不仅在角度上有转动,还在位移上有偏移,旋转时摄像机模型与该旋转中心之间的距离保持不变,即,将摄像机模型在以该旋转中心作为球心的球体表面进行旋转,其中,虚拟角色的任意一点可以是虚拟角色的头部、躯干、或者虚拟角色周围的任意一点,本申请实施例对此不加以限定。可选地,摄像机模型在对虚拟角色进行观察时,该摄像机模型的视角的中心指向为该摄像机模型所在球面的点指向球心的方向。
可选地,该摄像机模型还可以在虚拟角色的不同方向以预设的角度对虚拟角色进行观察。
示意性的,请参考图4,在虚拟角色11中确定一点作为旋转中心12,摄像机模型围绕该旋转中心12进行旋转,可选地,该摄像机模型配置有一个初始位置,该初始位置为虚拟角色后上方的位置(比如脑部的后方位置)。示意性的,如图4所示,该初始位置为位置13,当摄像机模型旋转至位置14或者位置15时,摄像机模型的视角方向随摄像机模型的转动而进行改变。
可选地,虚拟环境画面显示的虚拟环境包括:梯子、直梯、攀岩区、山川、平地、河流、湖泊、海洋、沙漠、沼泽、流沙、天空、植物、建筑、车辆中的至少一种元素。
示例性的,在一种可选的场景中,第一虚拟角色被多个第二虚拟角色所包围,多个第二虚拟角色同时攻击第一虚拟角色。
示例性的,如图5所示,在以第一虚拟角色的第一人称视角获得的虚拟环境画面601中,包括第一虚拟角色的手部602,以及两个第二虚拟角色603。
击晕技能是第一虚拟角色拥有的技能。示例性的,击晕技能是一种被动技能,即,在满足技能使用条件时会自动使用的技能。示例性的,击晕技能是第一虚拟角色进入对局前就设置好并带入对局的技能,或,击晕技能是第一虚拟角色在对局中获取的技能。示例性的,击晕技能是第一虚拟角色在进入对局后,使用金币购买得到的技能。
示例性的,击晕技能是作用于第二虚拟角色的技能,可以对第二虚拟角色产生击晕作用效果。击晕作用效果包括:击晕、降低第二虚拟角色的状态值(生命值、移动速度、攻击速度、攻击力、防御力、恢复速度等)中的至少一种。击晕是指限制第二虚拟角色的移动、攻击。示例性的,击晕是指使第二虚拟角色停在原地无法移动并且无法进行攻击的状态。
步骤302,响应于第一虚拟角色的击败数满足数量阈值,控制第一虚拟角色使用击晕技能,击败数是第一虚拟角色击败第二虚拟角色的数量。
示例性的,第二虚拟角色具有生命值,第一虚拟角色可以攻击第二虚拟角色,使第二虚拟角色的生命值降低,当第二虚拟角色的生命值低于阈值(例如,阈值为0)时,第二虚拟角色死亡。示例性的,击败是指,第一虚拟角色的攻击使第二虚拟角色的生命值低于阈值,则该第二虚拟角色时被第一虚拟角色击败的,例如,第二虚拟角色生命值是100,第三虚拟角色攻击第二虚拟角色使第二虚拟角色的生命值从100降为1,第一虚拟角色攻击第二虚拟角色使第二虚拟角色的生命值从1降为0,则视为第一虚拟角色的攻击使第二虚拟角色的生命值低于阈值,第二虚拟角色被第一虚拟角色击败。
示例性的,第一虚拟角色每击败一个第二虚拟角色,第一虚拟角色的击败数加一。
数量阈值是任意设定的数值,例如,数量阈值可以是10、30、50等。当第一虚拟角色击败了一定数量的第二虚拟角色后,第一虚拟角色自动使用击晕技能。
步骤303,控制位于击晕技能的作用范围内的第二虚拟角色受到击晕作用效果,作用范围包括根据第一虚拟角色的位置在虚拟环境中确定的区域范围。
第一虚拟角色使用击晕技能后,客户端获取击晕技能的作用范围,控制位于作用范围内的第二虚拟角色受到击晕作用效果。
示例性的,作用范围可以是三维空间范围,也可以是二维平面范围。示例性的,作用范围是以第一虚拟角色所在位置为中心,以一定距离为半径的球形范围或圆形范围。示例性的,作用范围还可以是以第一虚拟角色所在位置为中心,以一定距离为内径、一定距离为外径的环形范围。示例性的,作用范围还可以是以第一虚拟角色所在位置为顶点,朝向第一虚拟角色面对方向的扇形范围。
在一种可选的实施例中,当第一虚拟角色使用击晕技能后,客户端获取虚拟环境中的每一个第二虚拟角色的位置,计算每一个第二虚拟角色与第一虚拟角色的距离,将距离小于阈值的第二虚拟角色确定为位于作用范围内的第二虚拟角色。
示例性的,击晕作用效果对应有:伤害值、击晕、击晕时长。示例性的,客户端以伤害值降低第二虚拟角色的生命值,并控制第二虚拟角色被击晕,且持续被击晕的状态直至击晕时长结束。示例性的,击晕作用效果还可以包括:降低第二虚拟角色的防御值、移动速度,清零第二虚拟角色的怒气值中的至少一种。
综上所述,本实施例提供的方法,通过为第一虚拟角色设置击晕技能,在第一虚拟角色击败一定数量的僵尸(第二虚拟角色)后,自动控制第一虚拟角色使用击晕技能,击晕第一虚拟角色附近的僵尸,使第一虚拟角色可以限制周围僵尸的活动,进而趁僵尸被击晕无法活动时,快速脱离僵尸的包围圈。击晕技能是在满足技能使用条件时自动使用的技能(被动技能),用户不需要进行额外的操作,就可以触发技能,击晕附近的僵尸,简化了用户操作,提高用户控制第一虚拟角色脱困操作的人机交互效率。
示例性的,在一个可选的实施例中,击晕技能是第一虚拟角色在进入对局后购买得到的技能。示例性的,击晕技能是随机触发的技能。
图6是本申请一个示例性实施例提供的虚拟角色的控制方法的方法流程图。以该方法的执行主体为图1所示出的终端上运行的客户端来举例说明,该客户端是支持虚拟环境的客户端,基于图3所示的示例性实施例,步骤301之前还包括步骤401至步骤402,步骤302还包括步骤3021至步骤3023,步骤303之后还包括步骤501。
步骤401,响应于第一虚拟角色与目标对象的距离小于距离阈值,显示技能购买界面,技能购买界面用于购买击晕技能,目标对象是由服务器控制的虚拟对象。
示例性的,第一虚拟角色击败第二虚拟角色可以获得相应数量的虚拟物品。示例性的,虚拟物品用于在本次对局内购买技能、武器、装备、载具、开阔地图、解锁新区域等。示例性的,虚拟物品可以是金币、卡券、游戏币、贝壳、钻石等。示例性的,第一虚拟角色击败一个第二虚拟角色可以获得10个金币。例如,如图5所示,在虚拟环境画面601的左上角,显示有第一虚拟角色的信息栏604,信息栏中记录有第一虚拟角色的金币数量,第一虚拟角色每击杀一个第二虚拟角色,金币数量就会增加10。
示例性的,第一虚拟角色还可以通过击杀其他客户端控制的虚拟角色来获得其他虚拟角色的虚拟物品,或,第一虚拟角色还可以通过卖出技能、武器、装备、载具来获得虚拟物品,或,第一虚拟角色还可以通过完成指定任务来获得虚拟物品。
示例性的,第一虚拟角色可以使用虚拟物品购买击晕技能。示例性的,在虚拟环境中设置有目标对象。目标对象用于购买技能。示例性的,目标对象可以是设置在虚拟环境中的贩卖机器、商店、npc(non-playercharacter,非玩家角色)中的至少一种。示例性的,目标对象是虚拟环境中静止不动的对象,或,只可以在小范围内移动的对象。示例性的,目标对象在虚拟环境中具有三维虚拟模型,例如,如图7所示,在虚拟环境中有目标对象605。当第一虚拟角色靠近目标对象时,客户端会显示技能购买界面。示例性的,技能购买界面包括购买控件,当用户触发购买控件时,客户端控制第一虚拟角色购买对应的物品。例如,如图8所示,第一虚拟角色靠近目标对象605,此时,显示购买界面,购买界面中包括购买控件606,用户触发购买控件606可以购买技能“电击樱桃”,当用户购买“电击樱桃”后,如图9所示,在技能栏607会显示“电击樱桃”对应的图标,以告知用户第一虚拟角色当前拥有技能“电击樱桃”。
示例性的,客户端会在虚拟环境的小地图上标记目标对象的位置,以便用户根据小地图来找到目标对象,进而购买技能。例如,如图9所示,在用户界面的右上角显示有虚拟环境的小地图,在小地图中用黑色三角形612标注了目标对象的位置,用户可以根据黑色三角形612的位置寻找目标对象。
示例性的,客户端可以实时检测第一虚拟角色与目标对象的距离是否小于距离阈值,来确定第一虚拟角色是否靠近目标对象。
示例性的,客户端还可以在目标对象上设置碰撞检测模型,用碰撞检测模型来检测第一虚拟角色是否靠近目标对象。
示例性的,目标对象上设置有碰撞检测模型,碰撞检测模型用于检测第一虚拟角色与目标对象的距离。响应于第一虚拟角色的三维虚拟模型与碰撞检测模型发生碰撞,显示技能购买界面。
碰撞检测模型是设置在目标对象的三维虚拟模型上的三维盒子。示例性的,碰撞检测模型是不可见的盒子(碰撞盒子),即,在虚拟环境画面中用户看不到碰撞检测模型。示例性的,碰撞检测模型的大小和形状根据目标对象的三维虚拟模型的大小和形状设置。例如,碰撞检测模型的大小和形状与目标对象的三维虚拟模型的大小和形状相同。或,碰撞检测模型的大小略小于目标对象的三维虚拟模型的大小。或,碰撞检测模型的大小略大于目标对象的三维虚拟模型的大小,使碰撞检测模型包裹目标对象。
示例性的,为了简化运算过程,碰撞检测模型通常被设置为规则形状,例如,正方体、长方体、球体、椎体、圆柱体等。示例性的,碰撞检测模型被设置为略大于目标对象的三维虚拟模型,使碰撞检测模型包裹目标对象。
示例性的,碰撞检测模型可以检测虚拟环境中的碰撞,当有其他虚拟模型与碰撞检测模型的表面发生碰撞时,碰撞检测模型会生成碰撞信息,碰撞信息包括:该虚拟模型的信息、碰撞点、碰撞时间中的至少一种。虚拟模型的信息包括:虚拟模型的类型、虚拟模型的大小、虚拟模型的材质、虚拟角色的帐号、虚拟角色的状态中的至少一种。示例性的,虚拟角色在虚拟环境中具有三维的虚拟模型,当虚拟角色的虚拟模型与碰撞检测模型发生碰撞时,碰撞检测模型获取到碰撞信息,根据碰撞信息确定虚拟角色靠近目标对象。
例如,如图10所示,在目标对象605上设置有稍大于目标对象605的碰撞检测模型608。
步骤402,响应于购买操作,减少第一虚拟角色拥有的虚拟物品的数量,控制第一虚拟角色获得击晕技能,其中,虚拟物品是第一虚拟角色通过击败第二虚拟角色获得的。
示例性的,购买操作可以是用户触发购买界面上的ui控件的操作。或,购买操作可以是用户用鼠标、键盘、麦克风、摄像头等输入设备,输入指令的操作。
客户端根据用户的购买操作确定用户想要购买的技能,并获取该技能所需的虚拟物品数量,对应的减少第一虚拟角色的虚拟物品数量,并控制第一虚拟角色获得该技能。示例性的,若第一虚拟角色的虚拟物品数量不足以支付该技能,则提示用户虚拟物品数量不足。
例如,如图8所示,购买技能“电击樱桃”所需要的虚拟物品为2000个金币,第一虚拟角色当前拥有9410个金币,则客户端将第一虚拟角色的金币数量减少2000个,使第一虚拟角色获得技能“电击樱桃”。
步骤3021,响应于第一虚拟角色的击败数满足数量阈值,根据第一概率确定是否触发击晕技能。
示例性的,击晕技能是在满足技能使用条件后,随机触发的技能,即,第一虚拟角色的击败数满足数量阈值不会必然控制第一虚拟角色使用击晕技能,而是有一定的概率会触发第一虚拟角色使用击晕技能。
例如,第一概率可以是80%,即,当第一虚拟角色的击败数满足数量阈值后,有80%的可能性会触发第一虚拟角色使用击晕技能。
示例性的,当第一虚拟角色身边有队友时,还可以根据队友的数量来改变击晕技能的作用效果。如图11所示,步骤3021还包括步骤3021-1至步骤3021-3,步骤303还包括步骤3031和步骤3032。
步骤3021-1,响应于第一虚拟角色的击败数满足数量阈值,获取位于第一范围内的目标虚拟角色数量,第一范围是根据第一虚拟角色的位置在虚拟环境中确定的区域范围。
示例性的,当第一虚拟角色的击败数满足数量阈值时,客户端会获取位于第一范围内的目标虚拟角色的数量。目标虚拟角色可以是与第一虚拟角色同阵营的虚拟角色。目标虚拟角色还可以是第二虚拟角色。即,客户端可以根据第一虚拟角色身边队友的数量来确定触发击晕技能的概率,也可以根据第一虚拟角色身边僵尸的数量来确定触发击晕技能的概率。示例性的,目标虚拟角色还可以是正在被第二虚拟角色攻击的队友的数量,或,目标虚拟角色还可以是由客户端控制的虚拟角色。
第一范围可以是以第一虚拟角色所在位置为中心,以一定距离为半径的球形范围或圆形范围。示例性的,第一范围可以与击晕技能的作用范围相同,也可以与击晕技能的作用范围不同。
步骤3021-2,响应于目标虚拟角色数量不满足阈值,根据第一概率确定是否触发击晕技能。
示例性的,若第一虚拟角色身边的队友数量较少,则根据第一概率确定是否触发击晕技能。阈值可以是任意数值,例如,阈值可以是0,即,当第一虚拟角色身边没有队友时,以第一概率确定是否触发击晕技能。
步骤3021-3,响应于目标虚拟角色数量满足阈值,根据第二概率确定是否触发击晕技能,第二概率不等于第一概率。
示例性的,若第一虚拟角色身边的队友数量较多,则根据第二概率确定是否触发击晕技能。例如,阈值可以是0,即,当第一虚拟角色身边有队友时,以第二概率确定是否触发击晕技能。示例性的,第一概率可以大于第二概率,或,第一概率可以小于第二概率。
例如,当第一虚拟角色有队友时,第一虚拟角色有更大的概率可以触发击晕技能。
步骤3022,响应于触发击晕技能,控制第一虚拟角色使用击晕技能。
客户端根据第一概率确定是否触发击晕技能,若触发,则控制第一虚拟角色使用击晕技能。
步骤3023,响应于未触发击晕技能,将第一虚拟角色的击败数置零。
客户端根据第一概率确定是否触发击晕技能,若未触发,则不会控制第一虚拟角色使用击晕技能,并且将第一虚拟角色的击败数清零,重新计算第一虚拟角色的击败数,当击败数再次满足数量阈值时,再次判断是否触发击晕技能。
步骤3031,响应于目标虚拟角色数量不满足阈值,控制位于击晕技能的作用范围内的第二虚拟角色受到第一击晕作用效果。
步骤3032,响应于目标虚拟角色数量满足阈值,控制位于击晕技能的作用范围内的第二虚拟角色受到第二击晕作用效果。
其中,第一击晕作用效果和第二击晕作用效果对应有不同的最大作用时长或伤害值。
示例性的,以作用范围是以第一虚拟角色为中心,以一定距离为半径的圆形区域为例,如图12所示,以第一虚拟角色609为中心,作半径为r的圆610,该圆610即为作用范围,位于圆610内的三个第二虚拟角色603会受到击晕技能的第一击晕作用效果,位于圆610外的两个第二虚拟角色603不会受到击晕技能的第一击晕作用效果。
示例性的,击晕技能的作用效果具有作用时长。例如,击晕作用效果对应有最大作用时长。当第二虚拟角色受到击晕作用效果后,客户端会计时第二虚拟角色受到击晕作用效果的作用时长;响应于作用时长达到最大作用时长,停止第二虚拟角色的击晕作用效果。即,击晕技能只会击晕第二虚拟角色一段时间,过了这段时间第二虚拟角色就会恢复正常。
示例性的,当第一虚拟角色身边没有队友时,第一虚拟角色使用的击晕技能会对身边的第二虚拟角色造成第一击晕作用效果。当第一虚拟角色身边有队友时触发击晕技能,可以增大击晕技能的击晕作用效果,将击晕技能的击晕作用效果从第一击晕作用效果增大为第二击晕作用效果。示例性的,击晕作用效果增大是指伤害值增大或击晕的最大作用时长增大。
例如,若第一虚拟角色身边没有队友,则此时触发的击晕技能会对第二虚拟角色造成100点伤害,并击晕第二虚拟角色10s。若第一虚拟角色身边有队友,则此时触发的击晕技能会对第二虚拟角色造成300点伤害,并击晕第二虚拟角色15s。
示例性的,响应于位于击晕技能的作用范围内的第二虚拟角色被至少两个击晕技能命中,控制第二虚拟角色受到第三击晕作用效果。当有多个虚拟角色使用击晕技能击晕第二虚拟角色时,第二虚拟角色受到的击晕作用效果会增大。例如,第一虚拟角色和第三虚拟角色都使用了击晕技能击晕了第二虚拟角色,则第二虚拟角色会承受两倍或三倍的第一击晕作用效果。击晕作用效果加倍是指:伤害值加倍、被击晕的最大作用时长加倍中的至少一种。示例性的,第三击晕作用效果是加倍后的击晕作用效果。
例如,一个虚拟角色使用击晕技能可以对第二虚拟角色造成100点伤害并击晕10s,两个虚拟角色使用击晕技能作用于同一第二虚拟角色,则第二虚拟角色受到400点伤害,并击晕40s。
步骤501,显示第二虚拟角色对应的击晕特效,击晕特效包括在第二虚拟角色头部显示击晕标志或文字提示、对第二虚拟角色进行区别显示、控制第二虚拟角色倒地中的至少一种。
示例性的,被击晕的第二虚拟角色会显示击晕特效。击晕特效用于告知用户该第二虚拟角色已被击晕,用户可以无视该第二虚拟角色逃跑或趁机击败该第二虚拟角色。
示例性的,击晕特效可以是显示在第二虚拟角色头部的击晕标志、文字提示,或,显示在第二虚拟角色身后的特效光柱,或,对第二虚拟角色进行区别显示(例如,高亮显示、改变三维虚拟模型的颜色、加强描边等),或,显示第二虚拟角色倒在地上等等。
例如,如图13所示,被击晕的第二虚拟角色603的头部会显示击晕特效611,提示用户该及二虚拟角色已被击晕。
综上所述,本实施例提供的方法,通过在第一虚拟角色击杀一定数量的僵尸时,自动控制第一虚拟角色使用击晕技能击晕僵尸,当第一虚拟角色被僵尸包围时,用户只需要击杀一定数量的僵尸就可以触发击晕技能,从而击晕僵尸,便于第一虚拟角色快速逃离,简化用户操作,提高用户控制第一虚拟角色脱困操作的人机交互效率。
本实施例提供的方法,通过在第一虚拟角色每次击杀僵尸后,判断第一虚拟角色击杀僵尸的数量是否达到阈值,判断第一虚拟角色是否触发击晕技能,进而自动控制第一虚拟角色使用击晕技能,简化用户操作,提高用户控制第一虚拟角色脱困操作的人机交互效率。
本实施例提供的方法,击晕技能是在满足技能使用条件后随机使用的技能,第一虚拟角色满足技能使用条件也不一定会触发使用击晕技能,从而降低第一虚拟角色使用击晕技能的频率,使击晕技能的使用不可预知,增加对局可变性和未知性,提高对局激烈程度,减少对局时间,减轻服务器负载。
本实施例提供的方法,通过使第一虚拟角色击杀僵尸来获得金币,让第一虚拟角色利用金币来购买击晕技能,从而限制击晕技能的获取。通过设置技能贩卖机,让第一虚拟角色在技能贩卖机中使用金币购买击晕技能,在第一虚拟角色靠近技能贩卖机时,显示技能购买界面,让用户在技能购买界面购买想要的技能,简化用户购买技能的操作,提高人机交互效率。
本实施例提供的方法,通过在技能贩卖机上设置碰撞检测模型来检测第一虚拟角色是否靠近技能贩卖机,进而自动显示技能购买界面,简化用户购买技能的操作,提高人机交互效率。
本实施例提供的方法,通过在被击晕的僵尸上显示击晕特效,便于用户快速识别被击晕的僵尸。
本实施例提供的方法,通过在控制僵尸被击晕一段时间后,自动控制僵尸恢复正常,在为第一虚拟角色提供脱离时间的同时,不影响对局的正常进行。
本实施例提供的方法,通过当第一虚拟角色身边存在队友时,增大触发击晕技能的概率,并增大击晕技能的作用效果,便于多个虚拟角色逃脱僵尸的包围,简化用户控制虚拟角色逃脱包围圈的操作,提高人机交互效率。
示例性的,给出一种在第一人称射击游戏中使用本申请提供的虚拟角色的控制方法的示例性实施例。
图14是本申请一个示例性实施例提供的虚拟角色的控制方法的方法流程图。以该方法的执行主体为图1所示出的终端上运行的客户端来举例说明,该客户端是支持虚拟环境的客户端。该方法包括以下步骤。
步骤701,进入僵尸模式。
示例性的,第一人称射击游戏中为用户提供了多种游戏模式,其中僵尸模式中设置有自动攻击虚拟角色的僵尸,用户需要控制虚拟角色击杀僵尸,保证虚拟角色存活,才能获得胜利。
步骤702,判断虚拟角色是否击杀僵尸。若击杀,则进行步骤703;否则进行步骤701。
步骤703,虚拟角色获得金币。
当虚拟角色击杀僵尸时,虚拟角色会对应的获取到金币。
步骤704,判断虚拟角色是否靠近技能机器,若靠近,则进行步骤705,否则进行步骤703。
步骤705,显示购买技能所需金币和购买按钮。
步骤706,判断虚拟角色是否击杀僵尸,若是,则进行步骤707,否则进行步骤705。
步骤707,僵尸死亡。
示例性的,当虚拟角色击杀僵尸,客户端对应记录虚拟角色的击败数。
步骤708,判断是否触发击晕技能,若是,则进行步骤709,否则进行步骤707。
客户端判断虚拟角色的击败数是否满足数量阈值,若满足则根据概率确定是否触发击晕技能。
步骤709,控制未死亡的僵尸被击晕无法动弹和攻击玩家。
虚拟角色使用击晕技能,击晕作用范围内的僵尸。
步骤710,判断击晕时间是否结束,若是,则进行步骤711;否则进行步骤709。
步骤711,控制僵尸恢复正常。
当击晕时间结束,客户端控制僵尸恢复正常。
示例性的,本实施例还提供了一种虚拟角色获得金币和使用金币时,客户端和服务器间的交互方法。如图15所示,是本申请一个示例性实施例提供的虚拟角色的控制方法的方法流程图。该方法包括以下步骤:
步骤801,客户端控制虚拟角色攻击僵尸。
步骤802,客户端向服务器上报虚拟角色攻击僵尸的伤害值。
步骤803,服务器校验伤害值,确定伤害合法。
步骤804,当伤害合法时,服务器向客户端返回击杀成功消息。
步骤805,客户端在接收到服务器发送的击杀成功消息后,控制僵尸死亡。
步骤806,服务器对应的增加虚拟角色击杀僵尸获得的金币数。
步骤807,服务器向客户端发送协议通知客户端更新金币数。
步骤808,客户端对应的增加虚拟角色的金币数。
步骤809,客户端接收用户使用金币购买武器或解锁区域的指令。
步骤810,客户端向服务器发送使用金币的协议。
步骤811,服务器校验本次交易的合法性。
步骤812,服务器在确定交易合法后,向客户端返回可使用金币协议。
步骤813,客户端确定本次交易成功。
综上所述,本实施例提供的方法,虚拟角色通过击杀僵尸可以获得金币,虚拟角色可以在技能机器上用金币购买技能,购买成功后获得击晕技能,在虚拟角色击杀一定数量的僵尸时,控制虚拟角色自动使用击晕技能,当虚拟角色被大量僵尸包围时,可以通过使用击晕技能来击晕僵尸,使用户可以控制虚拟角色逃脱僵尸的包围。
本实施例提供的方法,通过在客户端击杀僵尸时,由服务器校验虚拟角色的伤害,并确定是否击杀僵尸。在虚拟角色击杀僵尸后,由服务器向客户端发送金币增加的指令,在客户端需要使用金币时,由服务器检验交易合法性,从而保证虚拟角色金币数量的准确性。
上述实施例是基于游戏的应用场景对上述方法进行描述,下面以军事仿真的应用场景对上述方法进行示例性说明。
仿真技术是应用软件和硬件通过模拟真实世界的实验,反映系统行为或过程的模型技术。
军事仿真程序是利用仿真技术针对军事应用专门构建的程序,对海、陆、空等作战元素、武器装备性能以及作战行动等进行量化分析,进而精确模拟战场环境,呈现战场态势,实现作战体系的评估和决策的辅助。
在一个示例中,士兵在军事仿真程序所在的终端建立一个虚拟的战场,并以组队的形式进行对战。士兵控制战场虚拟环境中的虚拟对象在战场虚拟环境下进行站立、蹲下、坐下、仰卧、俯卧、侧卧、行走、奔跑、攀爬、驾驶、射击、投掷、攻击、受伤、侦查、近身格斗等动作中的至少一种操作。战场虚拟环境包括:平地、山川、高原、盆地、沙漠、河流、湖泊、海洋、植被中的至少一种自然形态,以及建筑物、交通工具、废墟、训练场等地点形态。虚拟对象包括:虚拟人物、虚拟动物、动漫人物等,每个虚拟对象在三维虚拟环境中具有自身的形状和体积,占据三维虚拟环境中的一部分空间。
基于上述情况,在一个示例中,士兵a控制虚拟对象a在虚拟环境中移动,当士兵a控制虚拟对象a在虚拟环境中被多个动物包围时,在虚拟对象a击杀一定数量的动物后,自动控制虚拟对象a使用击晕技能,击晕身边的动物,从而方便虚拟对象a逃脱动物的包围。
综上所述,在本实施例中,将上述虚拟角色的控制方法应用在军事仿真程序中,使士兵获得击晕技能,用于模拟烟雾弹或催泪瓦斯的效果,控制虚拟对象随机使用击晕技能击晕身边的动物,提高士兵的生存能力,使得士兵得到更好的训练。
以下为本申请的装置实施例,对于装置实施例中未详细描述的细节,可参考上述方法实施例。
图16是本申请一个示例性实施例提供的虚拟角色的控制装置的框图。所述装置包括:
显示模块901,用于显示虚拟环境画面,所述虚拟环境画面包括:位于虚拟环境中的第一虚拟角色和至少两个第二虚拟角色,所述第一虚拟角色拥有击晕技能;
控制模块902,用于响应于所述第一虚拟角色的击败数满足数量阈值,控制所述第一虚拟角色使用所述击晕技能,所述击败数是所述第一虚拟角色击败所述第二虚拟角色的数量;
所述控制模块902,还用于控制位于所述击晕技能的作用范围内的所述第二虚拟角色受到击晕作用效果,所述作用范围包括根据所述第一虚拟角色的位置在所述虚拟环境中确定的区域范围。
在一个可选的实施例中,所述装置还包括:
确定模块903,用于响应于所述第一虚拟角色的击败数满足数量阈值,根据第一概率确定是否触发所述击晕技能;
所述控制模块902,还用于响应于触发所述击晕技能,控制所述第一虚拟角色使用所述击晕技能。
在一个可选的实施例中,所述装置还包括:
记录模块904,用于响应于未触发所述击晕技能,将所述第一虚拟角色的所述击败数置零。
在一个可选的实施例中,其特征在于,所述装置还包括:
获取模块905,用于响应于所述第一虚拟角色的击败数满足数量阈值,获取位于第一范围内的目标虚拟角色数量,所述第一范围是根据所述第一虚拟角色的位置在所述虚拟环境中确定的区域范围;
所述确定模块903,还用于响应于所述目标虚拟角色数量不满足阈值,根据第一概率确定是否触发所述击晕技能。
在一个可选的实施例中,所述确定模块903,还用于响应于所述目标虚拟角色数量满足阈值,根据第二概率确定是否触发所述击晕技能,所述第二概率不等于所述第一概率。
在一个可选的实施例中,所述控制模块902,还用于响应于所述目标虚拟角色数量不满足所述阈值,控制位于所述击晕技能的所述作用范围内的所述第二虚拟角色受到第一击晕作用效果;
所述控制模块902,还用于响应于所述目标虚拟角色数量满足所述阈值,控制位于所述击晕技能的所述作用范围内的所述第二虚拟角色受到第二击晕作用效果;
其中,所述第一击晕作用效果和所述第二击晕作用效果对应有不同的最大作用时长或伤害值。
在一个可选的实施例中,所述装置还包括:
购买模块906,用于响应于购买操作,减少所述第一虚拟角色拥有的虚拟物品的数量,控制所述第一虚拟角色获得所述击晕技能;
其中,所述虚拟物品是所述第一虚拟角色通过击败所述第二虚拟角色获得的。
在一个可选的实施例中,所述显示模块901,还用于响应于所述第一虚拟角色与目标对象的距离小于距离阈值,显示技能购买界面,所述技能购买界面用于购买所述击晕技能,所述目标对象是由服务器控制的虚拟对象。
在一个可选的实施例中,所述目标对象上设置有碰撞检测模型,所述碰撞检测模型用于检测所述第一虚拟角色与所述目标对象的距离;
所述显示模块901,还用于响应于所述第一虚拟角色的三维虚拟模型与所述碰撞检测模型发生碰撞,显示所述技能购买界面。
在一个可选的实施例中,所述显示模块901,还用于显示所述第二虚拟角色对应的击晕特效,所述击晕特效包括在所述第二虚拟角色头部显示击晕标志或文字提示、对所述第二虚拟角色进行区别显示、控制所述第二虚拟角色倒地中的至少一种。
在一个可选的实施例中,所述第一击晕作用效果对应有最大作用时长,所述装置还包括:
计时模块907,用于计时所述第二虚拟角色受到所述击晕作用效果的作用时长;
所述控制模块902,还用于响应于所述作用时长达到所述最大作用时长,停止所述第二虚拟角色的所述击晕作用效果。
在一个可选的实施例中,所述控制模块902,还用于响应于位于所述击晕技能的作用范围内的所述第二虚拟角色被至少两个所述击晕技能命中,控制所述第二虚拟角色受到第三击晕作用效果。
需要说明的是:上述实施例提供的虚拟角色的控制装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的虚拟角色的控制装置与虚拟角色的控制方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图17示出了本申请一个示例性实施例提供的终端2000的结构框图。该终端2000可以是:智能手机、平板电脑、mp3播放器(movingpictureexpertsgroupaudiolayeriii,动态影像专家压缩标准音频层面3)、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端2000还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其它名称。
通常,终端2000包括有:处理器2001和存储器2002。
处理器2001可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器2001可以采用dsp(digitalsignalprocessing,数字信号处理)、fpga(field-programmablegatearray,现场可编程门阵列)、pla(programmablelogicarray,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器2001也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(centralprocessingunit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器2001可以在集成有gpu(graphicsprocessingunit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器2001还可以包括ai(artificialintelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
存储器2002可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器2002还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器2002中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器2001所执行以实现本申请中方法实施例提供的虚拟角色的控制方法。
在一些实施例中,终端2000还可选包括有:外围设备接口2003和至少一个外围设备。处理器2001、存储器2002和外围设备接口2003之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口2003相连。具体地,外围设备包括:射频电路2004、触摸显示屏2005、摄像头2006、音频电路2007、定位组件2008和电源2009中的至少一种。
外围设备接口2003可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器2001和存储器2002。在一些实施例中,处理器2001、存储器2002和外围设备接口2003被集成在同一芯片或电路板上;在一些其它实施例中,处理器2001、存储器2002和外围设备接口2003中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路2004用于接收和发射rf(radiofrequency,射频)信号,也称电磁信号。射频电路2004通过电磁信号与通信网络以及其它通信设备进行通信。射频电路2004将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路2004包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路2004可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wirelessfidelity,无线保真)网络。在一些实施例中,射频电路2004还可以包括nfc(nearfieldcommunication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏2005用于显示ui(userinterface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏2005是触摸显示屏时,显示屏2005还具有采集在显示屏2005的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器2001进行处理。此时,显示屏2005还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏2005可以为一个,设置终端2000的前面板;在另一些实施例中,显示屏2005可以为至少两个,分别设置在终端2000的不同表面或呈折叠设计;在再一些实施例中,显示屏2005可以是柔性显示屏,设置在终端2000的弯曲表面上或折叠面上。甚至,显示屏2005还可以设置成非矩形的不规则图形,也即异形屏。显示屏2005可以采用lcd(liquidcrystaldisplay,液晶显示屏)、oled(organiclight-emittingdiode,有机发光二极管)等材质制备。
摄像头组件2006用于采集图像或视频。可选地,摄像头组件2006包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtualreality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件2006还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路2007可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器2001进行处理,或者输入至射频电路2004以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端2000的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器2001或射频电路2004的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路2007还可以包括耳机插孔。
定位组件2008用于定位终端2000的当前地理位置,以实现导航或lbs(locationbasedservice,基于位置的服务)。定位组件2008可以是基于美国的gps(globalpositioningsystem,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源2009用于为终端2000中的各个组件进行供电。电源2009可以是交流电、直流电、一次性电池或可充电电池。当电源2009包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端2000还包括有一个或多个传感器2010。该一个或多个传感器2010包括但不限于:加速度传感器2011、陀螺仪传感器2012、压力传感器2013、指纹传感器2014、光学传感器2015以及接近传感器2016。
加速度传感器2011可以检测以终端2000建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器2011可以用于检测重力加速度在三个坐标轴上的分量。处理器2001可以根据加速度传感器2011采集的重力加速度信号,控制触摸显示屏2005以横向视图或纵向视图进行用户界面的显示。加速度传感器2011还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器2012可以检测终端2000的机体方向及转动角度,陀螺仪传感器2012可以与加速度传感器2011协同采集用户对终端2000的3d动作。处理器2001根据陀螺仪传感器2012采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器2013可以设置在终端2000的侧边框和/或触摸显示屏2005的下层。当压力传感器2013设置在终端2000的侧边框时,可以检测用户对终端2000的握持信号,由处理器2001根据压力传感器2013采集的握持信号进行左右手识别或快捷操作。当压力传感器2013设置在触摸显示屏2005的下层时,由处理器2001根据用户对触摸显示屏2005的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器2014用于采集用户的指纹,由处理器2001根据指纹传感器2014采集到的指纹识别用户的身份,或者,由指纹传感器2014根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器2001授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器2014可以被设置终端2000的正面、背面或侧面。当终端2000上设置有物理按键或厂商logo时,指纹传感器2014可以与物理按键或厂商logo集成在一起。
光学传感器2015用于采集环境光强度。在一个实施例中,处理器2001可以根据光学传感器2015采集的环境光强度,控制触摸显示屏2005的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏2005的显示亮度;当环境光强度较低时,调低触摸显示屏2005的显示亮度。在另一个实施例中,处理器2001还可以根据光学传感器2015采集的环境光强度,动态调整摄像头组件2006的拍摄参数。
接近传感器2016,也称距离传感器,通常设置在终端2000的前面板。接近传感器2016用于采集用户与终端2000的正面之间的距离。在一个实施例中,当接近传感器2016检测到用户与终端2000的正面之间的距离逐渐变小时,由处理器2001控制触摸显示屏2005从亮屏状态切换为息屏状态;当接近传感器2016检测到用户与终端2000的正面之间的距离逐渐变大时,由处理器2001控制触摸显示屏2005从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图17中示出的结构并不构成对终端2000的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本申请还提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述任意示例性实施例所提供的虚拟角色的控制方法。
本申请还提供了一种计算机可读存储介质,所述可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述任意示例性实施例所提供的虚拟角色的控制方法。
本申请还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述可选实现方式中提供的虚拟机角色的控制方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。