发明内容
有鉴于此,本发明实施例提供了一种数据处理方法与装置、计算设备和计算机可读存储介质,以解决现有技术中存在的技术缺陷。
根据本发明实施例的第一方面,公开了一种数据处理方法,用于客户端,所述方法包括:
接收针对虚拟场景中的目标角色的技能选择指令并上传至服务器;
接收所述服务器响应于所述技能选择指令反馈的所述技能选择指令对应的技能对象的生成参数,并根据预设的规则结合所述生成参数得到所述技能对象的效果数据;
根据所述技能对象的效果数据渲染所述目标角色释放所述技能对象在客户端的虚拟场景中的效果。
可选地,所述生成参数包括静态参数和动态参数,所述静态参数包括非随机部分,所述动态参数包括随机部分;
可选地,接收所述服务器下发的基于所述技能选择指令反馈的虚拟场景中所述技能对象的生成参数,并根据预设的规则结合所述生成参数得到所述技能对象的效果数据,包括:
接收所述服务器下发的基于所述技能选择指令反馈的虚拟场景中所述技能对象的生成参数,判断所述生成参数的类型;
在所述生成参数为静态参数的情况下,根据所述静态参数中的非随机部分确定所述技能对象在虚拟场景中的固定间距、相邻技能对象的固定角度偏差、所述技能对象的数量、所述技能对象的基础速度和所述技能对象的落点范围半径,结合第一规则生成所述技能对象的第一效果数据;
在所述生成参数为动态参数的情况下,根据所述随机部分确定所述技能对象在虚拟场景中的随机间距、相邻技能对象的随机角度偏差、所述技能对象的数量、所述技能对象的基础速度和所述技能对象的落点范围半径,结合第二规则生成所述技能对象的第二效果数据。
可选地,所述预设的规则包括技能对象的运动参数以及技能对象生成的时间间隔;
可选地,结合第一规则得到所述技能对象的第一效果数据,包括:
根据所述静态参数确定所述技能对象的落点在所述技能对象的落点范围半径内;
在所述运动参数包括运动角度的情况下,根据所述非随机部分确定所述技能对象的运动角度为在0至90度范围内的一具体角度;
通过所述技能对象的落点与所述技能对象的运动角度确定所述技能对象的出发点;
根据所述非随机部分确定所述技能对象的生成时间点为预设的时间间隔内的时间点;
根据所述技能对象的固定间距、相邻技能对象的固定角度偏差、所述技能对象的数量、所述技能对象的基础速度、所述技能对象的落点、所述技能对象的运动角度、所述技能对象的出发点以及所述技能对象的生成时间点,生成第一效果数据。
可选地,结合第二规则生成所述技能对象的第二效果数据,包括:
根据所述随机部分确定所述技能对象的落点为所述技能对象的落点范围半径内的任意一点;
在所述运动参数包括运动角度的情况下,根据所述随机部分确定所述技能对象的运动角度为0至90度范围内的任意角度;
通过所述技能对象的落点与所述技能对象的运动角度确定所述技能对象的出发点;
根据所述随机部分确定所述技能对象的生成时间点为预设的时间间隔内的时间点;
根据所述技能对象的间距、相邻技能对象的随机角度偏差、所述技能对象的数量、所述技能对象的基础速度、所述技能对象的落点、所述技能对象的运动角度、所述技能对象的出发点和所述技能对象的生成时间点,生成所述技能对象的第二效果数据。
可选地,所述虚拟场景中的效果包括所述技能对象的显示时间与所述技能对象的动画效果;
可选地,根据所述技能对象的效果数据渲染所述技能对象在客户端的虚拟场景中的效果,包括:
基于所述技能对象的效果数据,确定在预设的时间间隔内技能对象的显示时间,播放技能对象的动画效果。
根据本发明实施例的第二方面,公开了一种数据处理方法,用于服务器,所述方法包括:
接收客户端上传的针对目标对象的技能选择指令,根据所述技能选择指令确定所述技能中的技能对象的类型,并根据所述技能对象的类型确定虚拟场景中所述技能对象的生成参数;
将所述生成参数下发至客户端,根据预设的规则结合所述生成参数得到所述技能对象的效果数据。
可选地,所述技能对象包括静态类型和动态类型,所述生成参数包括静态参数和动态参数;
可选地,根据所述技能选择指令确定技能对象的类型,并根据所述技能对象的类型确定虚拟场景中所述技能对象的生成参数,包括:
根据所述技能选择指令确定所述技能中的技能对象的类型为静态类型的情况下,确定所述生成参数为静态参数;
根据所述技能选择指令确定所述技能中的技能对象的类型为动态类型的情况下,确定所述生成参数为动态参数。
可选地,所述静态参数包括非随机部分,所述动态参数包括随机部分;
根据预设的规则结合所述生成参数得到所述技能对象的效果数据,包括:
在所述生成参数为静态参数的情况下,根据所述非随机部分确定所述技能对象在虚拟场景中的固定间距、相邻技能对象的固定角度偏差、所述技能对象的数量、所述技能对象的基础速度和所述技能对象的落点范围半径,结合第一规则生成第一效果数据;
在所述生成参数为动态参数的情况下,根据所述随机部分确定所述技能对象在虚拟场景中的间距、相邻技能对象的随机角度偏差、所述技能对象的数量、所述技能对象的基础速度和所述技能对象的落点范围半径,结合第二规则生成第二效果数据。
可选地,所述预设的规则包括技能对象的运动参数以及技能对象生成的时间间隔;
可选地,结合第一规则生成第一效果数据,包括:
根据所述成参数确定所述技能对象的落点在所述技能对象的落点范围半径内;
在所述运动参数包括运动角度的情况下,根据所述非随机部分确定所述技能对象的运动角度为在0至90度范围内的一具体角度;
通过所述技能对象的落点与所述技能对象的运动角度确定所述技能对象的出发点;
根据所述非随机部分确定所述技能对象的生成时间点为预设的时间间隔内的时间点;
根据所述技能对象的固定间距、相邻技能对象的固定角度偏差、所述技能对象的数量、所述技能对象的基础速度、所述技能对象的落点、所述技能对象的运动角度、所述技能对象的出发点以及所述技能对象的生成时间点,生成第一效果数据。
可选地,结合第二规则生成第二效果数据,包括:
根据所述随机部分确定技能对象的落点为所述技能对象的落点范围半径内的任意一点;
在所述运动参数包括运动角度的情况下,根据所述随机部分确定所述技能对象的运动角度为0至90度范围内的任意角度;
通过所述技能对象的落点与所述技能对象的运动角度确定所述技能对象的出发点;
根据所述随机部分确定所述技能对象的生成时间点为预设的时间间隔内的任意时间点;
根据所述技能对象的间距、相邻技能对象的随机角度偏差、所述技能对象的数量、所述技能对象的基础速度、所述技能对象的落点、所述技能对象的运动角度、所述技能对象的出发点以及所述技能对象的生成时间点,生成第二效果数据。
根据本发明实施例的第三方面,公开了一种数据处理装置,用于客户端,所述装置包括:
上传模块,被配置为接收针对虚拟场景中的目标角色的技能选择指令并上传至服务器;
第一生成模块,被配置为接收所述服务器响应于所述技能选择指令反馈的所述技能选择指令对应的技能对象的生成参数,并根据预设的规则结合所述生成参数得到所述技能对象的效果数据;
渲染模块,被配置为根据所述技能对象的效果数据渲染所述目标角色释放所述技能对象在客户端的虚拟场景中的效果。
根据本发明实施例的第四方面,公开了一种数据处理装置,用于服务器,所述装置包括:
接收模块,被配置为接收客户端上传的针对目标对象的技能选择指令,根据所述技能选择指令确定所述技能中的技能对象的类型,并根据所述技能对象的类型确定虚拟场景中所述技能对象的生成参数;
下发模块,被配置为将所述生成参数下发至客户端,根据预设的规则结合所述生成参数得到所述技能对象的效果数据。
根据本发明实施例的第五方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述计算机指令时实现上述任一段所述方法的步骤。
根据本发明实施例的第六方面,提供了一种计算机可读存储介质,其存储有计算机指令,该计算机指令被处理器执行时实现上述任一段所述方法的步骤。
本发明提供了一种数据处理方法与装置,客户端与向服务器通过一次同步,客户端根据与服务器相同的生成参数,分别得到相应的静态参数与动态参数,保证了客户端与服务器可以根据相同的生成参数进行后续的计算,避免了客户端与服务器之间大量的数据传输,减轻了客户端与服务器之间的通讯负荷。并且根据服务器与客户端分别计算得到技能的效果,保证了网络波动时客户端可以使大量技能对象连续、流畅出现的效果。
其次,客户端接收服务器下发的生成参数,保证了服务器与客户端对应的技能保持一致,避免了服务器与客户端同时计算不同技能数据导致的偏差;根据预设的规则生成效果数据,保证了可以批量生成大量的技能对象,确保了游戏技能中的技能对象达到了数量多、“错落有致”的效果。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
图1是示出了根据本说明书一实施例的计算设备100的结构框图。该计算设备100的部件包括但不限于存储器110和处理器120。处理器120与存储器110通过总线130相连接,数据库150用于保存数据。
计算设备100还包括接入设备140,接入设备140使得计算设备100能够经由一个或多个网络160通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备140可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备100的上述部件以及图1中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图1所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备100可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备100还可以是移动式或静止式的服务器。
首先,对本申请一个或多个实施例涉及的名词术语进行解释。
游戏外挂:是一种用于在游戏进程中作弊电脑程序。
其中,处理器120可以执行图2所示方法中的步骤。图2是示出了根据本发明实施例用于客户端的一种数据处理方法的示意性流程图,包括步骤S202至步骤S206。
步骤S202:接收针对虚拟场景中的目标角色的技能选择指令并上传至服务器。
在实际应用中,所述目标角色为在虚拟场景中执行、释放技能的游戏角色,所述技能选择指令为通过游戏玩家在客户端进行操作时发出的、选择一个具体的游戏技能的指令。在所述虚拟场景中,目标角色根据游戏玩家的技能选择指令来释放对应的游戏技能。例如,游戏玩家在客户端选择的技能为A,则发送技能A对应的技能选择指令至服务器,并在客户端通过一个游戏角色来释放技能A。
通过客户端接收针对虚拟场景中目标角色的技能选择指令并上传至所述服务器,可以保证服务器与客户端对需要释放的技能保持一致。
步骤S204:接收所述服务器响应于所述技能选择指令反馈的所述技能选择指令对应的技能对象的生成参数,并根据预设的规则结合所述生成参数得到所述技能对象的效果数据。
在实际应用中,客户端在服务器接收到所述技能选择指令后,接收所述服务器所述技能选择指令反馈的、与所述技能选择指令对应的技能对象的生成参数,需要说明的是,所述技能对象在实际的应用场景中可以包括多种类型,例如“射出的弓箭”,“发射的子弹”或是“由技能携带的水滴”等,可以根据具体的应用场景进行自定义,本发明对此不作具体限定。在所述客户端接收到所述服务器下发的生成参数后,根据所述生成参数结合预设的规则得到所述技能对象的效果数据。需要说明的是,所述预设的规则为生成与所述技能对应的效果的计算规则,所述生成参数为所述计算规则中需要使用的参数,所述参数的具体数值可以根据实际应用进行自行设定。
以上述技能A为例,客户端接收服务器下发的虚拟场景中技能对象的生成参数后,确定所述技能A中的技能对象为“射出的箭”,根据游戏程序中与所述“射出的箭”对应的生成参数:参数a1与预设的计算规则:公式a2,结合a1、a2即可得到所述技能A中携带的技能对象的效果数据a3。
客户端接收服务器下发的生成参数,保证了服务器与客户端对与所述技能选择指令对应的技能可以保持一致,避免了服务器与客户端对相同的游戏技能同时计算不同技能数据导致的偏差。
在本发明实施例一个可选的实施方案中,接收所述服务器下发的基于所述技能选择指令反馈的虚拟场景中所述技能对象的生成参数,并根据预设的规则结合所述生成参数得到所述技能对象的效果数据,包括:
接收所述服务器下发的基于所述技能选择指令反馈的虚拟场景中所述技能对象的生成参数,判断所述生成参数的类型;
在所述生成参数为静态参数的情况下,根据所述静态参数中的非随机部分确定所述技能对象在虚拟场景中的固定间距、相邻技能对象的固定角度偏差、所述技能对象的数量、所述技能对象的基础速度和所述技能对象的落点范围半径,结合第一规则生成所述技能对象的第一效果数据;
在所述生成参数为动态参数的情况下,根据所述随机部分确定所述技能对象在虚拟场景中的随机间距、相邻技能对象的随机角度偏差、所述技能对象的数量、所述技能对象的基础速度和所述技能对象的落点范围半径,结合第二规则生成所述技能对象的第二效果数据。
具体的,所述生成参数包括静态参数和动态参数,所述静态参数包括非随机部分,所述动态参数包括随机部分。
在实际应用中,在客户端接收到服务器下发的生成参数后,会判断所述生成参数的类型,所述生成参数可以包括静态参数与动态参数两种类型,其中,所述静态参数用于批量生成大量相同的技能对象,所述动态参数用于生成大量不同的技能对象。例如,沿用上述技能A的例子,若所述技能A的技能效果为“大量相同的箭沿固定的角度和速度同时射出”,则可以确定所述技能A的生成参数为静态参数,并且,所述静态参数中还可以包括非随机部分,例如所述技能对象之间的间距,每一个技能对象之间的角度偏差,在技能A释放后所述技能对象的数量,所述技能对象的运动速度,以及所述技能对象在命中目标后的范围。
若所述技能A的技能效果为“大量随机方向的箭在落点范围内随机落地”,则可以确定所述技能A的生成参数为动态参数。并且,所述动态参数中还可以包括随机部分,例如所述技能对象之间的间距可以是在一定范围内的某一个数值,每一个在相同时间点生成的技能对象均对应一个不同的数值,以此来保证所述技能对象可以表现出随机角度的效果;同理,所述动态参数中的随机部分还可以包括所述技能对象之间的间距,所述间距可以是在一定范围内的某一个数值;所述技能对象的数量、运动速度和落点范围均可以按照实际的使用情况进行设定,本发明对上述静态参数与动态参数的具体数值不作任何限定。
需要说明的是,所述第一效果数据对应于静态参数,所述第二效果数据对应于动态参数。
在本发明实施例一个可选的实施方案中,所述预设的规则包括技能对象的运动参数以及技能对象生成的时间间隔;
结合第一规则得到所述技能对象的第一效果数据,包括:
根据所述静态参数确定所述技能对象的落点在所述技能对象的落点范围半径内;
在所述运动参数包括运动角度的情况下,根据所述非随机部分确定所述技能对象的运动角度为在0至90度范围内的一具体角度;
通过所述技能对象的落点与所述技能对象的运动角度确定所述技能对象的出发点;
根据所述非随机部分确定所述技能对象的生成时间点为预设的时间间隔内的时间点;
根据所述技能对象的固定间距、相邻技能对象的固定角度偏差、所述技能对象的数量、所述技能对象的基础速度、所述技能对象的落点、所述技能对象的运动角度、所述技能对象的出发点以及所述技能对象的生成时间点,生成第一效果数据。
需要说明的是,所述运动参数可以包括所述技能对象的运动角度,例如在所述技能对象为箭或子弹时,所述运动参数包括所述技能对象发射时的飞行角度,在发射后,技能对象沿着运动参数中对应的运动角度飞行,并在下落时也按照预设的角度进行运动。在实际应用中,客户端若要生成与所述技能对应的技能对象,需要根据所述生成参数确定一系列的参数,例如根据所述生成参数确定所述技能对象的落点在预设的落点半径范围内,并通过所述技能对象的落点确定所述技能对象的出发点;所述生成参数还可以包括所述技能对象的生成时间点,沿用上述箭的例子,在游戏中的游戏角色释放技能“射箭”时,确定技能对象“箭”的生成时间点是在游戏角色执行“拉弓”这一动作之后的。
在确定所述技能对象的固定间距、固定角度偏差、基础速度、落点及落点范围、运动角度和生成时间点后,结合上述数据与第一规则即可得到所述技能对象的第一效果数据。
在本实施例一个可选的实施方案中,结合第二规则生成所述技能对象的第二效果数据,包括:
根据所述随机部分确定所述技能对象的落点为所述技能对象的落点范围半径内的任意一点;
在所述运动参数包括运动角度的情况下,根据所述随机部分确定所述技能对象的运动角度为0至90度范围内的任意角度;
通过所述技能对象的落点与所述技能对象的运动角度确定所述技能对象的出发点;
根据所述随机部分确定所述技能对象的生成时间点为预设的时间间隔内的时间点;
根据所述技能对象的间距、相邻技能对象的随机角度偏差、所述技能对象的数量、所述技能对象的基础速度、所述技能对象的落点、所述技能对象的运动角度、所述技能对象的出发点和所述技能对象的生成时间点,生成所述技能对象的第二效果数据。
在实际应用中,客户端利用所述动态参数中的随机部分确定所述技能对象的相关参数,例如,可以根据所述随机部分确定所述技能对象的落点在预设的落点范围内的任意一点,与所述落点对应的,所述技能对象的出发点与所述技能对象的落点对应,客户端根据所述落点确定所述出发点,因此,所述出发点也是在预定的出发点范围内的任意一点;与上述技能对象的落点、出发点同理,所述技能对象在达到运动的终点时,技能对象之间的角度偏差也可以是0-90度之间的任意角度,在运动过程中技能对象的间距也可以是随机生成的间距。在所述客户端得到所述出发点、落点、角度偏差和间距后,结合所述技能对象的数量、基础速度和生成时间点确定所述技能对象的第二效果数据。
基于所述生成参数在客户端生成所述技能对象的效果数据,保证了可以通过所述生成参数的类型确定所述技能对象的展示效果,在所述生成参数为动态参数的情况下,所述技能对象可以是以伪随机数作为依据进行随机生成的技能对象;在所述生成参数为静态参数的情况下,所述技能对象可以是批量生成的、相同的技能对象。
通过所述生成参数结合预设的规则得到所述技能对象的效果数据,既保证了可以一次性生成大量的技能对象,减轻了客户端的计算负荷,也保证了可以随机生成不同的技能对象,提升了游戏画面的流畅性,丰富了游戏内容。
步骤S206:根据所述技能对象的效果数据渲染所述目标角色释放所述技能对象在客户端的虚拟场景中的效果。
在实际应用中,客户端在得到所述技能对象的效果数据后,基于所述效果数据在客户端的显示页面中渲染所述技能对象的画面效果。沿用上例,在所述技能A释放后,客户端依据按照上述方法得到的效果数据在客户端的显示页面中渲染所述技能A的技能效果。
本实施例一个可选的实施方案中,所述虚拟场景中的效果包括所述技能对象的显示时间与所述技能对象的动画效果;
根据所述技能对象的效果数据渲染所述技能对象在客户端的虚拟场景中的效果,包括:
基于所述技能对象的效果数据,确定在预设的时间间隔内技能对象的显示时间,播放技能对象的动画效果。
在实际应用中,所述技能对象的效果数据中可以包含所述技能对象的画面效果数据,例如“子弹”这一技能对象,所述技能对象“子弹”的效果数据中包含了“子弹射出时的火花”和“命中敌人后的效果”两条效果数据,客户端基于所述效果数据在展示页面中渲染“子弹发射”和“子弹命中”敌人的画面效果。需要说明的是,在实际应用中,所述技能对象可以在预设的显示时间内显示,超出所述显示时间后,所述技能对象可以根据所述效果数据在客户端播放“逐渐消失”的动画效果,例如技能对象“弓箭”落地后,在3秒后消失。
由客户端基于所述技能对象的效果数据确定所述技能对象的显示时间,并播放所述技能对象的动画效果,进一步提升了游戏画面的生动性,使游戏画面流畅、有趣,提升了游戏玩家的用户体验。
本发明实施例提供的一种数据处理方法,通过客户端接收游戏玩家的技能选择指令并上传至服务器,保证了可以保证服务器与客户端对需要处理的技能保持一致,避免了因为网络波动问题导致的技能选择不一致的问题;接着由客户端接收所述服务器下发的生成参数并与所述服务器同步生成技能对象,通过服务器与客户端分别运算,确保了在网络波动的情况下客户端也可以流畅的显示技能效果。
并且,通过客户端接收与服务器相同的生成参数并与服务器同步计算得到技能对象,也保证了客户端的数据不会受到游戏外挂的影响。
图3是示出了根据本发明实施例用于服务器的一种数据处理方法的示意性流程图,包括步骤S302至步骤S304。
步骤S302:接收客户端上传的针对目标对象的技能选择指令,根据所述技能选择指令确定所述技能中的技能对象的类型,并根据所述技能对象的类型确定虚拟场景中所述技能对象的生成参数。
在实际应用中,在客户端接收到游戏玩家针对目标对象的技能选择指令,并将所述技能选择指令上传至服务器后,服务器会基于所述技能选择指令确定对应的游戏技能与所述游戏技能中包含的技能对象,接着确定所述技能对象的类型,并基于所述技能对象的类型进一步确定所述技能对象的生成参数。
需要说明的是,所述目标角色为在游戏过程中释放游戏技能的游戏角色,所述技能对象为所述游戏技能中包含的对象,例如技能“射箭”中包含的技能对象为“弓箭”,或者技能“开枪”中包含的技能对象为“子弹”,所述技能对象可以根据实际的应用情况进行设定。所述技能对象的类型包括动态类型与静态类型,所述动态类型为不同的技能对象,例如弓箭落地的角度不同等;所述静态类型为相同的技能对象,例如弓箭落地的角度相同。所述技能对象的类型用于确定与所述类型对应的生成参数。所述生成参数用于计算所述技能对象效果数据。
通过服务器接收客户端上传的技能选择指令,根据所述技能选择指令确定所述技能中包含的技能对象的类型,保证了服务器与客户端对与所述技能选择指令对应的技能可以保持一致,避免了服务器与客户端对相同的游戏技能同时计算不同技能数据导致的偏差。
在本实施例一个可选的实施方案中,所述技能对象包括静态类型和动态类型,所述生成参数包括静态参数和动态参数;
根据所述技能选择指令确定技能对象的类型,并根据所述技能对象的类型确定虚拟场景中所述技能对象的生成参数,包括:
根据所述技能选择指令确定所述技能中的技能对象的类型为静态类型的情况下,确定所述生成参数为静态参数;
根据所述技能选择指令确定所述技能中的技能对象的类型为动态类型的情况下,确定所述生成参数为动态参数。
在实际应用中,所述生成参数可以分为动态参数与静态参数两种类型,其中所述动态参数与技能对象的动态类型对应,所述静态类型与所述技能对象的静态类型对应。
步骤S304:将所述生成参数下发至客户端,根据预设的规则结合所述生成参数得到所述技能对象的效果数据。
在实际应用中,在所述服务器确定所述技能对象对应的生成参数后,需要将所述生成参数下发至客户端,保证所述客户端与所述服务器通过相同的生成参数生成技能对象。
通过服务器确定生成参数并下发至客户端,保证了服务器与客户端之间可以仅通过一次通信即可确定技能对象的生成参数,并且服务器与客户端之间无需同步大量的技能效果数据,有效的减轻了服务器与客户端之间的通信负荷,也保证了客户端不会受到游戏外挂的影响。
在本实施例一个可选的实施方案中,所述静态参数包括非随机部分,所述动态参数包括随机部分;
根据预设的规则结合所述生成参数得到所述技能对象的效果数据,包括:
在所述生成参数为静态参数的情况下,根据所述非随机部分确定所述技能对象在虚拟场景中的固定间距、相邻技能对象的固定角度偏差、所述技能对象的数量、所述技能对象的基础速度和所述技能对象的落点范围半径,结合第一规则生成第一效果数据;
在所述生成参数为动态参数的情况下,根据所述随机部分确定所述技能对象在虚拟场景中的间距、相邻技能对象的随机角度偏差、所述技能对象的数量、所述技能对象的基础速度和所述技能对象的落点范围半径,结合第二规则生成第二效果数据。
在实际应用中,所述服务器对所述技能对象的计算过程与所述客户端同理,首先确定所述技能对象的类型为动态类型或静态类型,并进一步确定所述生成参数的类型为与所述技能对象对应的动态参数或静态参数,接着根据所述生成参数的类型分别对所述技能对象进行计算。
沿用上述技能A的例子,若所述技能A的技能效果为“大量相同的箭沿固定的角度和速度同时射出”,则可以确定所述技能A的生成参数为静态参数,并且,所述静态参数中还可以包括非随机部分,例如所述技能对象之间的间距,每一个技能对象之间的角度偏差,在技能A释放后所述技能对象的数量,所述技能对象的运动速度,以及所述技能对象在命中目标后的范围。
若所述技能A的技能效果为“大量随机方向的箭在落点范围内随机落地”,则可以确定所述技能A的生成参数为动态参数。并且,所述动态参数中还可以包括随机部分,例如所述技能对象之间的间距可以是在一定范围内的某一个数值,每一个在相同时间点生成的技能对象均对应一个不同的数值,以此来保证所述技能对象可以表现出随机角度的效果;同理,所述动态参数中的随机部分还可以包括所述技能对象之间的间距,所述间距可以是在一定范围内的某一个数值;所述技能对象的数量、运动速度和落点范围均可以按照实际的使用情况进行设定,本发明对上述静态参数与动态参数的具体数值不作任何限定。
需要说明的是,所述第一效果数据对应于静态参数,所述第二效果数据对应于动态参数,并且所述服务器在与所述客户端进行计算的时间是同步的,所述服务器与所述客户端也是基于相同的生成参数对所述技能对象进行计算。
在本发明实施例一个可选的实施方案中,所述预设的规则包括技能对象的运动参数以及技能对象生成的时间间隔;
结合第一规则生成第一效果数据,包括:
根据所述成参数确定所述技能对象的落点在所述技能对象的落点范围半径内;
在所述运动参数包括运动角度的情况下,根据所述非随机部分确定所述技能对象的运动角度为在0至90度范围内的一具体角度;
通过所述技能对象的落点与所述技能对象的运动角度确定所述技能对象的出发点;
根据所述非随机部分确定所述技能对象的生成时间点为预设的时间间隔内的时间点;
根据所述技能对象的固定间距、相邻技能对象的固定角度偏差、所述技能对象的数量、所述技能对象的基础速度、所述技能对象的落点、所述技能对象的运动角度、所述技能对象的出发点以及所述技能对象的生成时间点,生成第一效果数据。
在实际应用中,所述运动参数可以包括所述技能对象的运动角度,例如在所述技能对象为箭或子弹时,所述运动参数包括所述技能对象发射时的飞行角度,在发射后,技能对象沿着运动参数中对应的运动角度飞行,并在下落时也按照预设的角度进行运动。在实际应用中,服务器若要计算得到与所述技能对应的技能对象,需要根据所述生成参数确定一系列的参数,例如根据所述生成参数确定所述技能对象的落点在预设的落点半径范围内,并通过所述技能对象的落点确定所述技能对象的出发点;所述生成参数还可以包括所述技能对象的生成时间点。例如,若所述游戏技能为“射击子弹”时,服务器确定“射击子弹”的技能对象为“子弹”,技能对象的出生时间点为游戏角色“扣动扳机”这一动作执行完成的时间点。
在本实施例一个可选的实施方案中,结合第二规则生成第二效果数据,包括:
根据所述随机部分确定技能对象的落点为所述技能对象的落点范围半径内的任意一点;
在所述运动参数包括运动角度的情况下,根据所述随机部分确定所述技能对象的运动角度为0至90度范围内的任意角度;
通过所述技能对象的落点与所述技能对象的运动角度确定所述技能对象的出发点;
根据所述随机部分确定所述技能对象的生成时间点为预设的时间间隔内的任意时间点;
根据所述技能对象的间距、相邻技能对象的随机角度偏差、所述技能对象的数量、所述技能对象的基础速度、所述技能对象的落点、所述技能对象的运动角度、所述技能对象的出发点以及所述技能对象的生成时间点,生成第二效果数据。
在实际应用中,服务器利用所述动态参数中的随机部分确定所述技能对象的相关参数,例如,可以根据所述随机部分确定所述技能对象的落点在预设的落点范围内的任意一点,与所述落点对应的,所述技能对象的出发点与所述技能对象的落点对应,服务器根据所述落点确定所述出发点,因此,所述出发点也是在预定的出发点范围内的任意一点;与上述技能对象的落点、出发点同理,所述技能对象在达到运动的终点时,技能对象之间的角度偏差也可以是0-90度之间的任意角度,在运动过程中技能对象的间距也可以是随机生成的间距。在所述服务器得到所述出发点、落点、角度偏差和间距后,结合所述技能对象的数量、基础速度和生成时间点确定所述技能对象的第二效果数据。
基于所述生成参数在服务器生成所述技能对象的效果数据,保证了可以通过所述生成参数的类型确定所述技能对象的展示效果,在所述生成参数为动态参数的情况下,所述技能对象可以是以伪随机数作为依据进行随机生成的技能对象;在所述生成参数为静态参数的情况下,所述技能对象可以是批量生成的、相同的技能对象。
通过服务器下发生成参数并与所述客户端同时计算技能对象的效果数据,保证了服务器与客户端可以根据相同的生成参数进行计算,确保了一致性。
下面以一个具体的游戏场景对本发明作出进一步解释,如图4所示,图4本发明实施例的在一个具体应用场景下的一种数据处理方法的步骤流程示意图,包括步骤S402-步骤S410。
步骤S402:客户端接收针对虚拟场景中的目标角色的技能选择指令并上传至服务器。
在一个具体的游戏场景中,由游戏玩家发出技能选择指令,并由客户端接收所述技能选择指令并确定对应的游戏技能,在确定对应的游戏技能后将所述技能选择指令上传至服务器。现以技能C“发射箭雨”为例,在客户端接收到“发射箭雨”的技能选择指令后,确定需要由游戏角色,也就是目标角色释放的游戏技能为“发射箭雨”,并将所述技能选择指令上传至服务器。
步骤S404:服务器接收客户端上传的针对目标对象的技能选择指令,根据所述技能选择指令确定所述技能中的技能对象的类型,并根据所述技能对象的类型确定虚拟场景中所述技能对象的生成参数。
在服务器接收到所述技能选择指令后,确定所述游戏技能“发射箭雨”中技能对象“弓箭”的类型,可以为动态类型也可以为静态类型,在弓箭为动态类型的情况下,生成参数为动态参数,在弓箭为静态类型的情况下,生成参数为静态参数。
步骤S406:服务器将所述生成参数下发至客户端,根据预设的规则结合所述生成参数得到所述技能对象的效果数据。
服务器确定弓箭的生成参数的类型后,将所述生成参数下发至客户端,并与客户端同步计算所述技能对象的效果数据。
步骤S408:客户端接收所述服务器响应于所述技能选择指令反馈的所述技能选择指令对应的技能对象的生成参数,并根据预设的规则结合所述生成参数得到所述技能对象的效果数据。
与服务器同理,客户端接收到技能对象弓箭的生成参数后,与服务器同步计算所述技能对象的效果数据。
需要说明的是,所述生成参数中包含随机部分与非随机部分,服务器与客户端分别根据生成参数的类型为动态参数或静态参数确定随机部分或非随机部分,并基于所述随机部分或所述非随机部分结合预设的计算公式得到技能对象弓箭的效果数据。
在技能对象弓箭为动态类型时,确定生成参数为动态参数,并根据随机部分确定每一支弓箭之间的间距均不相同,每一支弓箭在下落时的角度也不相同,在落点范围内的落点也是随机的。
如图5所示,图5为技能对象为动态类型时的游戏场景示意图。图5中,501为释放技能“发射箭雨”的游戏角色,502为技能对象弓箭,503为在空中飞行的技能对象弓箭,504为技能对象弓箭的落点范围。在技能对象弓箭为动态类型时,确定生成参数为动态参数,并根据随机部分确定每一支弓箭之间的间距均不相同,每一支弓箭在下落时的角度也不相同,在落点范围内的落点也是随机的。根据预设的计算规则,结合动态参数中的随机部分确定技能对象弓箭之间的间距、弓箭的飞行角度、弓箭的出发点、每一支弓箭之间的角度偏差、弓箭的飞行速度和弓箭的数量得到技能对象弓箭的效果数据。结合图5,在图5中的503区域,技能对象弓箭的飞行角度、下落角度、落点均是无规律的,得到了“随机生成”的效果。
如图6所示,图6为技能对象为静态类型时的游戏场景示意图。图6中,601为释放技能“发射箭雨”的游戏角色,602为技能对象弓箭,603为在空中飞行的技能对象弓箭,604为技能对象弓箭的落点范围。在技能对象弓箭为静态类型时,确定生成参数为静态参数,并根据非随机部分确定每一支弓箭之间的间距均相同,每一支弓箭在下落时的角度也相同,在落点范围内的落点也是固定的。根据预设的计算规则,结合静态参数中的非随机部分确定技能对象弓箭之间的间距、弓箭的飞行角度、弓箭的出发点、每一支弓箭之间的角度偏差、弓箭的飞行速度和弓箭的数量得到技能对象弓箭的效果数据。结合图6,在图6中的603区域,技能对象弓箭的飞行角度、下落角度、落点均是有规律的,得到了“批量生成”的效果。
步骤S410:客户端根据所述技能对象的效果数据渲染所述目标角色释放所述技能对象在客户端的虚拟场景中的效果。
客户端得到技能对象弓箭的效果数据后,基于所示效果数据在客户端的场景中渲染技能“发射箭雨”的画面效果,并在技能对象弓箭的显示时间结束后,渲染技能对象弓箭逐渐消失的效果。
如图7所示,本发明实施例公开了一种数据处理装置,用于客户端,包括:
上传模块702,被配置为接收针对虚拟场景中的目标角色的技能选择指令并上传至服务器;
第一生成模块704,被配置为接收所述服务器响应于所述技能选择指令反馈的所述技能选择指令对应的技能对象的生成参数,并根据预设的规则结合所述生成参数得到所述技能对象的效果数据;
渲染模块706,被配置为根据所述技能对象的效果数据渲染所述目标角色释放所述技能对象在客户端的虚拟场景中的效果。
可选地,所述生成参数包括静态参数和动态参数,所述静态参数包括非随机部分,所述动态参数包括随机部分。
可选地,所述第一生成模块704,被进一步配置为:
接收所述服务器下发的基于所述技能选择指令反馈的虚拟场景中所述技能对象的生成参数,判断所述生成参数的类型;
在所述生成参数为静态参数的情况下,根据所述静态参数中的非随机部分确定所述技能对象在虚拟场景中的固定间距、相邻技能对象的固定角度偏差、所述技能对象的数量、所述技能对象的基础速度和所述技能对象的落点范围半径,结合第一规则生成所述技能对象的第一效果数据;
在所述生成参数为动态参数的情况下,根据所述随机部分确定所述技能对象在虚拟场景中的随机间距、相邻技能对象的随机角度偏差、所述技能对象的数量、所述技能对象的基础速度和所述技能对象的落点范围半径,结合第二规则生成所述技能对象的第二效果数据。
可选地,所述预设的规则包括技能对象的运动参数以及技能对象生成的时间间隔。
可选地,所述第一生成模块704,被进一步配置为:
根据所述静态参数确定所述技能对象的落点在所述技能对象的落点范围半径内;
在所述运动参数包括运动角度的情况下,根据所述非随机部分确定所述技能对象的运动角度为在0至90度范围内的一具体角度;
通过所述技能对象的落点与所述技能对象的运动角度确定所述技能对象的出发点;
根据所述非随机部分确定所述技能对象的生成时间点为预设的时间间隔内的时间点;
根据所述技能对象的固定间距、相邻技能对象的固定角度偏差、所述技能对象的数量、所述技能对象的基础速度、所述技能对象的落点、所述技能对象的运动角度、所述技能对象的出发点以及所述技能对象的生成时间点,生成第一效果数据。
可选地,所述第一生成模块704,被进一步配置为:
根据所述随机部分确定所述技能对象的落点为所述技能对象的落点范围半径内的任意一点;
在所述运动参数包括运动角度的情况下,根据所述随机部分确定所述技能对象的运动角度为0至90度范围内的任意角度;
通过所述技能对象的落点与所述技能对象的运动角度确定所述技能对象的出发点;
根据所述随机部分确定所述技能对象的生成时间点为预设的时间间隔内的时间点;
根据所述技能对象的间距、相邻技能对象的随机角度偏差、所述技能对象的数量、所述技能对象的基础速度、所述技能对象的落点、所述技能对象的运动角度、所述技能对象的出发点和所述技能对象的生成时间点,生成所述技能对象的第二效果数据。
可选地,所述虚拟场景中的效果包括所述技能对象的显示时间与所述技能对象的动画效果。
可选地,所述渲染模块706,被进一步配置为:
基于所述技能对象的效果数据,确定在预设的时间间隔内技能对象的显示时间,播放技能对象的动画效果。
如图8所示,本发明实施例公开了一种数据处理装置,用于服务器,包括:
接收模块802,被配置为接收客户端上传的针对目标对象的技能选择指令,根据所述技能选择指令确定所述技能中的技能对象的类型,并根据所述技能对象的类型确定虚拟场景中所述技能对象的生成参数;
下发模块804,被配置为将所述生成参数下发至客户端,根据预设的规则结合所述生成参数得到所述技能对象的效果数据。
可选地,所述技能对象包括静态类型和动态类型,所述生成参数包括静态参数和动态参数。
可选地,所述接收模块802,被进一步配置为:
根据所述技能选择指令确定所述技能中的技能对象的类型为静态类型的情况下,确定所述生成参数为静态参数;
根据所述技能选择指令确定所述技能中的技能对象的类型为动态类型的情况下,确定所述生成参数为动态参数。
可选地,所述静态参数包括非随机部分,所述动态参数包括随机部分。
可选地,所述下发模块804,被进一步配置为:
在所述生成参数为静态参数的情况下,根据所述非随机部分确定所述技能对象在虚拟场景中的固定间距、相邻技能对象的固定角度偏差、所述技能对象的数量、所述技能对象的基础速度和所述技能对象的落点范围半径,结合第一规则生成第一效果数据;
在所述生成参数为动态参数的情况下,根据所述随机部分确定所述技能对象在虚拟场景中的间距、相邻技能对象的随机角度偏差、所述技能对象的数量、所述技能对象的基础速度和所述技能对象的落点范围半径,结合第二规则生成第二效果数据。
可选地,所述预设的规则包括技能对象的运动参数以及技能对象生成的时间间隔。
可选地,所述下发模块804,被进一步配置为:
根据所述成参数确定所述技能对象的落点在所述技能对象的落点范围半径内;
在所述运动参数包括运动角度的情况下,根据所述非随机部分确定所述技能对象的运动角度为在0至90度范围内的一具体角度;
通过所述技能对象的落点与所述技能对象的运动角度确定所述技能对象的出发点;
根据所述非随机部分确定所述技能对象的生成时间点为预设的时间间隔内的时间点;
根据所述技能对象的固定间距、相邻技能对象的固定角度偏差、所述技能对象的数量、所述技能对象的基础速度、所述技能对象的落点、所述技能对象的运动角度、所述技能对象的出发点以及所述技能对象的生成时间点,生成第一效果数据。
可选地,所述下发模块804,被进一步配置为:
根据所述随机部分确定技能对象的落点为所述技能对象的落点范围半径内的任意一点;
在所述运动参数包括运动角度的情况下,根据所述随机部分确定所述技能对象的运动角度为0至90度范围内的任意角度;
通过所述技能对象的落点与所述技能对象的运动角度确定所述技能对象的出发点;
根据所述随机部分确定所述技能对象的生成时间点为预设的时间间隔内的任意时间点;
根据所述技能对象的间距、相邻技能对象的随机角度偏差、所述技能对象的数量、所述技能对象的基础速度、所述技能对象的落点、所述技能对象的运动角度、所述技能对象的出发点以及所述技能对象的生成时间点,生成第二效果数据。
本发明实施例提供的一种数据处理装置,用于客户端与服务器,通过客户端与服务器同时根据生成参数同步地生成技能对象,可以保证服务器与客户端的生成数据保持一致,避免了在网络波动情况下,客户端无法与服务器同步大量技能对象的问题,保证了大量技能对象可以连续、流畅的出现的视觉效果。
其次,根据动态参数生成数据,保证了可以根据服务器与客户端使用相同的动态参数来随机生成大量的技能对象,确保了可以在客户端生成大量的技能对象的技能效果。
另外,确定技能对象的显示时间,并确保技能对象的显示时间在技能释放时间间隔内,保证了在技能释放后技能对象可以正确的显示与消失,避免了技能对象显示不正确带来的技能效果错位的问题。
本发明实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述的一种数据处理方法的步骤。
上述为本发明实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的一种数据处理方法技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述一种数据处理方法的技术方案的描述。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本发明优选实施例只是用于帮助阐述本发明。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。