一种数据处理方法、装置及服务器与流程

文档序号:12784388阅读:297来源:国知局
一种数据处理方法、装置及服务器与流程

本发明涉及数据处理技术领域,具体涉及一种数据处理方法、装置及服务器。



背景技术:

技能作为游戏、仿真等网络应用的一个重要组成部分,技能实现一直是这类网络应用的开发人员研究的技术重点,这其中碰撞类技能的实现是较为困难的;碰撞类技能是指技能发动时,施展技能的虚拟对象会产生运动,并对运动途中碰撞的目标产生打击效果。

目前碰撞类技能一般是通过物理引擎实现,通过对虚拟场景中的虚拟对象定义碰撞器,当碰撞类技能发动时,物理引擎可驱动施展技能的虚拟对象进行运动,在虚拟对象的运动过程中,物理引擎可检测虚拟对象的碰撞器是否与其他虚拟对象的碰撞器产生接触,并在虚拟对象的碰撞器与其他虚拟对象的碰撞器产生接触时,对产生接触的虚拟对象产生打击效果。

然而网络应用中同一屏的虚拟对象的数量较多,采用物理引擎实现碰撞类技能,服务器需要对大量的信息进行处理,导致服务器的资源开销较大,因此如何简便的实现碰撞类技能,减小服务器的资源开销,成为了需要解决的问题。



技术实现要素:

有鉴于此,本发明实施例提供一种数据处理方法、装置及服务器,以简便的实现碰撞类技能,减小服务器的资源开销。

为实现上述目的,本发明实施例提供如下技术方案:

一种数据处理方法,包括:

接收客户端发送的技能施展请求,所述技能施展请求用于请求施展第一虚拟对象的第一技能;所述第一技能用于触发所述第一虚拟对象运动,并对第一虚拟对象运动途中碰撞的第二虚拟对象产生第一效果;

以第一虚拟对象在虚拟场景中的位置为起点,确定第一技能初始的技能影响范围;

根据从初始的技能影响范围开始逐次扩大的技能影响范围,逐次的扫描第二虚拟对象,直至在技能影响范围内扫描到第二虚拟对象,或者技能影响范围扩大到范围限值;

如果在技能影响范围内扫描到第二虚拟对象,从扫描到的第二虚拟对象中确定目标虚拟对象,并向所述客户端发送第一通知,以通知所述客户端控制所述第一虚拟对象运动至所述目标虚拟对象的位置,并使得所述客户端在所述第一虚拟对象与所述目标虚拟对象碰撞时,展示所述第一技能对目标虚拟对象产生的第一效果。

本发明实施例还提供一种数据处理装置,包括:

请求接收模块,用于接收客户端发送的技能施展请求,所述技能施展请求用于请求施展第一虚拟对象的第一技能;所述第一技能用于触发所述第一虚拟对象运动,并对第一虚拟对象运动途中碰撞的第二虚拟对象产生第一效果;

初始范围确定模块,用于以第一虚拟对象在虚拟场景中的位置为起点,确定第一技能初始的技能影响范围;

循环扫描模块,用于根据从初始的技能影响范围开始逐次扩大的技能影响范围,逐次的扫描第二虚拟对象,直至在技能影响范围内扫描到第二虚拟对象,或者技能影响范围扩大到范围限值;

第一结果处理模块,用于如果在技能影响范围内扫描到第二虚拟对象,从扫描到的第二虚拟对象中确定目标虚拟对象,并向所述客户端发送第一通知,以通知所述客户端控制所述第一虚拟对象运动至所述目标虚拟对象的位置,并使得所述客户端在所述第一虚拟对象与所述目标虚拟对象碰撞时,展示所述第一技能对目标虚拟对象产生的第一效果。

本发明实施例还提供一种服务器,包括上述所述的数据处理装置。

基于上述技术方案,本发明实施例提供的数据处理方法中,服务器在接收到客户端发送的请求施展第一虚拟对象的第一技能的技能施展请求后,服务器暂不控制第一虚拟对象进行运动,而是以第一虚拟对象在虚拟场景中的位置为起点,确定第一技能的初始的技能影响范围;进而根据从初始的技能影响范围开始逐次扩大的技能影响范围,逐次的扫描第二虚拟对象,直至在技能影响范围内扫描到第二虚拟对象,或者技能影响范围扩大到范围限值;这个过程中,如果服务器确定在技能影响范围内扫描到第二虚拟对象,则服务器可从扫描到的第二虚拟对象中确定目标虚拟对象,并向所述客户端发送第一通知,以通知所述客户端控制所述第一虚拟对象运动至所述目标虚拟对象的位置,并使得所述客户端在所述第一虚拟对象与所述目标虚拟对象碰撞时,展示所述第一技能对目标虚拟对象产生的第一效果,实现第一技能。

可以看出,本发明实施例可通过对第一技能的实现逻辑进行描述和配置,从而在客户端发送技能施展请求时,服务器可通过执行由程序语言描述和配置的第一技能的实现逻辑,实现第一技能,使得碰撞类技能的实现可通过简便的脚本配置完成,不需要依赖物理引擎,服务器的资源开销得以减小。同时,在未扫描到第二虚拟对象的基础上,通过逐次扩大技能影响范围至范围限值,来逐次的扫描第二虚拟对象,可使得扫描第二虚拟对象的数据处理量得到控制,降低扫描第二虚拟对象所涉及的数据处理量。

附图说明

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

图1为本发明实施例的系统架构示意图;

