掌桥专利:专业的专利平台
掌桥专利
首页

数据处理方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 19:37:02


数据处理方法、装置、电子设备及存储介质

技术领域

本公开涉及计算机技术领域,尤其涉及一种数据处理方法、装置、电子设备及存储介质。

背景技术

随着计算机技术的发展,各类线下互动游戏也逐渐实现了线上的模拟仿真。

相关技术中,推球机等互动游戏的仿真模拟过程,需要模拟物体下落和物体推送,其中,物体下落过程常常会结合贝塞尔曲线进行下落轨迹的构建;但实现平滑的连续曲线往往需要使用四阶以上的贝塞尔曲线,但超过二阶以上贝塞尔曲线构建过程中计算复杂度高,导致需要消耗大量计算资源,进而也带来设备性能下降等问题。

发明内容

本公开提供一种数据处理方法、装置、电子设备及存储介质,以至少解决相关技术中计算复杂度高、计算资源消耗大、设备性能下降等技术问题。本公开的技术方案如下:

根据本公开实施例的第一方面,提供一种数据处理方法,包括:

响应于预设互动业务的执行指令,确定第一对象在第一预设区域内的起始下落位置和所述第一对象对应的目标下落位置类型;所述第一预设区域为所述预设互动业务对应互动页面中的对象掉落渲染区域;

根据所述起始下落位置和所述目标下落位置类型,确定所述第一对象在所述第一预设区域中的目标下落位置和至少一个中间下落位置;

基于所述至少一个中间下落位置,分段构建所述起始下落位置至所述目标下落位置间的对象下落轨迹;

基于所述对象下落轨迹,在所述第一预设区域渲染所述第一对象从所述起始下落位置下落至所述目标下落位置的下落过程;

在所述第一对象下落至所述目标下落位置的情况下,在所述互动页面中第二预设区域渲染所述目标下落位置类型对应的第二对象的推送过程。

在一个可选的实施例中,所述基于所述至少一个中间下落位置,分段构建所述起始下落位置至所述目标下落位置间的对象下落轨迹包括:

从所述起始下落位置、所述目标下落位置和所述至少一个中间下落位置中,确定多个路径节点对,任一路径节点对为以所述起始下落位置、所述目标下落位置和所述至少一个中间下落位置中任意两个相邻位置为路径节点的节点对;

基于所述任一路径节点对中两个路径节点间的相对位置关系,确定所述任一路径节点对对应的控制节点;

根据所述任一路径节点对和所述任一路径节点对对应的控制节点,生成所述任一路径节点对对应的二阶贝塞尔曲线;

对所述多个路径节点对对应的二阶贝塞尔曲线进行拼接处理,得到所述对象下落轨迹。

在一个可选的实施例中,所述第一预设区域包括多行预设碰撞物和所述多行预设碰撞物对应的多行下落口,每行预设碰撞物中相邻两个预设碰撞物间有一个下落口,所述多行下落口为以最上方一行下落口中任一下落口为杨辉三角的第一行元素所在位置的几何排列;所述第一对象在所述第一预设区域中的目标行的上方水平移动,所述目标行为所述最上方一行下落口所在行;所述确定第一对象在第一预设区域内的起始下落位置包括:

确定所述执行指令触发时所述第一对象所在的当前位置;

将所述目标行中位于所述当前位置正下方的位置作为所述起始下落位置。

在一个可选的实施例中,所述第一预设区域包括多行预设碰撞物和所述多行预设碰撞物对应的多行下落口,每行预设碰撞物中相邻两个预设碰撞物间有一个下落口,所述多行下落口为以最上方一行下落口中任一下落口为杨辉三角的第一行元素所在位置的几何排列;所述多行下落口中最下方一行下落口所在位置为多个预设下落位置,所述多个预设下落位置对应至少一种预设下落位置类型,每个预设下落位置对应所述至少一种预设下落位置类型中的一种预设下落位置类型,所述至少一种预设下落位置类型包括所述目标下落位置类型;

所述根据所述起始下落位置和所述目标下落位置类型,从所述第一预设区域中确定所述第一对象对应的目标下落位置和至少一个中间下落位置包括:

根据所述起始下落位置,从所述最上方一行下落口中确定起始下落口;

在所述多行预设碰撞物的碰撞约束下,基于所述起始下落口,从所述最下方一行下落口中确定所述目标下落位置类型对应的目标下落口,以及从中间行下落口中确定至少一个中间下落口,所述中间行下落口为所述多行下落口中位于所述最上方一行下落口和所述最下方一行下落口之间的至少一行下落口;

以所述起始下落位置为起点,基于最短路径约束条件,从每一路径下落口对应的预设碰撞物中确定所述每一路径下落口对应的目标碰撞点,所述每一路径下落口为所述目标下落口和所述至少一个中间下落口中的每一下落口;所述每一路径下落口对应的预设碰撞物为与所述每一路径下落口相邻的预设碰撞物;

将所述目标下落口对应的目标碰撞点所在位置作为所述目标下落位置;

将所述至少一个中间下落口对应的目标碰撞点所在位置作为所述至少一个中间下落位置。

在一个可选的实施例中,所述基于所述对象下落轨迹,在所述第一预设区域渲染所述第一对象从所述起始下落位置下落至所述目标下落位置的下落过程包括:

获取所述第一对象对应的预设下落速度和所述第一对象下落过程中的第一预设摩擦力;

基于所述第一预设摩擦力,对所述预设下落速度进行修正,得到所述第一对象下落过程中的目标下落速度;

基于所述对象下落轨迹和所述目标下落速度,在所述第一预设区域渲染所述下落过程。

在一个可选的实施例中,所述第二预设区域为等腰梯形的对象推送区域,所述第二对象包括至少一个对象,所述在所述第一对象下落至所述目标下落位置的情况下,在所述互动页面中第二预设区域渲染所述目标下落位置类型对应的第二对象的推送过程包括:

在所述第一对象下落至所述目标下落位置的情况下,在所述第二预设区域中起始区域渲染所述至少一个对象,控制展示有所述至少一个对象的所述第二预设区域往目标推送位置移动,并在所述第二预设区域往所述目标推送位置移动过程中,基于预设空气墙刚体对展示在所述第二预设区域的起始对象施加预设挤压力,以使所述第二预设区域中的对象移动;

其中,所述起始对象为位于所述起始区域的对象。

在一个可选的实施例中,所述至少一个对象为圆形的对象,且所述至少一个对象的数量小于等于预设阈值;所述在所述第一对象下落至所述目标下落位置的情况下,在所述互动页面中第二预设区域渲染所述目标下落位置类型对应的第二对象的推送过程还包括:

在所述第二预设区域往所述目标推送位置移动过程中,生成所述第一预设区域中每一对象对应的碰撞边;

基于所述每一对象对应的碰撞边,确定所述第一预设区域中存在碰撞的目标碰撞对象;

对所述目标碰撞对象施加第二预设摩擦力,以修正所述目标碰撞对象在所述第二预设区域移动过程中速度。

在一个可选的实施例中,所述方法还包括:

在所述第二预设区域中任一对象的重心位置越过所述第一预设区域的目标推送边缘的情况下,基于预设动画参数,渲染目标掉落对象从所述第一预设区域掉落的动画;

其中,所述目标掉落对象为所述第二预设区域中对应的重心位置越过所述第二预设区域的目标推送边缘的对象。

在一个可选的实施例中,所述方法应用于终端,所述终端设置有渲染引擎和物理引擎;