图2为本发明实施例提供的数据处理方法的流程图;

图3为碰撞类技能的示意图;

图4为碰撞类技能的另一示意图;

图5为本发明实施例提供的数据处理方法的另一流程图;

图6为初始的技能影响范围的示意图;

图7为扩大后的技能影响范围的示意图;

图8为本发明实施例提供的数据处理方法的再一流程图;

图9为本发明实施例在游戏中应用的示意图;

图10为本发明实施例提供的数据处理装置的结构框图;

图11为本发明实施例提供的数据处理装置的另一结构框图;

图12为本发明实施例提供的数据处理装置的再一结构框图;

图13为服务器的硬件结构框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供的数据处理方法实现碰撞类技能的方式,并不采用物理引擎,而是通过程序语言对碰撞类技能的实现逻辑进行描述和配置,从而在客户端请求发动碰撞类技能时,服务器可通过执行由程序语言描述和配置的碰撞类技能的实现逻辑,对碰撞类技能进行实现;免去现有技术定义碰撞器,且在虚拟对象的运动过程中,检测虚拟对象的碰撞器是否与其他虚拟对象的碰撞器产生接触的过程,极大的减小了服务器的资源开销。

图1示出了本发明实施例的系统架构示意图,参照图1,该系统架构可以包括:客户端10和服务器20;

客户端10可以设置在智能手机、平板电脑、笔记本电脑等用户设备上,为游戏、仿真等网络应用提供本地服务;可选的,以游戏网络应用为例,客户端10如游戏客户端;

服务器20设置于网络侧,可以为游戏、仿真等网络应用提供网络服务,服务器20可以是单独的服务器实现,也可能是由多个服务器组成的服务器群组实现;可选的,以游戏网络应用为例,服务器20如游戏服务器。

基于图1所示系统架构,客户端10可在基于用户操作施展技能时,向服务器20发送技能施展请求,该技能施展请求可以是请求施展虚拟对象的碰撞类技能。

服务器20在接收技能施展请求后,可执行由程序语言描述和配置的碰撞类技能的实现逻辑,服务器执行碰撞类技能的实现逻辑的可选流程可以如图2所示。

图2为本发明实施例提供的数据处理方法的流程图,该数据处理方法可应用于服务器,参照图2,本发明实施例提供的数据处理方法可以包括:

步骤s100、接收客户端发送的技能施展请求,所述技能施展请求用于请求施展第一虚拟对象的第一技能;所述第一技能用于触发所述第一虚拟对象运动,并对第一虚拟对象运动途中碰撞的第二虚拟对象产生第一效果。

可选的,第一技能可以是碰撞类技能的一种;以游戏网络应用为例,如碰撞类技能可触发用户控制的虚拟角色向前方冲刺,并对冲刺路径上碰撞的敌对目标发动打击,对敌对目标产生打击效果(第一效果的一种形式);图3示出了相应的示意,一个游戏角色施展碰撞类技能后,可向朝向的前方冲刺,并对冲刺路径上碰撞的敌对游戏角色发动打击,使得敌对游戏角色损失生命值;

又如,碰撞类技能可触发用户控制的虚拟角色所操作的器件(如武器)向前方投射物体,并对投射路径上的敌对目标产生打击,而如果投射路径上不存在敌对目标,则技能打空;如图4所示,图4左部分示出了一个游戏角色控制火炮向火炮朝向前方投射炮弹,但火炮投射炮弹的路径上不存在敌对目标,炮弹打空的示意,图4右部分示出了一个游戏角色控制火炮向火炮朝向前方投射炮弹,火炮投射炮弹的路径上存在敌对目标,炮弹打击敌对目标,使得敌对目标损失生命值的示意;

显然,上述描述的碰撞类技能的举例仅是示意说明,碰撞类技能的具体形式可以根据游戏等网络应用的开发需求而定义。

第一虚拟对象可以是第一技能发动时,产生运动的虚拟对象;如第一虚拟对象可以是用户所控制的虚拟角色,以游戏网络应用为例,第一虚拟对象可以是用户所控制的游戏角色;第一虚拟对象也可能是用户所控制的虚拟角色所操作的器件,以游戏网络应用为例,第一虚拟对象可以是用户所控制的游戏角色所操作的武器等;

第二虚拟对象可以是可施加第一技能的虚拟对象,具体可以是与第一虚拟对象为敌对关系的虚拟对象;第二虚拟对象如虚拟场景中的怪物,虚拟场景中与第一虚拟对象为敌对关系(敌对阵营或者对战关系)的虚拟角色等;

第一效果可以是第一技能对第二虚拟对象的打击效果;第一技能对第二虚拟对象产生第一效果,则第二虚拟对象一般会受到减益影响,如第二虚拟对象的生命值等属性值损失。

步骤s110、以第一虚拟对象在虚拟场景中的位置为起点,确定第一技能初始的技能影响范围。

可选的,第一技能的技能影响范围可以是二维的范围,也可能是三维的范围,具体视第一技能的形式和网络应用所支持的虚拟场景是二维还是三维而定。

服务器在接收到所述技能施展请求后,可以第一虚拟对象在虚拟场景中的位置,为技能影响范围的起点,确定第一技能初始的技能影响范围,第一技能初始的技能影响范围的初始尺寸可以预先设定;

本发明实施例可以确定第一虚拟对象在虚拟场景中的朝向,以第一虚拟对象在虚拟场景中的位置为起点,确定出设定初始尺寸的第一技能初始的技能影响范围,且初始的技能影响范围的朝向与第一虚拟对象在虚拟场景中的朝向相应;可选的,所得到的初始的技能影响范围在虚拟场景中对应的位置范围,可根据第一虚拟对象在虚拟场景中的位置,以及设定的初始尺寸对应的位置范围结合确定。

步骤s120、根据初始的技能影响范围扫描第二虚拟对象,判断在初始的技能影响范围内是否扫描到第二虚拟对象,若否,执行步骤s130,若是,执行步骤s160。

可选的,本发明实施例可将虚拟场景中的第二虚拟对象(如虚拟场景中与第一虚拟对象为敌对关系的虚拟对象)的位置,与初始的技能影响范围在虚拟场景中对应的位置范围进行匹配,如果存在位置与初始的技能影响范围在虚拟场景中的位置范围相匹配的第二虚拟对象,则可确定在初始的技能影响范围内扫描到第二虚拟对象,否则,确定在初始的技能影响范围内未扫描到第二虚拟对象。

步骤s130、根据设定调整尺寸扩大技能影响范围。

可选的,扩大后的技能影响范围的起点仍是第一虚拟对象在虚拟场景中的位置,扩大后的技能影响范围的朝向仍与第一虚拟对象在虚拟场景中的朝向相应;扩大技能影响范围所使用的设定调整尺寸,可以根据实际情况定义。

将初始的技能影响范围在虚拟场景中对应的位置范围,加上所述设定调整尺寸对应的虚拟场景的位置范围,则可得到扩大后的技能影响范围在虚拟场景中对应的位置范围;

如果技能影响范围已进行过扩大,则可将上一次扫描对应的技能影响范围在虚拟场景中对应的位置范围,加上所述设定调整尺寸对应的虚拟场景的位置范围,得到当前扩大后的技能影响范围在虚拟场景中对应的位置范围。

步骤s140、根据扩大后的技能影响范围扫描第二虚拟对象,判断在扩大后的技能影响范围内是否扫描到第二虚拟对象,若否,执行步骤s150,若是,执行步骤s160。

可选的,本发明实施例可将虚拟场景中的第二虚拟对象的位置,与扩大后的技能影响范围在虚拟场景中对应的位置范围进行匹配,判断在扩大后的技能影响范围内是否扫描到第二虚拟对象。

步骤s150、判断扩大后的技能影响范围,是否达到第一技能的技能影响范围的范围限值,若否,执行步骤s130,若是,执行步骤s170。

可见,本发明实施例可在以技能影响范围扫描一次第二虚拟对象,且未扫描到第二虚拟对象时,扩大一次技能影响范围,并以扩大后的技能影响范围再次扫描第二虚拟对象,以此循环,直至扩大后的技能影响范围达到范围限值,或者,在技能影响范围内扫描到第二虚拟对象。

第一技能的技能影响范围的范围限值,可以根据第一技能的具体情况设定,如与第一节能的技能打击范围相应。

步骤s160、从扫描到的第二虚拟对象中确定目标虚拟对象,向所述客户端发送第一通知,以通知所述客户端控制所述第一虚拟对象运动至所述目标虚拟对象的位置,并使得所述客户端在所述第一虚拟对象与所述目标虚拟对象碰撞时,展示所述第一技能对目标虚拟对象产生的第一效果。

可选的,服务器向所述客户端发送第一通知的作用可以是,告知客户端第一技能所要施加的目标虚拟对象在虚拟场景的中位置,从而所述客户端可以目标虚拟对象在虚拟场景中的位置,为所述第一虚拟对象的运动目的地,所述客户端可控制所述第一虚拟对象运动至所述运动目的地;同时,在所述第一虚拟对象运动至所述运动目的地,与所述目标虚拟对象发生碰撞时,所述客户端可展示所述第一技能对目标虚拟对象产生的第一效果。

可见,如果服务器在第一技能的初始的技能影响范围内扫描到第二虚拟对象,或者,在扩大后的技能影响范围(可以是扩大至少一次,但不大于范围限值的技能影响范围)内扫描到第二虚拟对象,则服务器可从扫描到的第二虚拟对象中确定目标虚拟对象,并且可使第一虚拟对象运动至目标虚拟对象在虚拟场景中的位置,并在第一虚拟对象运动至该位置与目标虚拟对象发生碰撞时,对目标虚拟对象产生第一技能的第一效果。

可选的,本发明实施例可定义从扫描到的第二虚拟对象中确定目标虚拟对象的设定条件,如从扫描到的第二虚拟对象中,选取与第一虚拟对象距离最近的目标虚拟对象,或者,将扫描到的第二虚拟对象均确定为目标虚拟对象等,设定条件可以根据第一技能的可打击数量等情况设定。

如以第一技能可触发用户控制的虚拟角色向前方冲刺,并对冲刺路径上的敌对目标发动打击为例,服务器在以虚拟角色在虚拟场景中的位置为起点,确定出第一技能的初始的技能影响范围,并扫描到敌对目标,或者,以扩大后的技能影响范围扫描到敌对目标后,服务器可从扫描到的敌对目标中,选取与虚拟角色的距离最近的目标敌对目标,并向所述客户端发送第一通知,使得所述客户端控制虚拟角色以目标敌对目标在虚拟场景中的位置为目的地向前冲刺,并在虚拟角色冲刺到目标敌对目标的位置时,客户端展示第一技能对目标敌对目标的打击效果。