其中,所述渲染引擎用于执行所述确定第一对象在第一预设区域内的起始下落位置和所述第一对象对应的目标下落位置类型至所述基于所述对象下落轨迹,在所述第一预设区域渲染所述第一对象从所述起始下落位置下落至所述目标下落位置的下落过程的步骤;

所述物理引擎用于在所述第一对象下落至所述目标下落位置的情况下,执行所述在所述互动页面中第二预设区域渲染所述目标下落位置类型对应的第二对象的推送过程的步骤。响应于预设互动业务的执行指令,确定第一对象在第一预设区域内的起始下落位置和所述第一对象对应的目标下落位置类型;所述第一预设区域为所述预设互动业务对应互动页面中的对象掉落渲染区域;

根据所述起始下落位置和所述目标下落位置类型,确定所述第一对象在所述第一预设区域中的目标下落位置和至少一个中间下落位置;

基于所述至少一个中间下落位置,分段构建所述起始下落位置至所述目标下落位置间的对象下落轨迹;

基于所述对象下落轨迹,在所述第一预设区域渲染所述第一对象从所述起始下落位置下落至所述目标下落位置的下落过程;

在所述第一对象下落至所述目标下落位置的情况下,在所述互动页面中第二预设区域渲染所述目标下落位置类型对应的第二对象的推送过程。

在一个可选的实施例中,所述基于所述至少一个中间下落位置,分段构建所述起始下落位置至所述目标下落位置间的对象下落轨迹包括:

从所述起始下落位置、所述目标下落位置和所述至少一个中间下落位置中,确定多个路径节点对,任一路径节点对为以所述起始下落位置、所述目标下落位置和所述至少一个中间下落位置中任意两个相邻位置为路径节点的节点对;

基于所述任一路径节点对中两个路径节点间的相对位置关系,确定所述任一路径节点对对应的控制节点;

根据所述任一路径节点对和所述任一路径节点对对应的控制节点,生成所述任一路径节点对对应的二阶贝塞尔曲线;

对所述多个路径节点对对应的二阶贝塞尔曲线进行拼接处理,得到所述对象下落轨迹。

在一个可选的实施例中,所述第一预设区域包括多行预设碰撞物和所述多行预设碰撞物对应的多行下落口,每行预设碰撞物中相邻两个预设碰撞物间有一个下落口,所述多行下落口为以最上方一行下落口中任一下落口为杨辉三角的第一行元素所在位置的几何排列;所述第一对象在所述第一预设区域中的目标行的上方水平移动,所述目标行为所述最上方一行下落口所在行;所述确定第一对象在第一预设区域内的起始下落位置包括:

确定所述执行指令触发时所述第一对象所在的当前位置;

将所述目标行中位于所述当前位置正下方的位置作为所述起始下落位置。

在一个可选的实施例中,所述第一预设区域包括多行预设碰撞物和所述多行预设碰撞物对应的多行下落口,每行预设碰撞物中相邻两个预设碰撞物间有一个下落口,所述多行下落口为以最上方一行下落口中任一下落口为杨辉三角的第一行元素所在位置的几何排列;所述多行下落口中最下方一行下落口所在位置为多个预设下落位置,所述多个预设下落位置对应至少一种预设下落位置类型,每个预设下落位置对应所述至少一种预设下落位置类型中的一种预设下落位置类型,所述至少一种预设下落位置类型包括所述目标下落位置类型;

所述根据所述起始下落位置和所述目标下落位置类型,从所述第一预设区域中确定所述第一对象对应的目标下落位置和至少一个中间下落位置包括:

根据所述起始下落位置,从所述最上方一行下落口中确定起始下落口;

在所述多行预设碰撞物的碰撞约束下,基于所述起始下落口,从所述最下方一行下落口中确定所述目标下落位置类型对应的目标下落口,以及从中间行下落口中确定至少一个中间下落口,所述中间行下落口为所述多行下落口中位于所述最上方一行下落口和所述最下方一行下落口之间的至少一行下落口;

以所述起始下落位置为起点,基于最短路径约束条件,从每一路径下落口对应的预设碰撞物中确定所述每一路径下落口对应的目标碰撞点,所述每一路径下落口为所述目标下落口和所述至少一个中间下落口中的每一下落口;所述每一路径下落口对应的预设碰撞物为与所述每一路径下落口相邻的预设碰撞物;

将所述目标下落口对应的目标碰撞点所在位置作为所述目标下落位置;

将所述至少一个中间下落口对应的目标碰撞点所在位置作为所述至少一个中间下落位置。

在一个可选的实施例中,所述基于所述对象下落轨迹,在所述第一预设区域渲染所述第一对象从所述起始下落位置下落至所述目标下落位置的下落过程包括:

获取所述第一对象对应的预设下落速度和所述第一对象下落过程中的第一预设摩擦力;

基于所述第一预设摩擦力,对所述预设下落速度进行修正,得到所述第一对象下落过程中的目标下落速度;

基于所述对象下落轨迹和所述目标下落速度,在所述第一预设区域渲染所述下落过程。

在一个可选的实施例中,所述第二预设区域为等腰梯形的对象推送区域,所述第二对象包括至少一个对象,所述在所述第一对象下落至所述目标下落位置的情况下,在所述互动页面中第二预设区域渲染所述目标下落位置类型对应的第二对象的推送过程包括:

在所述第一对象下落至所述目标下落位置的情况下,在所述第二预设区域中起始区域渲染所述至少一个对象,控制展示有所述至少一个对象的所述第二预设区域往目标推送位置移动,并在所述第二预设区域往所述目标推送位置移动过程中,基于预设空气墙刚体对展示在所述第二预设区域的起始对象施加预设挤压力,以使所述第二预设区域中的对象移动;

其中,所述起始对象为位于所述起始区域的对象。

在一个可选的实施例中,所述至少一个对象为圆形的对象,且所述至少一个对象的数量小于等于预设阈值;所述在所述第一对象下落至所述目标下落位置的情况下,在所述互动页面中第二预设区域渲染所述目标下落位置类型对应的第二对象的推送过程还包括:

在所述第二预设区域往所述目标推送位置移动过程中,生成所述第一预设区域中每一对象对应的碰撞边;

基于所述每一对象对应的碰撞边,确定所述第一预设区域中存在碰撞的目标碰撞对象;

对所述目标碰撞对象施加第二预设摩擦力,以修正所述目标碰撞对象在所述第二预设区域移动过程中速度。

在一个可选的实施例中,所述方法还包括:

在所述第二预设区域中任一对象的重心位置越过所述第一预设区域的目标推送边缘的情况下,基于预设动画参数,渲染目标掉落对象从所述第一预设区域掉落的动画;

其中,所述目标掉落对象为所述第二预设区域中对应的重心位置越过所述第二预设区域的目标推送边缘的对象。

在一个可选的实施例中,所述方法应用于终端,所述终端设置有渲染引擎和物理引擎;

其中,所述渲染引擎用于执行所述确定第一对象在第一预设区域内的起始下落位置和所述第一对象对应的目标下落位置类型至所述基于所述对象下落轨迹,在所述第一预设区域渲染所述第一对象从所述起始下落位置下落至所述目标下落位置的下落过程的步骤;

所述物理引擎用于在所述第一对象下落至所述目标下落位置的情况下,执行所述在所述互动页面中第二预设区域渲染所述目标下落位置类型对应的第二对象的推送过程的步骤。

根据本公开实施例的第二方面,提供一种数据处理装置,包括:

数据确定模块,被配置为执行响应于预设互动业务的执行指令,确定第一对象在第一预设区域内的起始下落位置和所述第一对象对应的目标下落位置类型;所述第一预设区域为所述预设互动业务对应互动页面中的对象掉落渲染区域;