步骤s170、向所述客户端发送第二通知,以通知所述客户端控制所述第一虚拟对象运动至所述第一技能设定的距离限值对应的位置,并使得所述客户端在所述第一虚拟对象运动至该位置时,展示所述第一技能的第二效果。

如果服务器在扩大技能影响范围至范围限值的过程中,通过技能影响范围每次均扫描不到第二虚拟对象,则第一虚拟对象可根据第一技能设定的距离限值进行运动,即将距离第一虚拟对象为所述距离限值的位置作为目的地,并控制第一虚拟对象运动至该目的地,产生第一技能的第二效果。

可选的,由于第一虚拟对象运动的路径中没有第二虚拟对象,因此第一虚拟对象在运动的过程中不存在可碰撞的第二虚拟对象,第一虚拟对象在运动结束后第一技能的打击将打空,相应的,第一技能的第二效果可以是第一技能的打空效果。可选的,第一技能的打击效果和打空效果可以根据实际情况设定,并没有固定的效果表现形式。

本发明实施例提供的数据处理方法中,服务器在接收到客户端发送的请求施展第一虚拟对象的第一技能的技能施展请求后,服务器暂不控制第一虚拟对象进行运动,而是以第一虚拟对象在虚拟场景中的位置为起点,确定第一技能的初始的技能影响范围;进而根据从初始的技能影响范围开始逐次扩大的技能影响范围,逐次的扫描第二虚拟对象,直至在技能影响范围内扫描到第二虚拟对象,或者技能影响范围扩大到范围限值;这个过程中,如果服务器确定在技能影响范围内扫描到第二虚拟对象,则服务器可从扫描到的第二虚拟对象中确定目标虚拟对象,并向所述客户端发送第一通知,以通知所述客户端控制所述第一虚拟对象运动至所述目标虚拟对象的位置,并使得所述客户端在所述第一虚拟对象与所述目标虚拟对象碰撞时,展示所述第一技能对目标虚拟对象产生的第一效果,实现第一技能。

可以看出,本发明实施例可通过对第一技能的实现逻辑进行描述和配置,从而在客户端发送技能施展请求时,服务器可通过执行由程序语言描述和配置的第一技能的实现逻辑,实现第一技能,使得碰撞类技能的实现可通过简便的脚本配置完成,不需要依赖物理引擎,服务器的资源开销得以减小。同时,在未扫描到第二虚拟对象的基础上,通过逐次扩大技能影响范围至范围限值,来逐次的扫描第二虚拟对象,可使得扫描第二虚拟对象的数据处理量得到控制,降低扫描第二虚拟对象所涉及的数据处理量。

可选的,从图1所示可以看出,图1触达步骤s160的分支,可以实现第一技能的第一效果,至此,通过简便的脚本配置可完成碰撞类技能的打击效果的实现,减小服务器的资源开销,因此图1触达步骤s160的分支已可达到减小服务器的资源开销的目的,解决技术问题;而图1触达步骤s170的分支,可以认为是在达到减小服务器的资源开销的目的的基础上,进一步实现碰撞类技能的打空效果的手段;

即进一步,如果在扩大技能影响范围至范围限值的过程中,通过技能影响范围每次均扫描不到第二虚拟对象,服务器可向客户端发送第二通知,以通知所述客户端控制所述第一虚拟对象运动至所述第一技能设定的距离限值对应的位置,并使得所述客户端在所述第一虚拟对象运动至该位置时,展示所述第一技能的第二效果,从而对第一技能的第二效果进行实现。

本发明实施例提供的数据处理方法如果根据上一次扫描对应的技能影响范围,未扫描到第二虚拟对象,则可以设定调整尺寸扩大上一次扫描对应的技能影响范围,得到本次扫描对应的技能影响范围(即本次扫描所对应的技能影响范围,与上一次扫描所对应的技能影响范围相差设定调整尺寸),从而根据本次扫描对应的技能影响范围扫描第二虚拟对象,以此循环,直至在技能影响范围内扫描到第二虚拟对象,或者技能影响范围扩大到范围限值;

其中,上一次扫描对应的技能影响范围可能是初始的技能影响范围,也可能是非初始的扩大过至少一次的技能影响范围。

可选的,本发明实施例可将“如果根据上一次扫描对应的技能影响范围,未扫描到第二虚拟对象,以设定调整尺寸扩大上一次扫描对应的技能影响范围,得到本次扫描对应的技能影响范围,根据本次扫描对应的技能影响范围扫描第二虚拟对象”的过程简称为第一步骤,本发明实施例可循环执行第一步骤,直至在技能影响范围内扫描到第二虚拟对象,或者技能影响范围扩大到范围限值。

可选的,设定调整尺寸可以是设定调整宽度,本发明实施例可以设定的第一技能的长度限值作为初始长度,同时以设定的初始宽度确定第一技能的初始的技能影响范围,并在后续通过技能影响范围未扫描到第二虚拟对象时,以设定调整宽度扩大第一技能的技能影响范围,并以每次扩大后的技能影响范围进行一次第二虚拟对象的扫描,直至第一技能的技能影响范围的宽度达到设定的宽度限值,或者,在技能影响范围内扫描到第二虚拟对象;

相应的,本发明实施例扩大技能影响范围的方式可以是,限制技能影响范围的初始长度为长度限值,从设定的初始宽度开始,逐次的扩大技能影响范围的宽度,直至在技能影响范围内扫描到第二虚拟对象,或者技能影响范围的宽度扩大到宽度限值;

进一步,如果第一技能支持三维的技能影响范围,则还可限制技能影响范围的初始长度为设定的第一技能的长度限值,初始高度为设定的第一技能的高度限值,从设定的初始宽度开始,逐次的扩大技能影响范围的宽度,直至在技能影响范围内扫描到第二虚拟对象,或者技能影响范围的宽度扩大到宽度限值;

可选的,图5示出了本发明实施例提供的数据处理方法的另一流程图,该数据处理方法可应用于服务器,参照图5,本发明实施例提供的数据处理方法可以包括:

步骤s200、接收客户端发送的技能施展请求,所述技能施展请求用于请求施展第一虚拟对象的第一技能;所述第一技能用于触发所述第一虚拟对象运动,并对第一虚拟对象运动途中碰撞的第二虚拟对象产生第一效果。

步骤s210、以第一虚拟对象在虚拟场景中的位置为起点,设定的第一技能的长度限值为初始长度,设定宽度为初始宽度确定第一技能初始的技能影响范围。

可选的,初始的技能影响范围的朝向,可与第一虚拟对象在虚拟场景中的朝向相应。

如图6所示,一个游戏角色在发动第一技能时,服务器可以游戏角色在虚拟场景中的当前位置为起点,设定的第一技能的长度限值(最长长度)为初始长度,设定调整宽度为初始宽度确定出第一技能初始的技能影响范围,该初始的技能影响范围如图6方形框所示;

显然,如果第一技能的技能影响范围支持三维范围,则还可设置第一技能初始的技能影响范围的初始高度为,第一技能设定的高度限值。

可选的,作为初始宽度的设定宽度,与扩大技能影响范围所使用的设定调整宽度可能相同,也可能不同,具体可视实际情况设定。

步骤s220、根据初始的技能影响范围扫描第二虚拟对象,判断在初始的技能影响范围内是否扫描到第二虚拟对象,若否,执行步骤s230,若是,执行步骤s260。

步骤s230、以设定调整宽度扩大技能影响范围的宽度。

本发明实施例在扩大技能影响范围时,由于技能影响范围的长度,或者,长度和高度已为限值,因此可调整的尺寸为技能影响范围的宽度,本发明实施例可在每扩大一次技能影响范围时,以设定调整宽度扩大上一次扫描对应的技能影响范围,得到本次扫描对应的技能影响范围;

如图7所示,图7为扩大了一次的技能影响范围,与初始的技能影响范围的比对示意图,两者的长度并没有变化,而是通过扩大宽度来扩大技能影响范围。

步骤s240、根据扩大后的技能影响范围扫描第二虚拟对象,判断在扩大后的技能影响范围内是否扫描到第二虚拟对象,若否,执行步骤s250,若是,执行步骤s260。

步骤s250、判断扩大后的技能影响范围的宽度,是否达到第一技能的技能影响范围的宽度限值,若否,执行步骤s230,若是,执行步骤s270。

可见,服务器器在接收到客户端发送的请求施展第一虚拟对象的第一技能的技能施展请求后,服务器可暂不控制第一虚拟对象进行运动,而是可以第一虚拟对象在虚拟场景中的位置为起点,设定的第一技能的长度限值为初始长度,设定宽度为初始宽度确定第一技能初始的技能影响范围,进而根据从初始的技能影响范围开始,逐次扩大设定调整宽度的技能影响范围,逐次的扫描第二虚拟对象,直至在技能影响范围内扫描到第二虚拟对象,或者技能影响范围的宽度扩大到宽度限值。

步骤s260、从扫描到的第二虚拟对象中确定目标虚拟对象,向所述客户端发送第一通知,以通知所述客户端控制所述第一虚拟对象运动至所述目标虚拟对象的位置,并使得所述客户端在所述第一虚拟对象与所述目标虚拟对象碰撞时,展示所述第一技能对目标虚拟对象产生的第一效果。

步骤s270、向所述客户端发送第二通知,以通知所述客户端控制所述第一虚拟对象运动至所述第一技能设定的距离限值对应的位置,并使得所述客户端在所述第一虚拟对象运动至该位置时,展示所述第一技能的第二效果。

可选的,本发明实施例扩大技能影响范围的设定调整尺寸也可以是设定调整长度,本发明实施例可以第一虚拟对象在虚拟场景中的位置为起点,设定的第一技能的宽度限值为初始宽度,设定长度为初始长度确定第一技能初始的技能影响范围,并在后续通过技能影响范围未扫描到第二虚拟对象时,以设定调整长度扩大第一技能的技能影响范围;可选的,作为初始长度的设定长度,与扩大技能影响范围所使用的设定调整长度可能相同,也可能不同,具体可视实际情况设定;

可选的,本发明实施例扩大技能影响范围的另一中方式可以是,限制技能影响范围的初始宽度为设定的第一技能的宽度限值,从设定的初始长度开始,逐次的扩大技能影响范围的长度,直至在技能影响范围内扫描到第二虚拟对象,或者技能影响范围的长度扩大到长度限值;

进一步,如果第一技能支持三维的技能影响范围,则还可限制技能影响范围的初始宽度为宽度限值,初始高度为设定的第一技能的高度限值,进而从设定的初始长度开始,逐次的扩大技能影响范围的长度,直至在技能影响范围内扫描到第二虚拟对象,或者技能影响范围的长度扩大到长度限值。

可选的,如果服务器通过本次扫描对应的技能影响范围(本次扫描对应的技能影响范围如,第一次扫描所使用的初始的技能影响范围,或者,非第一次扫描所使用的扩大至少一次的技能影响范围),扫描到与第一虚拟对象为敌对关系的第二虚拟对象,则可将扫描到的第二虚拟对象中符合设定条件的虚拟对象,作为目标虚拟对象;