下落位置确定模块,被配置为执行根据所述起始下落位置和所述目标下落位置类型,确定所述第一对象在所述第一预设区域中的目标下落位置和至少一个中间下落位置;

对象下落轨迹构建模块,被配置为执行基于所述至少一个中间下落位置,分段构建所述起始下落位置至所述目标下落位置间的对象下落轨迹;

下落过程渲染模块,被配置为执行基于所述对象下落轨迹,在所述第一预设区域渲染所述第一对象从所述起始下落位置下落至所述目标下落位置的下落过程;

推送过程渲染模块,被配置为执行在所述第一对象下落至所述目标下落位置的情况下,在所述互动页面中第二预设区域渲染所述目标下落位置类型对应的第二对象的推送过程。

在一个可选的实施例中,所述对象下落轨迹构建模块包括:

路径节点对确定单元,被配置为执行从所述起始下落位置、所述目标下落位置和所述至少一个中间下落位置中,确定多个路径节点对,任一路径节点对为以所述起始下落位置、所述目标下落位置和所述至少一个中间下落位置中任意两个相邻位置为路径节点的节点对;

控制节点确定单元,被配置为执行基于所述任一路径节点对中两个路径节点间的相对位置关系,确定所述任一路径节点对对应的控制节点;

二阶贝塞尔曲线生成单元,被配置为执行根据所述任一路径节点对和所述任一路径节点对对应的控制节点,生成所述任一路径节点对对应的二阶贝塞尔曲线;

曲线拼接单元,被配置为执行对所述多个路径节点对对应的二阶贝塞尔曲线进行拼接处理,得到所述对象下落轨迹。

在一个可选的实施例中,所述第一预设区域包括多行预设碰撞物和所述多行预设碰撞物对应的多行下落口,每行预设碰撞物中相邻两个预设碰撞物间有一个下落口,所述多行下落口为以最上方一行下落口中任一下落口为杨辉三角的第一行元素所在位置的几何排列;所述第一对象在所述第一预设区域中的目标行的上方水平移动,所述目标行为所述最上方一行下落口所在行;所述数据确定模块包括:

当前位置确定单元,被配置为执行确定所述执行指令触发时所述第一对象所在的当前位置;

起始下落位置确定单元,被配置为执行将所述目标行中位于所述当前位置正下方的位置作为所述起始下落位置。

在一个可选的实施例中,所述第一预设区域包括多行预设碰撞物和所述多行预设碰撞物对应的多行下落口,每行预设碰撞物中相邻两个预设碰撞物间有一个下落口,所述多行下落口为以最上方一行下落口中任一下落口为杨辉三角的第一行元素所在位置的几何排列;所述多行下落口中最下方一行下落口所在位置为多个预设下落位置,所述多个预设下落位置对应至少一种预设下落位置类型,每个预设下落位置对应所述至少一种预设下落位置类型中的一种预设下落位置类型,所述至少一种预设下落位置类型包括所述目标下落位置类型;

所述下落位置确定模块包括:

起始下落口确定单元,被配置为执行根据所述起始下落位置,从所述最上方一行下落口中确定起始下落口;

下落口确定单元,被配置为执行在所述多行预设碰撞物的碰撞约束下,基于所述起始下落口,从所述最下方一行下落口中确定所述目标下落位置类型对应的目标下落口,以及从中间行下落口中确定至少一个中间下落口,所述中间行下落口为所述多行下落口中位于所述最上方一行下落口和所述最下方一行下落口之间的至少一行下落口;

目标碰撞点确定单元,被配置为执行以所述起始下落位置为起点,基于最短路径约束条件,从每一路径下落口对应的预设碰撞物中确定所述每一路径下落口对应的目标碰撞点,所述每一路径下落口为所述目标下落口和所述至少一个中间下落口中的每一下落口;所述每一路径下落口对应的预设碰撞物为与所述每一路径下落口相邻的预设碰撞物;

目标下落位置确定单元,被配置为执行将所述目标下落口对应的目标碰撞点所在位置作为所述目标下落位置;

中间下落位置确定单元,被配置为执行将所述至少一个中间下落口对应的目标碰撞点所在位置作为所述至少一个中间下落位置。

在一个可选的实施例中,所述下落过程渲染模块包括:

数据获取单元,被配置为执行获取所述第一对象对应的预设下落速度和所述第一对象下落过程中的第一预设摩擦力;

第一速度修正单元,被配置为执行基于所述第一预设摩擦力,对所述预设下落速度进行修正,得到所述第一对象下落过程中的目标下落速度;

下落过程渲染单元,被配置为执行基于所述对象下落轨迹和所述目标下落速度,在所述第一预设区域渲染所述下落过程。

在一个可选的实施例中,所述第二预设区域为等腰梯形的对象推送区域,所述第二对象包括至少一个对象,所述推送过程渲染模块包括:

第一渲染单元,被配置为执行在所述第一对象下落至所述目标下落位置的情况下,在所述第二预设区域中起始区域渲染所述至少一个对象,控制展示有所述至少一个对象的所述第二预设区域往目标推送位置移动,并在所述第二预设区域往所述目标推送位置移动过程中,基于预设空气墙刚体对展示在所述第二预设区域的起始对象施加预设挤压力,以使所述第二预设区域中的对象移动;

其中,所述起始对象为位于所述起始区域的对象。

在一个可选的实施例中,所述至少一个对象为圆形的对象,且所述至少一个对象的数量小于等于预设阈值;所述推送过程渲染模块还包括:

碰撞边生成单元,被配置为执行在所述第二预设区域往所述目标推送位置移动过程中,生成所述第一预设区域中每一对象对应的碰撞边;

目标碰撞对象确定单元,被配置为执行基于所述每一对象对应的碰撞边,确定所述第一预设区域中存在碰撞的目标碰撞对象;

第二速度修正单元,被配置为执行对所述目标碰撞对象施加第二预设摩擦力,以修正所述目标碰撞对象在所述第二预设区域移动过程中速度。

在一个可选的实施例中,所述装置还包括:

掉落动画渲染模块,被配置为执行在所述第二预设区域中任一对象的重心位置越过所述第一预设区域的目标推送边缘的情况下,基于预设动画参数,渲染目标掉落对象从所述第一预设区域掉落的动画;

其中,所述目标掉落对象为所述第二预设区域中对应的重心位置越过所述第二预设区域的目标推送边缘的对象。

在一个可选的实施例中,所述方法应用于终端,所述终端设置有渲染引擎和物理引擎;

其中,所述渲染引擎用于执行所述确定第一对象在第一预设区域内的起始下落位置和所述第一对象对应的目标下落位置类型至所述基于所述对象下落轨迹,在所述第一预设区域渲染所述第一对象从所述起始下落位置下落至所述目标下落位置的下落过程的步骤;

所述物理引擎用于在所述第一对象下落至所述目标下落位置的情况下,执行所述在所述互动页面中第二预设区域渲染所述目标下落位置类型对应的第二对象的推送过程的步骤。

根据本公开实施例的第三方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如上述第一方面中任一项所述的方法。

根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行本公开实施例的数据处理方法中任一项所述方法。

根据本公开实施例的第五方面,提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如上述第一方面中任一项所述的方法。

本公开的实施例提供的技术方案至少带来以下有益效果:

在预设互动业务的执行指令触发的情况下,结合第一对象在互动页面的对象掉落渲染区域内的起始下落位置和第一对象对应的目标下落位置类型,可以确定第一对象在对象掉落渲染区域中的目标下落位置和至少一个中间下落位置;接着,结合至少一个中间下落位置,分段构建起始下落位置至目标下落位置间的对象下落轨迹,可以通过分段轨迹构建的方式,在有效保证轨迹的平滑性的基础上,大大降低轨迹构建过程中的计算复杂度,进而可以基于分段轨迹构建得到的对象下落轨迹,在对象掉落渲染区域渲染第一对象从起始下落位置下落至目标下落位置的下落过程,大大降低对象下落过程中的计算资源消耗;并在第一对象下落至目标下落位置的情况下,在互动页面中第二预设区域渲染目标下落位置类型对应的第二对象的推送过程,可以实现预设互动业务执行过程中的对象下落和对象推送的仿真渲染,且通过计算资源消耗量的降低,可以大大提升设备性能。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。

图1是根据一示例性实施例示出的一种应用环境的示意图;

图2是根据一示例性实施例示出的一种数据处理方法的流程图;

图3是根据一示例性实施例提供的一种基于预设碰撞物围成的杨辉三角的示意图;

图4是根据一示例性实施例提供的一种多行预设碰撞物和多行下落口的示意图;

图5是根据一示例性实施例示出的一种根据起始下落位置和目标下落位置类型,从第一预设区域中确定第一对象对应的目标下落位置和至少一个中间下落位置的流程图;

图6是根据一示例性实施例示出的一种基于至少一个中间下落位置,分段构建起始下落位置至目标下落位置间的对象下落轨迹的流程图;

图7是根据一示例性实施例示出的一种基于对象下落轨迹,在第一预设区域渲染第一对象从起始下落位置下落至目标下落位置的下落过程的流程图;

图8是根据一示例性实施例提供的一种互动页面的示意图;

图9是根据一示例性实施例示出的一种数据处理装置框图;

图10是根据一示例性实施例示出的一种用于数据处理的电子设备的框图。

具体实施方式

为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。

需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。

请参阅图1,图1是根据一示例性实施例示出的一种应用环境的示意图,该应用环境可以包括终端100和服务器200。

在一个可选的实施例中,终端100可以用于面向任一用户提供预设互动业务的服务。具体的,终端100可以包括但不限于智能手机、台式计算机、平板电脑、笔记本电脑、智能音箱、数字助理、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、智能可穿戴设备等类型的电子设备,也可以为运行于上述电子设备的软体,例如应用程序等。可选的,电子设备上运行的操作系统可以包括但不限于安卓系统、IOS系统、linux、windows等。

在一个可选的实施例中,服务器200可以为终端100提供后台服务,预先配置预设互动业务执行过程中的相关配置数据,例如目标下落位置类型的配置等。具体的,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。

此外,需要说明的是,图1所示的仅仅是本公开提供的一种应用环境,在实际应用中,还可以包括其他应用环境,例如可以包括更多的终端。

本说明书实施例中,上述终端100以及服务器200可以通过有线或无线通信方式进行直接或间接地连接,本公开在此不做限制。

图2是根据一示例性实施例示出的一种数据处理方法的流程图,该方法可以应用于终端,如图2所示,该方法可以包括以下步骤:

在步骤S201中,响应于预设互动业务的执行指令,确定第一对象在第一预设区域内的起始下落位置和第一对象对应的目标下落位置类型。

在一个具体的实施例中,上述第一预设区域可以为预设互动业务对应互动页面中的对象掉落渲染区域(即用于渲染对象掉落过程的区域);具体的,预设互动业务可以为具有对象下落和对象推送过程的互动业务;具体的,在第一预设区域上方可以展示有第一对象,该第一对象可以在第一预设区域上方水平移动;可选的,可以在互动页面设置虚拟按键,相应的,可以通过单击、双击、长按虚拟按键等方式,触发上述执行指令;可选的,也可以通过外接的实体操控装置来触发上述执行指令。具体的,第一对象可以为预设虚拟下落物体,可以结合实际应用需求进行设置,例如虚拟球状物、虚拟环状物、虚拟娃娃等。

在一个具体的实施例中,上述第一预设区域可以为预设互动业务对应互动页面中的对象掉落渲染区域(即用于渲染对象掉落过程的区域);具体的,预设互动业务可以为具有对象下落和对象推送过程的互动业务;具体的,在第一预设区域上方可以展示有第一对象,该第一对象可以在第一预设区域上方水平移动;可选的,可以在互动页面设置虚拟按键,相应的,可以通过单击、双击、长按虚拟按键等方式,触发上述执行指令;可选的,也可以通过外接的实体操控装置来触发上述执行指令。

在一个可选的实施例中,第一预设区域包括多行预设碰撞物和多行预设碰撞物对应的多行下落口,每行预设碰撞物中相邻两个预设碰撞物间有一个下落口,可选的,每行预设碰撞物中首尾碰撞点与第一预设区域的边缘之间也可以分别设置一个下落口,可以结合实际应用需求进行设置。多行下落口中的下落口呈杨辉三角对应的几何排列,且以最上方一行下落口中任一下落口为杨辉三角的第一行元素所在位置;第一对象在第一预设区域中的目标行的上方水平移动,目标行为最上方一行下落口所在行。可选的,上述确定第一对象在第一预设区域内的起始下落位置包括:

确定执行指令触发时第一对象所在的当前位置;

将目标行中位于当前位置正下方的位置作为起始下落位置。

在一个具体的实施例中,杨辉三角中的元素可以为二项式系数。可选的,由于目标行包括预设碰撞物和下落口,上述起始下落位置可以是预设碰撞物上某一位置,也可以为下落口所在区域的某一位置。可选的,预设碰撞物可以结合实际应用进行设置,例如预设的虚拟圆柱体、预设的虚拟球体等。在一个可选的实施例中,以四行的杨辉三角为例,如图3所示,图3是根据一示例性实施例提供的一种基于预设碰撞物围成的杨辉三角的示意图。具体的,图3中的圆圈可以为预设碰撞物,相应的,两两预设碰撞物间的数字可以为杨辉三角中的元素(二项式系数)。

在一个具体的实施例中,如图4所示,图4是根据一示例性实施例提供的一种多行预设碰撞物和多行下落口的示意图。具体的,图4中的圆圈可以为预设碰撞物,每行预设碰撞物中相邻两个预设碰撞物间的区域可以为下落口,假设第一对象在水平方向在最上方一行首尾碰撞点之间水平移动,相应的,最上方一行下落口可以包括最上方一行预设碰撞物中相邻两个预设碰撞物间的每一区域,即图4中箭头所在的每一区域为最上方一行下落口;可选的,假设第一对象在第一预设区域的两侧边界之前水平移动,最上方一行下落口可以包括最上方一行预设碰撞物中相邻两个预设碰撞物间的每一区域以及最上方一行预设碰撞物中首尾两个预设碰撞物分别与第一预设区域左右两侧边界之间的区域。具体的,可以将目标行中位于执行指令触发时第一对象所在的当前位置正下方的位置作为起始下落位置。

上述实施例中,结合杨辉三角在对象下落渲染区域布局多行预设碰撞物和多行预设碰撞物对应的多行下落口,可以便于模拟第一对象从多行预设碰撞物对应的下落口的下落过程,且结合执行指令触发时第一对象所在的当前位置,将最上方一行中位于当前位置正下方的位置作为起始下落位置,可以有效保证起始下落位置的精准性。