所述扫描到的第二虚拟对象中符合设定条件的虚拟对象如,所述扫描到的第二虚拟对象中,与第一虚拟对象的距离最近的虚拟对象;或者,将扫描到的第二虚拟对象均作为目标虚拟对象;

设定条件的具体形式可根据第一技能的可打击数量等确定,如第一技能为单体打击技能,则可选取所扫描到的与第一虚拟对象的距离最近的第二虚拟对象,为目标虚拟对象,如第一技能为群体打击技能,则可将扫描到的第二虚拟对象均作为目标虚拟对象。

可选的,本发明实施例可在上一次未扫描到第二虚拟对象时,在下设定数帧(如下一帧)到来时,扩大技能影响范围,并以扩大后的技能影响范围扫描第二虚拟对象,以此循环,直至在技能影响范围内扫描到第一虚拟对象,或者技能影响范围扩大到范围限值;并且每次扫描第二虚拟对象时,可根据当前帧的虚拟场景中的第二虚拟对象的位置,与本次扫描所使用的技能影响范围在虚拟场景中的位置范围的匹配实现;

图8示出了本发明实施例提供的数据处理方法的再一流程图,该数据处理方法可应用于服务器,参照图8,本发明实施例提供的数据处理方法可以包括:

步骤s300、接收客户端发送的技能施展请求,所述技能施展请求用于请求施展第一虚拟对象的第一技能;所述第一技能用于触发所述第一虚拟对象运动,并对第一虚拟对象运动途中碰撞的第二虚拟对象产生第一效果。

步骤s310、以第一虚拟对象在虚拟场景中的位置为起点,确定第一技能初始的技能影响范围。

步骤s320、将当前帧的虚拟场景中的第二虚拟对象的位置,与初始的技能影响范围在虚拟场景中对应的位置范围进行匹配,判断在初始的技能影响范围内是否扫描到第二虚拟对象,若否,执行步骤s330,若是,执行步骤s360。

步骤s330、下设定数帧到来,以设定调整尺寸扩大技能影响范围,得到本次扫描对应的技能影响范围。

步骤s340、将当前帧的虚拟场景中的第二虚拟对象的位置,与本次扫描对应的技能影响范围在虚拟场景中的位置范围进行匹配,判断在本次扫描对应的技能影响范围内是否扫描到第二虚拟对象,若否,执行步骤s350,若是,执行步骤s360。

步骤s350、判断扩大后的技能影响范围,是否达到第一技能的技能影响范围的范围限值,若否,执行步骤s330,若是,执行步骤s370。

步骤s360、从扫描到的第二虚拟对象中确定目标虚拟对象,向所述客户端发送第一通知,以通知所述客户端控制所述第一虚拟对象运动至所述目标虚拟对象的位置,并使得所述客户端在所述第一虚拟对象与所述目标虚拟对象碰撞时,展示所述第一技能对目标虚拟对象产生的第一效果。

步骤s370、向所述客户端发送第二通知,以通知所述客户端控制所述第一虚拟对象运动至所述第一技能设定的距离限值对应的位置,并使得所述客户端在所述第一虚拟对象运动至该位置时,展示所述第一技能的第二效果。

可见,如果根据上一次扫描对应的技能影响范围,未扫描到第二虚拟对象,本发明实施例可在下设定数帧(如下一帧)到来时,以设定调整尺寸扩大上一次扫描对应的技能影响范围,得到本次扫描对应的技能影响范围,并根据本次扫描对应的技能影响范围扫描第二虚拟对象;同时,在扫描第二虚拟对象时,可将当前帧的虚拟场景中的第二虚拟对象的位置,与本次扫描对应的技能影响范围在虚拟场景中的位置范围进行匹配,以判断在本次扫描对应的技能影响范围内是否扫描到第二虚拟对象,使得对第二虚拟对象的扫描更为精准,提升了第一技能实现的精准性。

可选的,所述客户端根据所述第一通知,控制所述第一虚拟对象运动至所述目标虚拟对象的位置后,所述客户端可向服务器发送第一效果展示请求,从而服务器可向同屏显示有目标虚拟对象的客户端发送第三通知,所述第三通知用于通知展示第一技能对目标虚拟对象产生的第一效果,以实现第一技能的第一效果的在客户端之间的同步;

可选的,所述客户端根据所述第二通知,控制所述第一虚拟对象运动至第一技能设定的距离限值对应的位置后,所述客户端可向服务器发送第二效果展示请求,从而服务器可向当前显示范围与所述距离限值对应的位置相匹配的客户端发送第四通知,所述第四通知用于通知展示第一技能的第二效果,以实现第一技能的第二效果的在客户端之间的同步。

以游戏网络应用,特别是mmorpg(大型多人在线角色扮演游戏)为例,本发明实施例提供的数据处理方法在实现碰撞类技能时,可不依赖物理引擎,而是通过简便的脚本配置实现;

如图9所示,游戏客户端可基于用户操作(如用户点击碰撞类技能的技能图标,或者,用户点击与碰撞类技能对应的键盘按键)向游戏服务器发送游戏角色a施展碰撞类技能的技能施展请求;

游戏服务器接收该技能施展请求后,如果判断该碰撞类技能可用(如游戏角色a的魔法、生命等属性值能满足碰撞类技能的消耗,碰撞类技能的冷却时间已结束等),游戏服务器可以游戏角色a在游戏地图(虚拟场景的一种形式)中的位置为起点,以该碰撞类技能对应的长度限值(如影响长度限值)、高度限值(如影响高度限值)、设定初始宽度确定出初始的技能影响范围s1;