在一个可选的实施例中,上述多行下落口中最下方一行下落口所在位置为多个预设下落位置,多个预设下落位置对应至少一种预设下落位置类型,不同的预设下落位置类型可以对应不同的推送对象,即第一对象掉落到不同预设下落位置类型的下落口,后续的推送过程中,推送的对象不同(对象的不同可以为推送的对象类型不同,也可以对象数量不同);每个预设下落位置对应至少一种预设下落位置类型中的一种预设下落位置类型,可选的,不同的预设下落位置可以对应不同的预设下落位置类型,也可以对应相同的下落位置类型。以图4中所示,多行下落口中最下方一行下落口对应4中预设下落位置类型:下落位置类型A、下落位置类型B、下落位置类型C和下落位置类型D。

在一个具体的实施例中,上述目标下落位置类型可以随机确定,也可以预先设置,具体的,可以由后台预先配置好确定目标下落位置类型的方式。

在一个具体的实施例中,第一预设区域中多行预设碰撞物的行数可以结合实际应用中预设下落位置类型数量确定,例如第一预设区域中设置4种预设下落位置类型;相应的,结合图3所示,4行的杨辉三角中最下方一行可以对应4个元素,可以确定多行预设碰撞物的行数为4。进一步的,由于不同位置的下落口可以对应相同的预设下落位置类型,为了保证杨辉三角最下方一行下落口对应4种预设下落位置类型,最下方一行下落口可以至少设置4个下落口,相应的,最下方一行的预设碰撞物可以至少设置5个,进一步的,可以结合第一对象的大小、第一预设区域的大小设置最上方一行中下落口的数量以及两两预设碰撞物间的距离,进而结合两两预设碰撞物间的距离其他行的预设碰撞物。

在另一个可选的实施例中,结合图3中4行的杨辉三角为例,在实际应用中,由于物体下落的过程中,受预设碰撞物的碰撞约束,从某一下落口往下落的物体,只能落向该下落口下面一行下落口中与该下落口相邻的两个下落口,例如图3中第二行左侧的1所在下落口为例,从该下落口下落的物体,受预设碰撞物的碰撞约束,只能落向第三行左侧的1所在的下落口和第三行2所在下落口。相应的,第一对象从第一行往下落会落入第四行的四个元素处可以有8种下落方式,其中,从第一行往下落会落入第四行的第一个元素处的下落方式有1种,该下落方式中下落口对应元素可以依次为:1、1、1、1(第一个数字1为第一行的1,第二个数字1为第二行左侧的1,第三个数字1为第三行左侧的1,第四个数字1为第四行左侧的1),即从第一行往下落会落入第四行的第一个元素处的概率为1/8;从第一行往下落会落入第四行的第二个元素处的下落方式有3种,3中下落方式中下落口对应元素可以依次为:1、1、1、3(第一个数字1为第一行的1,第二个数字1为第二行左侧的1,第三个数字1为第三行左侧的1,第四个数字3为第四行左侧的3),1、1、2、3(第一个数字1为第一行的1,第二个数字1为第二行左侧的1,第三个数字2为第三行的2,第四个数字3为第四行左侧的3),1、1、2、3(第一个数字1为第一行的1,第二个数字1为第二行右侧的1,第三个数字2为第三行的2,第四个数字3为第四行左侧的3),相应的,从第一行往下落会落入第四行的第二个元素处的概率为3/8;依次类推,从第一行往下落会落入第四行的第三个元素处的概率为3/8;从第一行往下落会落入第四行的第四个元素处的概率为1/8。可选的,可以结合上述杨辉三角对应的概率和最下方一行下落口的数量来控制最终下落至各种预设下落位置类型的概率。

在步骤S203中,根据起始下落位置和目标下落位置类型,确定第一对象在第一预设区域中的目标下落位置和至少一个中间下落位置;

在一个具体的实施例中,上述第一预设区域包括多行预设碰撞物和多行预设碰撞物对应的多行下落口,每行预设碰撞物中相邻两个预设碰撞物间有一个下落口,多行下落口为以最上方一行下落口中任一下落口为杨辉三角的第一行元素所在位置的几何排列;多行下落口中最下方一行下落口所在位置为多个预设下落位置,多个预设下落位置对应至少一种预设下落位置类型,每个预设下落位置对应至少一种预设下落位置类型中的一种预设下落位置类型,至少一种预设下落位置类型包括目标下落位置类型;相应的,如图5所示,上述根据起始下落位置和目标下落位置类型,从第一预设区域中确定第一对象对应的目标下落位置和至少一个中间下落位置可以包括以下步骤:

在步骤S501中,根据起始下落位置,从最上方一行下落口中确定起始下落口;

在步骤S503中,在多行预设碰撞物的碰撞约束下,基于起始下落口,从最下方一行下落口中确定目标下落位置类型对应的目标下落口,以及从中间行下落口中确定至少一个中间下落口;

在步骤S505中,以起始下落位置为起点,基于最短路径约束条件,从每一路径下落口对应的预设碰撞物中确定每一路径下落口对应的目标碰撞点;

在步骤S507中,将目标下落口对应的目标碰撞点所在位置作为目标下落位置;

在步骤S509中,将至少一个中间下落口对应的目标碰撞点所在位置作为至少一个中间下落位置。

在一个具体的实施例中,若起始下落位置位于最上方一行下落口中某一下落口所在区域,可以将该下落口作为起始下落口;若起始下落位置位于某一预设碰撞物上,可以结合起始下落位置与预设碰撞物的中心间的相对位置关系,来确定起始下落口;可选的,若起始下落位置位于预设碰撞物中心的左侧,可以将该预设碰撞物左侧的下落口作为起始下落口;若起始下落位置位于预设碰撞物中心的右侧,可以将该预设碰撞物右侧的下落口作为起始下落口。

此外,需要说明的是,对应第一预设区域边界处的预设碰撞物,由于是边界处,最左侧预设碰撞物,只能往右选择下落口,最右侧预设碰撞物,只能往左边选择下落口。

在一个具体的实施例中,上述中间行下落口为多行下落口中位于最上方一行下落口和最下方一行下落口之间的至少一行下落口。在一个具体的实施例中,由于第一对象下落的过程中,受多行预设碰撞物的碰撞约束,可以结合碰撞约束(从某一下落口往下落的物体,只能落向该下落口下面一行下落口中与该下落口相邻的两个下落口)和最终需要落到目标下落位置类型对应的目标下落口,依次确定出每一行的下落口,进而可以得到目标下落口和至少一个中间下落口。

在一个具体的实施例中,结合图4,为了便于描述在相应的下落口结合数字进行标记,假设第一行第一个箭头所在下落口0为起始下落口,结合碰撞约束,可以确定起始下落口0之后的下落口可以是下落口1和2,接着,结合碰撞约束,下落口1往下落可以下落到下落口3和4;另外,结合碰撞约束,下落口2往下落可以下落到下落口4和6;接着,结合碰撞约束,下落口3往下落可以下落到下落口5和7,由于目标下落位置类型为B,可以确定下落口3往下落只能下落口5;相应的,可以确定出第一种下落方式对应的目标下落为下落口5,至少一个中间下落口为下落口1和3;另外,结合碰撞约束,下落口4往下落可以下落到下落口5和8,由于目标下落位置类型为B,可以确定下落口4往下落只能下落口5;相应的,可以确定出第二种下落方式对应的目标下落为下落口5,至少一个中间下落口为下落口2和4;另外,由于目标下落位置类型为B,下落口6往下落,无法落到目标下落位置类型为B的下落口,可以不继续往下寻找下落;相应的,最终可以确定目标下落口为下落口5,至少一个中间下落口可以为下落口1和3,或者下落口2和4。