游戏服务器调取当前帧游戏地图中与游戏角色a为敌对关系的游戏角色的位置,将所调取的位置与技能影响范围s1在游戏地图中的位置范围进行匹配,判断在技能影响范围s1内是否扫描到敌对关系的游戏角色;

游戏服务器如果在技能影响范围s1内未扫描到敌对关系的游戏角色,则在下一帧带来时,以设定调整宽度扩大技能影响范围,得到技能影响范围s2,并调取当前帧游戏地图中与游戏角色a为敌对关系的游戏角色的位置,将所调取的位置与技能影响范围s2在游戏地图中的位置范围进行匹配,判断在技能影响范围s2内是否扫描到敌对关系的游戏角色;

游戏服务器如果在技能影响范围s2内未扫描到敌对关系的游戏角色,则游戏服务器重复一帧扩大一次技能影响范围,并以扩大后的技能影响范围扫描敌对关系的游戏角色的步骤,直至在技能影响范围内扫描到敌对关系的游戏角色,或者,技能影响范围的宽度扩大到宽度限值;如图9所示,技能影响范围的宽度经过4次扩大达到了宽度限值,不能再扩大;

如图9所示,游戏服务器在第三次的扫描中,在技能影响范围s3内扫描到敌对关系的游戏角色,游戏服务器可从中选取与游戏角色a的距离最近的游戏角色b为技能打击目标,并向游戏客户端发送第一通知;

游戏客户端接收第一通知后,可控制游戏角色a运动至游戏角色b的位置,在游戏角色a与游戏角色b碰撞时,展示碰撞类技能对游戏角色b的打击效果;同时,向游戏服务器发送打击效果同步请求;

游戏服务器可向同屏显示游戏角色b的客户端发送第三通知,以通知这些客户端同步展示碰撞类技能对游戏角色b的打击效果。

本发明实施例提供的数据处理方法,服务器可通过执行由程序语言描述和配置的第一技能的实现逻辑,具体可在接收到客户端发送的请求施展第一虚拟对象的第一技能的技能施展请求后,根据从第一技能初始的技能影响范围开始逐次扩大的技能影响范围,逐次的扫描第二虚拟对象,直至在技能影响范围内扫描到第二虚拟对象,或者技能影响范围扩大到范围限值;这个过程中,如果在技能影响范围内扫描到的第二虚拟对象并从中确定目标虚拟对象,服务器可通过向客户端发送第一通知,对第一技能进行实现;可见,本发明实施例中,碰撞类技能的实现可通过简便的脚本配置完成,不需要依赖物理引擎,服务器的资源开销得以减小;同时也可减轻客户端由于配合使用物理引擎所带来的数据处理压力。进一步,本发明实施例在未扫描到第二虚拟对象的基础上,通过逐次扩大技能影响范围至范围限值,来逐次的扫描第二虚拟对象,可使得扫描第二虚拟对象的数据处理量得到控制,为降低扫描第二虚拟对象所涉及的数据处理量提供可能。

下面对本发明实施例提供的数据处理装置进行介绍,下文描述的数据处理装置可与上文描述的数据处理方法相互参照。下文描述的数据处理装置可以认为是服务器为实现本发明实施例提供的数据处理方法,所需设置的功能模块架构。

图10为本发明实施例提供的数据处理装置的结构框图,该数据处理装置可应用于服务器,参照图10,本发明实施例提供的数据处理装置可以包括:

请求接收模块100,用于接收客户端发送的技能施展请求,所述技能施展请求用于请求施展第一虚拟对象的第一技能;所述第一技能用于触发所述第一虚拟对象运动,并对第一虚拟对象运动途中碰撞的第二虚拟对象产生第一效果;

初始范围确定模块200,用于以第一虚拟对象在虚拟场景中的位置为起点,确定第一技能初始的技能影响范围;

循环扫描模块300,用于根据从初始的技能影响范围开始逐次扩大的技能影响范围,逐次的扫描第二虚拟对象,直至在技能影响范围内扫描到第二虚拟对象,或者技能影响范围扩大到范围限值;

第一结果处理模块400,用于如果在技能影响范围内扫描到第二虚拟对象,从扫描到的第二虚拟对象中确定目标虚拟对象,并向所述客户端发送第一通知,以通知所述客户端控制所述第一虚拟对象运动至所述目标虚拟对象的位置,并使得所述客户端在所述第一虚拟对象与所述目标虚拟对象碰撞时,展示所述第一技能对目标虚拟对象产生的第一效果。

可选的,图11示出了本发明实施例提供的数据处理装置的另一结构框图,结合图10和图11所示,本发明实施例提供的数据处理装置还可以包括:

第二结果处理模块500,用于如果在扩大技能影响范围至范围限值的过程中,通过技能影响范围每次均扫描不到第二虚拟对象,向所述客户端发送第二通知,以通知所述客户端控制所述第一虚拟对象运动至所述第一技能设定的距离限值对应的位置,并使得所述客户端在所述第一虚拟对象运动至该位置时,展示所述第一技能的第二效果。

可选的,初始范围确定模块200,用于以第一虚拟对象在虚拟场景中的位置为起点,确定第一技能初始的技能影响范围,具体包括:

以第一虚拟对象在虚拟场景中的位置为起点,确定设定初始尺寸的第一技能初始的技能影响范围;所述初始的技能影响范围的朝向与第一虚拟对象在虚拟场景中的朝向相应。

可选的,循环扫描模块300,用于根据从初始的技能影响范围开始逐次扩大的技能影响范围,逐次的扫描第二虚拟对象,直至在技能影响范围内扫描到第二虚拟对象,或者技能影响范围扩大到范围限值,具体可以包括:

循环执行第一步骤,直至在技能影响范围内扫描到第二虚拟对象,或者技能影响范围扩大到范围限值;

所述第一步骤包括:如果根据上一次扫描对应的技能影响范围,未扫描到第二虚拟对象,以设定调整尺寸扩大上一次扫描对应的技能影响范围,得到本次扫描对应的技能影响范围,根据本次扫描对应的技能影响范围扫描第二虚拟对象。

可选的,所述上一次扫描对应的技能影响范围包括:初始的技能影响范围,或,扩大过至少一次的技能影响范围。

可选的,初始范围确定模块200,用于以第一虚拟对象在虚拟场景中的位置为起点,确定设定初始尺寸的第一技能初始的技能影响范围,具体包括:

以第一虚拟对象在虚拟场景中的位置为起点,设定的第一技能的长度限值为初始长度,设定宽度为初始宽度确定第一技能初始的技能影响范围;

或,以第一虚拟对象在虚拟场景中的位置为起点,设定的第一技能的长度限值为初始长度,设定的第一技能的高度限值为初始高度,设定宽度为初始宽度确定第一技能初始的技能影响范围;

相应的,循环扫描模块300,用于以设定调整尺寸扩大上一次扫描对应的技能影响范围,具体包括:

以设定调整宽度扩大上一次扫描对应的技能影响范围。

可选的,所述范围限值包括:所述第一技能的技能影响范围的宽度限值。

可选的,循环扫描模块300,用于如果根据上一次扫描对应的技能影响范围,未扫描到第二虚拟对象,以设定调整尺寸扩大上一次扫描对应的技能影响范围,得到本次扫描对应的技能影响范围,具体包括:

如果根据上一次扫描对应的技能影响范围,未扫描到第二虚拟对象,在下设定数帧到来时,以设定调整尺寸扩大上一次扫描对应的技能影响范围,得到本次扫描对应的技能影响范围;

相应的,循环扫描模块300,用于根据本次扫描对应的技能影响范围扫描第二虚拟对象,具体包括:

将当前帧的虚拟场景中的第二虚拟对象的位置,与本次扫描对应的技能影响范围在虚拟场景中的位置范围进行匹配,判断在本次扫描对应的技能影响范围内是否扫描到第二虚拟对象。

可选的,所述第二虚拟对象为与第一虚拟对象为敌对关系的虚拟对象;

第一结果处理模块400,用于从扫描到的第二虚拟对象中确定目标虚拟对象,具体包括:

从扫描到的第二虚拟对象中,确定符合设定条件的目标虚拟对象。

可选的,第一结果处理模块400,用于从扫描到的第二虚拟对象中,确定符合设定条件的目标虚拟对象,具体包括:

从扫描到的第二虚拟对象中,确定与所述第一虚拟对象的距离最近的目标虚拟对象。

可选的,图12示出了本发明实施例提供的数据处理装置的再一结构框图,结合图11和图12所示,该数据处理装置还可以包括:

第一同步模块600,用于接收所述客户端发送的第一效果展示请求,向同屏显示有目标虚拟对象的客户端发送第三通知,所述第三通知用于通知展示第一技能对目标虚拟对象产生的第一效果。

第二同步模块700,用于接收所述客户端发送的第二效果展示请求,向当前显示范围与所述距离限值对应的位置相匹配的客户端发送第四通知,所述第四通知用于通知展示第一技能的第二效果。

本发明实施例提供的数据处理装置可通过简便的脚本配置,实现碰撞类技能,不需要依赖物理引擎,服务器的资源开销得以减小。

本发明实施例还提供一种服务器,包括上述所述的数据处理装置。

可选的,图13示出了服务器的硬件结构,参照图13,该服务器可以包括:处理器1,通信接口2,存储器3和通信总线4;

其中处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;

可选的,通信接口2可以为通信模块的接口,如gsm模块的接口;

处理器1可能是一个中央处理器cpu,或者是特定集成电路asic(applicationspecificintegratedcircuit),或者是被配置成实施本发明实施例的一个或多个集成电路。

存储器3可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。

其中,处理器1具体用于:

接收客户端发送的技能施展请求,所述技能施展请求用于请求施展第一虚拟对象的第一技能;所述第一技能用于触发所述第一虚拟对象运动,并对第一虚拟对象运动途中碰撞的第二虚拟对象产生第一效果;

以第一虚拟对象在虚拟场景中的位置为起点,确定第一技能初始的技能影响范围;

根据从初始的技能影响范围开始逐次扩大的技能影响范围,逐次的扫描第二虚拟对象,直至在技能影响范围内扫描到第二虚拟对象,或者技能影响范围扩大到范围限值;

如果在技能影响范围内扫描到第二虚拟对象,从扫描到的第二虚拟对象中确定目标虚拟对象,并向所述客户端发送第一通知,以通知所述客户端控制所述第一虚拟对象运动至所述目标虚拟对象的位置,并使得所述客户端在所述第一虚拟对象与所述目标虚拟对象碰撞时,展示所述第一技能对目标虚拟对象产生的第一效果。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的核心思想或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1