在一个具体的实施例中,每一路径下落口为目标下落口和至少一个中间下落口中的每一下落口;每一路径下落口对应的预设碰撞物为与每一路径下落口相邻的预设碰撞物。可选的,若某一路径下落口位于两个预设碰撞物之间,该路径下落口对应的两个预设碰撞物;可选的,若某一路径下落口位于一个预设碰撞物和第一预设区域的边界之间,某一路径下落口位于1个预设碰撞物之间;可选的,在以起始下落位置为起点,基于最短路径约束条件,从每一路径下落口对应的预设碰撞物中确定每一路径下落口对应的目标碰撞点过程中,可以将起始下落位置作为当前下落位置,接着,可以结合最短路径约束条件(即当前下落位置到下一下落位置间的路径最短),结合当前下落位置与下一行的路径下落口对应的预设碰撞物间的路径距离,从下一行的路径下落口对应的预设碰撞物所在位置点中选择与当前下落位置间的路径距离最短的位置点,作为下一行的路径下落口对应的目标碰撞点。接着,将上述下一行的路径下落口对应的目标碰撞点作为当前下落位置,并依次类推,确定再下一行的路径下落口对应的目标碰撞点。

上述实施例中,结合杨辉三角在对象下落渲染区域布局多行预设碰撞物和多行预设碰撞物对应的多行下落口,可以便于模拟第一对象从多行预设碰撞物对应的下落口的下落过程,大大提升对象下落过程中真实性,且根据起始下落位置,从最上方一行下落口中确定起始下落口之后,在多行预设碰撞物的碰撞约束下,基于起始下落口,从最下方一行下落口中确定目标下落位置类型对应的目标下落口,以及从中间行下落口中确定至少一个中间下落口;接着,以起始下落位置为起点,基于最短路径约束条件,从每一路径下落口对应的预设碰撞物中确定每一路径下落口对应的目标碰撞点,进而可以结合目标碰撞快速精准的确定目标下落位置和至少一个中间下落位置,便于后续快速的确定下落轨迹。

在步骤S205中,基于至少一个中间下落位置,分段构建起始下落位置至目标下落位置间的对象下落轨迹。

在一个可选的实施例中,如图6所示,上述基于至少一个中间下落位置,分段构建起始下落位置至目标下落位置间的对象下落轨迹可以包括以下步骤:

在步骤S601中,从起始下落位置、目标下落位置和至少一个中间下落位置中,确定多个路径节点对;

在步骤S603中,基于任一路径节点对中两个路径节点间的相对位置关系,确定任一路径节点对对应的控制节点;

在步骤S605中,根据任一路径节点对和任一路径节点对对应的控制节点,生成任一路径节点对对应的二阶贝塞尔曲线;

在步骤S607中,对多个路径节点对对应的二阶贝塞尔曲线进行拼接处理,得到对象下落轨迹。

在一个具体的实施例中,任一路径节点对可以为以起始下落位置、目标下落位置和至少一个中间下落位置中任意两个相邻位置为路径节点的节点对。具体的,以第一对象下落过程从上到下的顺序为例,第一个路径节点对可以以起始下落位置和第二行的中间下落位置为路径节点,可选的,若至少一个中间下落位置包括多个;相应的,第二个路径节点对可以以第二行的中间下落位置和第三行的中间下落位置为路径节点,并依次类推,直至当前的路径节点对以目标下落位置和目标下落位置的上一行中间下落位置为路径节点。

在一个具体的实施例中,上述基于任一路径节点对中两个路径节点间的相对位置关系,确定任一路径节点对对应的控制节点可以包括:在路径节点对中第一路径节点在垂直方向上位于第二路径节点的左侧的情况下,可以在第一路径节点左侧,结合预设随机范围(控制节点在水平方向与第一路径节点间的距离范围)确定控制节点的水平坐标;在第一路径节点在垂直方向上位于第二路径节点的右侧的情况下,可以在第一路径节点右侧,结合预设随机范围确定控制节点的水平坐标;控制节点的垂直坐标可以在第一路径节点和第二路径节点的垂直坐标间随机生成。

在一个具体的实施例中,可以将每一路径节点对中路径节点的位置和任一路径节点对对应的控制节点的位置代入二阶贝塞尔公式,进而可以生成任一路径节点对对应的二阶贝塞尔曲线,具体的,任一路径节点对对应的二阶贝塞尔曲线可以为从该路径节点对中第一路径节点经过控制节点,到该路径节点对中第二路径节点的曲线。

在一个具体的实施例中,可以结合各个多个路径节点对中路径节点的相邻关系,依拼接多个路径节点对对应的二阶贝塞尔曲线,得到对象下落轨迹。具体的,该对象下落轨迹可以为第一对象从起始下落位置下落至目标下落位置的轨迹。

上述实施例中,在生成对象下落轨迹过程中,结合起始下落位置、目标下落位置和至少一个中间下落位置,进行分段轨迹计算,进而可以基于二阶贝塞尔曲线就能有效保证曲线的平滑性,且二阶贝塞尔曲线的计算过程简单,可以有效降低计算复杂度和计算资源消耗,进而也可以大大提升设备性能。

在步骤S207中,基于对象下落轨迹,在第一预设区域渲染第一对象从起始下落位置下落至目标下落位置的下落过程。

在一个可选的实施例中,如图7所示,上述基于对象下落轨迹,在第一预设区域渲染第一对象从起始下落位置下落至目标下落位置的下落过程可以包括以下步骤:

在步骤S701中,获取第一对象对应的预设下落速度和第一对象下落过程中的第一预设摩擦力;

在步骤S703中,基于第一预设摩擦力,对预设下落速度进行修正,得到第一对象下落过程中的目标下落速度;

在步骤S705中,基于对象下落轨迹和目标下落速度,在第一预设区域渲染下落过程。

在一个具体的实施例中,预设下落速度可以结合实际应用中预先设置,第一预设摩擦力可以为预先设置的空气阻力,可选的,可以结合阻力公式,在对第一对象施加第一预设摩擦力的情况下,第一对象下落过程中因第一预设摩擦力带来的速度,并基于该速度修正预设下落速度,可以得到目标下落速度。

在一个具体的实施例中,上述基于对象下落轨迹和目标下落速度,在第一预设区域渲染下落过程可以包括控制第一对象以目标下落速度,沿对象下落轨迹下落。

上述实施例中,在基于对象下落轨迹,在第一预设区域渲染第一对象从起始下落位置下落至目标下落位置的下落过程中,结合第一预设摩擦力,对预设下落速度进行修正,可以更好的模拟对象的下落过程中,进而可以在渲染出对象连续平滑的下落过程的基础上,大大提升对象下落过程的真实性。

在步骤S209中,在第一对象下落至目标下落位置的情况下,在互动页面中第二预设区域渲染目标下落位置类型对应的第二对象的推送过程。

在一个具体的实施例中,第二对象可以为需要推送的对象(推送对象),可以预先设置不同的预设下落位置类型对应不同的推送对象(例如不同预设下落位置类型对应的推送对象的类型不同,也可以为不同预设下落位置类型对应的对象数量不同),进而可以确定目标下落位置类型对应的第二对象。

在一个可选的实施例中,上述第二预设区域为等腰梯形的对象推送区域,上述第二对象可以包括至少一个对象,可选的,上述在第一对象下落至目标下落位置的情况下,在互动页面中第二预设区域渲染目标下落位置类型对应的第二对象的推送过程可以包括:

在第一对象下落至目标下落位置的情况下,在第二预设区域中起始区域渲染至少一个对象,控制展示有至少一个对象的第二预设区域往目标推送位置移动,并在第二预设区域往目标推送位置移动过程中,基于预设空气墙刚体对展示在第二预设区域的起始对象施加预设挤压力,以使第二预设区域中的对象移动;

在一个具体的实施例中,上述起始对象为位于起始区域的对象,可选的,起始对象可以包括当前渲染的对象(上述第二对象),还可以包括历史渲染对象;具体的,起始区域可以为第一预设区域最上方的指定区域。具体的,目标图上位置可以结合实际应用预先设置。具体的,在对起始对象施加预设挤压力的情况下,起始对象可以结合沿预设挤压力对应的方向移动。

上述实施例中,将第二预设区域设置为等腰梯形的对象推送区域,可以实现以二维的图像模拟三维透视关系的效果,大大提升仿真场景的真实性,且在第一对象下落至目标下落位置的情况下,在第二预设区域中起始区域渲染至少一个对象,控制展示有至少一个对象的第二预设区域往目标推送位置移动,并在第二预设区域往目标推送位置移动过程中,基于预设空气墙刚体对展示在第二预设区域的起始对象施加预设挤压力,可以实现有效的模拟对象推送过程。

在一个可选的实施例中,至少一个对象为圆形的对象,且至少一个对象的数量小于等于预设阈值。具体的,预设阈值可以为预先设置的单次生成的推送对象数量上限。上述在第一对象下落至目标下落位置的情况下,在互动页面中第二预设区域渲染目标下落位置类型对应的第二对象的推送过程还可以包括:

在第二预设区域往目标推送位置移动过程中,生成第一预设区域中每一对象对应的碰撞边;

基于每一对象对应的碰撞边,确定第一预设区域中存在碰撞的目标碰撞对象;

对目标碰撞对象施加第二预设摩擦力,以修正目标碰撞对象在第二预设区域移动过程中速度。

在实际应用中,对于一些圆形的对象,相互间只要有一个点有接触就需要进行碰撞计算,为了降低圆形对象间碰撞计算的计算量,可以为每一对象生成碰撞边,相应的,可以结合边与边之间的接触进行碰撞计算,可选的,每一对象对应的碰撞边的数量,可以预先设置,例如需要以一个五边形来表示对应的边,可以生成5个碰撞边。可选的,结合不同对象间碰撞边的碰撞接触,以确定每个目标碰撞对象,具体的,目标碰撞对象可以为与其他对象具有碰撞的对象。具体的,第二预设摩擦力可以为两两对象间碰撞带来的力,可选的第二预设摩擦力的大小可以预先设置,第二预设摩擦力的方向可以结合实际应用中两两对象间的碰撞情况确定。相应的,上述对目标碰撞对象施加第二预设摩擦力,以修正目标碰撞对象在第二预设区域移动过程中速度可以包括:确定目标碰撞对象存在配置的目标碰撞边,并结合目标碰撞对象和在目标碰撞边与该目标碰撞对象存在碰撞的对象间的相对位置关系,确定第二预设摩擦力的方向,并结合第二预设摩擦力对应的大小,计算因目标碰撞边受到的第二预设摩擦力带来的速度,并基于该速度修正目标碰撞对象在第二预设区域移动过程中速度。

上述实施例中,在需要推送的对象为圆形的情况下,通过为圆形对象设置碰撞边,可以减少推送过程中的碰撞计算量,且通过控制生成的需要推送的对象的数量,可以有效控制对象推送过程中的系统资源消耗,进而可以有效提升设备性能。

在一个可选的实施例中,上述方法还可以包括:

在第二预设区域中任一对象的重心位置越过第一预设区域的目标推送边缘的情况下,基于预设动画参数,渲染目标掉落对象从第一预设区域掉落的动画;

在一个具体的实施例中,上述目标掉落对象为第二预设区域中对应的重心位置越过第二预设区域的目标推送边缘的对象。目标推送边缘可以为第二预设区域靠近目标推送位置的边缘。预设动画参数可以为能够渲染对象掉落的动画参数。可选的,目标掉落对象可以掉落在第三预设区域,该第三预设区域与预设的奖励对象的出口连通,相应的,在第三预设区域的对象数量达到一定数量后,用户可以获取奖励对象(到达出口的目标掉落对象)。

上述实施例中,在第二预设区域中任一对象的重心位置越过第一预设区域的目标推送边缘的情况下,基于预设动画参数,渲染目标掉落对象从第一预设区域掉落的动画,可以快速的进行对象掉落的渲染。

在一个可选的实施例中,上述方法应用于终端,终端设置有渲染引擎和物理引擎;

在一个具体的实施例中,渲染引擎用于执行确定第一对象在第一预设区域内的起始下落位置和第一对象对应的目标下落位置类型至基于对象下落轨迹,在第一预设区域渲染第一对象从起始下落位置下落至目标下落位置的下落过程的步骤;物理引擎用于在第一对象下落至目标下落位置的情况下,执行在互动页面中第二预设区域渲染目标下落位置类型对应的第二对象的推送过程的步骤。

上述实施例中,在预设互动业务执行过程中,通过渲染引擎和物理引擎的结合,可以有效降低相关技术中用亮哥哥物理引擎进行仿真模拟带来的资源消耗,且结合渲染引擎和物理引擎可以不依赖传统的游戏引擎等业务引擎,就能进行开发的,实现在普通的h5页面也可以流畅的运行渲染,大大提升业务的可扩展性。

此外,需要说明的是,本说明书实施例涉及的速度均是具有大小和方向的矢量。

在一个具体的实施例中,如图8所示,图8是根据一示例性实施例提供的一种互动页面的示意图。具体的,801对应的区域为第一预设区域,第一对象801在第一预设区域801上方水平移动,并在执行指令触发的情况下,进行第一对象在第一预设区域从起始下落位置至目标下落位置的下落过程渲染;接着,可以结合第一对象的目标下落位置类型确定当前需要渲染的第二对象804,具体的,803对应的区域可以为第二预设区域,进一步的结合图8中右侧关于推送过程中示意图可见,第二预设区域可以往前推送第一对象。

由以上本说明书实施例提供的技术方案可见,本说明书在预设互动业务的执行指令触发的情况下,结合第一对象在互动页面的对象掉落渲染区域内的起始下落位置和第一对象对应的目标下落位置类型,可以确定第一对象在对象掉落渲染区域中的目标下落位置和至少一个中间下落位置;接着,结合至少一个中间下落位置,分段构建起始下落位置至目标下落位置间的对象下落轨迹,可以通过分段轨迹构建的方式,在有效保证轨迹的平滑性的基础上,大大降低轨迹构建过程中的计算复杂度,进而可以基于分段轨迹构建得到的对象下落轨迹,在对象掉落渲染区域渲染第一对象从起始下落位置下落至目标下落位置的下落过程,大大降低对象下落过程中的计算资源消耗;并在第一对象下落至目标下落位置的情况下,在互动页面中第二预设区域渲染目标下落位置类型对应的第二对象的推送过程,可以实现预设互动业务执行过程中的对象下落和对象推送的仿真渲染,且通过计算资源消耗量的降低,可以大大提升设备性能。

图9是根据一示例性实施例示出的一种数据处理装置框图。参照图9,该装置包括:

数据确定模块910,被配置为执行响应于预设互动业务的执行指令,确定第一对象在第一预设区域内的起始下落位置和第一对象对应的目标下落位置类型;第一预设区域为预设互动业务对应互动页面中的对象掉落渲染区域;

下落位置确定模块920,被配置为执行根据起始下落位置和目标下落位置类型,确定第一对象在第一预设区域中的目标下落位置和至少一个中间下落位置;

对象下落轨迹构建模块930,被配置为执行基于至少一个中间下落位置,分段构建起始下落位置至目标下落位置间的对象下落轨迹;

下落过程渲染模块940,被配置为执行基于对象下落轨迹,在第一预设区域渲染第一对象从起始下落位置下落至目标下落位置的下落过程;

推送过程渲染模块950,被配置为执行在第一对象下落至目标下落位置的情况下,在互动页面中第二预设区域渲染目标下落位置类型对应的第二对象的推送过程。

在一个可选的实施例中,对象下落轨迹构建模块930包括:

路径节点对确定单元,被配置为执行从起始下落位置、目标下落位置和至少一个中间下落位置中,确定多个路径节点对,任一路径节点对为以起始下落位置、目标下落位置和至少一个中间下落位置中任意两个相邻位置为路径节点的节点对;

控制节点确定单元,被配置为执行基于任一路径节点对中两个路径节点间的相对位置关系,确定任一路径节点对对应的控制节点;

二阶贝塞尔曲线生成单元,被配置为执行根据任一路径节点对和任一路径节点对对应的控制节点,生成任一路径节点对对应的二阶贝塞尔曲线;

曲线拼接单元,被配置为执行对多个路径节点对对应的二阶贝塞尔曲线进行拼接处理,得到对象下落轨迹。

在一个可选的实施例中,第一预设区域包括多行预设碰撞物和多行预设碰撞物对应的多行下落口,每行预设碰撞物中相邻两个预设碰撞物间有一个下落口,多行下落口为以最上方一行下落口中任一下落口为杨辉三角的第一行元素所在位置的几何排列;第一对象在第一预设区域中的目标行的上方水平移动,目标行为最上方一行下落口所在行;数据确定模块910包括:

当前位置确定单元,被配置为执行确定执行指令触发时第一对象所在的当前位置;

起始下落位置确定单元,被配置为执行将目标行中位于当前位置正下方的位置作为起始下落位置。

在一个可选的实施例中,第一预设区域包括多行预设碰撞物和多行预设碰撞物对应的多行下落口,每行预设碰撞物中相邻两个预设碰撞物间有一个下落口,多行下落口为以最上方一行下落口中任一下落口为杨辉三角的第一行元素所在位置的几何排列;多行下落口中最下方一行下落口所在位置为多个预设下落位置,多个预设下落位置对应至少一种预设下落位置类型,每个预设下落位置对应至少一种预设下落位置类型中的一种预设下落位置类型,至少一种预设下落位置类型包括目标下落位置类型;

下落位置确定模块920包括:

起始下落口确定单元,被配置为执行根据起始下落位置,从最上方一行下落口中确定起始下落口;

下落口确定单元,被配置为执行在多行预设碰撞物的碰撞约束下,基于起始下落口,从最下方一行下落口中确定目标下落位置类型对应的目标下落口,以及从中间行下落口中确定至少一个中间下落口,中间行下落口为多行下落口中位于最上方一行下落口和最下方一行下落口之间的至少一行下落口;

目标碰撞点确定单元,被配置为执行以起始下落位置为起点,基于最短路径约束条件,从每一路径下落口对应的预设碰撞物中确定每一路径下落口对应的目标碰撞点,每一路径下落口为目标下落口和至少一个中间下落口中的每一下落口;每一路径下落口对应的预设碰撞物为与每一路径下落口相邻的预设碰撞物;

目标下落位置确定单元,被配置为执行将目标下落口对应的目标碰撞点所在位置作为目标下落位置;

中间下落位置确定单元,被配置为执行将至少一个中间下落口对应的目标碰撞点所在位置作为至少一个中间下落位置。

在一个可选的实施例中,下落过程渲染模块940包括:

数据获取单元,被配置为执行获取第一对象对应的预设下落速度和第一对象下落过程中的第一预设摩擦力;

第一速度修正单元,被配置为执行基于第一预设摩擦力,对预设下落速度进行修正,得到第一对象下落过程中的目标下落速度;

下落过程渲染单元,被配置为执行基于对象下落轨迹和目标下落速度,在第一预设区域渲染下落过程。

在一个可选的实施例中,第二预设区域为等腰梯形的对象推送区域,第二对象包括至少一个对象,推送过程渲染模块950包括:

第一渲染单元,被配置为执行在第一对象下落至目标下落位置的情况下,在第二预设区域中起始区域渲染至少一个对象,控制展示有至少一个对象的第二预设区域往目标推送位置移动,并在第二预设区域往目标推送位置移动过程中,基于预设空气墙刚体对展示在第二预设区域的起始对象施加预设挤压力,以使第二预设区域中的对象移动;

其中,起始对象为位于起始区域的对象。

在一个可选的实施例中,至少一个对象为圆形的对象,且至少一个对象的数量小于等于预设阈值;推送过程渲染模块950还包括:

碰撞边生成单元,被配置为执行在第二预设区域往目标推送位置移动过程中,生成第一预设区域中每一对象对应的碰撞边;

目标碰撞对象确定单元,被配置为执行基于每一对象对应的碰撞边,确定第一预设区域中存在碰撞的目标碰撞对象;

第二速度修正单元,被配置为执行对目标碰撞对象施加第二预设摩擦力,以修正目标碰撞对象在第二预设区域移动过程中速度。

在一个可选的实施例中,上述装置还包括:

掉落动画渲染模块,被配置为执行在第二预设区域中任一对象的重心位置越过第一预设区域的目标推送边缘的情况下,基于预设动画参数,渲染目标掉落对象从第一预设区域掉落的动画;

其中,目标掉落对象为第二预设区域中对应的重心位置越过第二预设区域的目标推送边缘的对象。

在一个可选的实施例中,方法应用于终端,终端设置有渲染引擎和物理引擎;

其中,渲染引擎用于执行确定第一对象在第一预设区域内的起始下落位置和第一对象对应的目标下落位置类型至基于对象下落轨迹,在第一预设区域渲染第一对象从起始下落位置下落至目标下落位置的下落过程的步骤;

物理引擎用于在第一对象下落至目标下落位置的情况下,执行在互动页面中第二预设区域渲染目标下落位置类型对应的第二对象的推送过程的步骤。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

图10是根据一示例性实施例示出的一种用于数据处理的电子设备的框图,该电子设备可以是终端,其内部结构图可以如图10所示。该电子设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据处理方法。该电子设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该电子设备的输入装置可以是显示屏上覆盖的触摸层,也可以是电子设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图10中示出的结构,仅仅是与本公开方案相关的部分结构的框图,并不构成对本公开方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在示例性实施例中,还提供了一种电子设备,包括:处理器;用于存储该处理器可执行指令的存储器;其中,该处理器被配置为执行该指令,以实现如本公开实施例中的数据处理方法。

在示例性实施例中,还提供了一种计算机可读存储介质,当该存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行本公开实施例中的数据处理方法。

在示例性实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行本公开实施例中的数据处理方法。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

相关技术
  • 数据处理方法、装置、计算机可读存储介质和电子设备
  • 路由数据处理方法、装置、电子设备及存储介质
  • 数据处理方法及装置、电子设备、存储介质
  • 屏幕布局数据处理方法、装置、电子设备及存储介质
  • 网页操作数据的处理方法、装置、电子设备及存储介质
  • 数据加密处理方法、数据解密处理方法、装置、电子设备及可读存储介质
  • 数据处理方法、功耗数据处理方法、存储介质和电子设备
技术分类

06120115970515