球体运动的控制方法、装置、存储介质及计算机设备与流程
本申请涉及游戏技术领域,具体涉及一种球体运动的控制方法、装置、存储介质及计算机设备。
背景技术:
在运动类型的网络游戏中,通常需要对球体的运动进行基于现实物理的模拟。现有的用于模拟球体物理运动的技术方案包括通过物理引擎模拟物理运动、以及自行使用运动拟合公式模拟物理运动等方法。
但是,这些现有的技术方案存在对运动的计算并不够精确,以及由于运算量大而导致效率低的问题。
技术实现要素:
本申请的目的在于提供一种球体运动的控制方法、装置、存储介质及计算机设备,以在模拟球体运动时提高拟真的精确性和效率。
本申请实施例提供了一种球体运动的控制方法,包括:
接收虚拟球体开始运动时的触发操作信息;
根据触发操作信息确定虚拟球体的速度权重值;
根据速度权重值确定虚拟球体在运动过程中的运动参数;
根据运动参数控制虚拟球体的运动。
本申请实施例还提供了一种球体运动的控制装置,包括:
接收模块,用于接收虚拟球体开始运动时的触发操作信息;
第一确定模块,用于根据触发操作信息确定虚拟球体的速度权重值;
第二确定模块,用于根据速度权重值确定虚拟球体在运动过程中的运动参数;
控制模块,用于根据运动参数控制虚拟球体的运动。
其中,运动参数包括速度参数和加速度参数,第二确定模块具体包括:
第一确定单元,用于根据速度权重值确定虚拟球体在运动过程中的至少一个运动方式;
第二确定单元,用于确定虚拟球体的初始速度参数;
第三确定单元,用于根据初始速度参数,确定每个运动方式对应的速度参数和加速度参数。
其中,第一确定单元具体用于:
当速度权重值为预设值时,确定虚拟球体在运动过程中的运动方式包括纯滚动;
当速度权重值不为预设值时,确定虚拟球体在运动过程中的运动方式包括滑动并滚动、以及纯滚动。
其中,当运动方式包括滑动并滚动、以及纯滚动时,初始速度参数包括初始滑动线速度参数、初始旋转速度参数和初始滚动线速度参数,第二确定单元具体包括:
获取子单元,用于获取虚拟球体的初始滑动线速度参数;
第一确定子单元,用于根据初始滑动线速度参数和速度权重值确定虚拟球体的初始旋转速度参数;
第二确定子单元,用于根据初始滑动线速度参数、速度权重值和预设的临界速度比例值确定虚拟球体的初始滚动线速度参数。
其中,第三确定单元具体包括:
第三确定子单元,用于根据初始滚动线速度参数、初始旋转速度参数、初始滑动线速度参数以及预设的滑动加速度参数,确定滑动并滚动对应的第一加速度参数;
第四确定子单元,用于根据初始滑动线速度参数、滑动加速度参数、初始旋转速度参数和第一加速度参数,确定滑动并滚动对应的第一速度参数;
第五确定子单元,用于将预设的滚动加速度参数作为纯滚动对应的第二加速度参数,并根据初始滚动线速度参数和第二加速度参数,确定纯滚动对应的第二速度参数。
其中,控制模块具体用于:
以第一速度参数和第一加速度参数,控制虚拟球体进行滑动并滚动运动;
在滑动并滚动运动过程中,当虚拟球体的滑动线速度等于初始滚动线速度参数时,以第二速度参数和第二加速度参数,控制虚拟球体进行纯滚动运动。
其中,获取子单元具体用于:
通过游戏界面接收输入的运动轨迹线;
基于运动轨迹线确定虚拟球体的运动位移;
根据速度权重值、运动位移、以及预设的运动时长,确定虚拟球体的初始滑动线速度参数。
其中,当运动方式包括纯滚动时,初始速度参数包括初始滚动线速度参数,第三确定单元具体包括:
第六确定子单元,用于将预设的滚动加速度参数作为纯滚动对应的第三加速度参数,并根据初始滚动线速度参数和第三加速度参数,确定纯滚动对应的第三速度参数;
控制模块具体用于:
以第三速度参数和第三加速度参数,控制虚拟球体进行纯滚动运动。
本申请实施例还提供了一种计算机可读存储介质,存储介质中存储有多条指令,指令适于由处理器加载以执行上述任一项球体运动的控制方法。
本申请实施例还提供了一种计算机设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行计算机程序时实现上述任一项球体运动的控制方法中的步骤。
本申请提供的球体运动的控制方法、装置、存储介质及计算机设备,通过接收虚拟球体开始运动时的触发操作信息,并根据触发操作信息确定虚拟球体的速度权重值,然后根据速度权重值确定虚拟球体在运动过程中的运动参数,并根据运动参数控制虚拟球体的运动,从而在模拟球体运动时,能在较小运算量的前提下,准确计算出球体从开始运动到停止运动之间任一时刻的运动参数,进而提高了拟真的精确性和效率。
附图说明
下面结合附图,通过对本申请的具体实施方式详细描述,将使本申请的技术方案及其它有益效果显而易见。
图1是本申请实施例提供的球体运动的控制系统的场景示意图;
图2是本申请实施例提供的球体运动的控制方法的流程示意图;
图3是本申请实施例提供的虚拟球体运动前游戏界面的示意图;
图4是本申请实施例提供的球体运动的控制方法的另一流程示意图;
图5是本申请实施例提供的球体运动的控制方法的另一流程示意图;
图6是本申请实施例提供的虚拟球体运动前游戏界面的另一示意图;
图7是本申请实施例提供的虚拟球体运动过程中线速度或旋转速度与时间之间的关系示意图;
图8是本申请实施例提供的虚拟球体运动过程中线速度或旋转速度与时间之间的另一关系示意图;
图9是本申请实施例提供的球体运动的控制装置的结构示意图;
图10是本申请实施例提供的计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种球体运动的控制方法、装置、存储介质及计算机设备。
请参阅图1,图1为本申请实施例提供的球体运动的控制系统的场景示意图,该球体运动的控制系统可以包括本申请实施例提供的任一种球体运动的控制装置,该球体运动的控制装置具体可以集成在终端或服务器等计算机设备中,其中终端可以为智能手机、平板电脑、智能蓝牙设备、笔记本电脑、或者个人电脑(personalcomputer,pc)等设备,服务器可以是单台服务器,也可以是由多个服务器组成的服务器集群。
以计算机设备为终端为例,该终端可以接收虚拟球体开始运动时的触发操作信息;根据触发操作信息确定虚拟球体的速度权重值;根据速度权重值确定虚拟球体在运动过程中的运动参数;根据运动参数控制虚拟球体的运动。
其中,上述终端可以是运行游戏的设备,且游戏可以是虚拟足球游戏、虚拟冰球游戏、虚拟曲棍球游戏或虚拟台球游戏等虚拟球类游戏。上述速度权重值可以用于表征虚拟球体开始运动时的旋转速度与线速度的比值。不同虚拟球类游戏中玩家触发虚拟球体开始运动的方式可能不同,同一虚拟球类游戏中不同的触发操作信息可以对应不同的速度权重值,其中,触发操作信息可以包括击球方式(比如,虚拟台球游戏中的高杆击球方式和平杆击球方式)和/或击球点位置等可影响上述速度权重值大小的击球操作信息。上述运动参数可以包括虚拟球体从开始运动到停止运动之间任一时刻的速度参数和加速度参数。
譬如,如图1所示,在虚拟球类游戏的游戏界面中,当玩家通过触屏方式直接触发该游戏界面中的虚拟球体1开始运动,或者通过触屏方式操控游戏界面中的虚拟球杆2以间接触发游戏界面中的虚拟球体1开始运动时,上述终端可以接收该玩家触发虚拟球体1开始运动时的触发操作信息,也即,玩家触发虚拟球体1开始运动时所选择的击球点3位置信息和击球方式信息,并根据收到的击球点3位置信息和击球方式信息确定对应的速度权重值,例如,当击球点3位置为虚拟球体1中间位置,且击球方式为击球方式1(比如,高杆击球方式)时,对应的速度权重值可以等于0.5,以表征该虚拟球体1开始运动时的旋转速度和线速度方向相同且旋转速度的大小是线速度的大小的一半,接着可以根据该速度权重值确定虚拟球体1在运动过程中的运动参数,也即,速度参数和加速度参数,并以该速度参数和加速度参数控制虚拟球体1在虚拟平面4上进行运动,以实现对球体运动的拟真。
如图2所示,图2是本申请实施例提供的球体运动的控制方法的流程示意图,该球体运动的控制方法具体流程可以如下:
s101.接收虚拟球体开始运动时的触发操作信息。
在本实施例中,上述球体运动的控制方法可以但不限于应用于不同的虚拟球类游戏应用中,例如,应用于虚拟足球游戏、虚拟冰球游戏、虚拟曲棍球游戏或虚拟台球游戏等虚拟球类游戏中。
其中,在不同虚拟球类游戏中玩家可以触发虚拟球体开始运动,且玩家触发虚拟球体开始运动的方式可能不同,例如,在虚拟足球游戏中,玩家可以通过触屏方式直接触发该游戏界面中的虚拟球体开始运动,在虚拟台球游戏中,玩家可以通过触屏方式操控游戏界面中的虚拟球杆以间接触发游戏界面中的虚拟球体开始运动。上述触发操作信息可以包括玩家在触发虚拟球体开始运动时所选择的击球方式(比如,虚拟台球游戏中的高杆击球方式或平杆击球方式,或者,虚拟足球游戏中的大力趟球击球方式或拨球击球方式)和/或击球点位置(也即,玩家手指或虚拟球杆与虚拟球体的接触点位置)等可影响该虚拟球体开始运动时的旋转速度和线速度之间的比值大小的击球操作信息。
具体实施时,如图3所示,在虚拟球类游戏的游戏界面中可以包括多种击球方式对应的多个击球方式功能键,比如,击球方式1功能键、击球方式2功能键、击球方式3功能键和击球方式4功能键,并且,玩家在触发游戏界面中的虚拟球体1开始运动时,可以通过点击上述击球方式功能键来选择对应的击球方式,并可以通过触屏拖拽来调整虚拟球杆2与虚拟球体1的接触点3位置,以选择心仪的击球点位置,进而可通过选定的击球方式和击球点位置对虚拟球体1后续在虚拟平面4上的运动进行控制。
s102.根据触发操作信息确定虚拟球体的速度权重值。
其中,在同一虚拟球类游戏中,不同的触发操作信息可以对应不同的速度权重值。并且,具体实施时,可以将触发操作信息与速度权重值相匹配,以建立二者之间的对应关系,进而上述终端在接收到触发操作信息时,可以基于上述对应关系查询得到对应的速度权重值。
在本实施例中,上述速度权重值可以用于表征球体开始运动时的旋转速度与线速度之间的比值,且该速度权重值仅与玩家触发虚拟球体开始运动时的触发操作信息有关,也即,仅与玩家击球操作有关,而与虚拟球体开始运动时的线速度无关。如此,在模拟球体运动时,通过引入上述速度权重值,使得游戏中对虚拟球体的运动控制多了一层维度,能够体现玩家不同击球操作对虚拟球体后续运动的不同影响,进而增强后续对球体运动模拟的真实感。
具体地,对于上述玩家不同的击球操作可以通过改变速度权重值大小的方式来进行区分。并且,在一个具体实施例中,当预先限定上述虚拟球体开始运动时的旋转速度的大小不大于线速度的大小时,上述速度权重值的取值范围可以为[-1,1],其中,若上述速度权重值为负值,则说明上述虚拟球体开始运动时的旋转速度和线速度方向相反,若上述速度权重值为正值,则说明上述虚拟球体开始运动时的旋转速度和线速度方向相同,进一步地,若上述速度权重值为1,则说明上述虚拟球体开始运动时的旋转速度和线速度方向相同且大小相等,若上述速度权重值为0,则说明上述虚拟球体开始运动时的旋转速度大小为0。在一些替代实施例中,当并未限定上述虚拟球体开始运动时的旋转速度的大小不大于线速度的大小时,上述速度权重值的取值范围的边界值还可以为绝对值大于1的数值,比如,可以为[-5,5]。
并且,在本实施例中,上述旋转速度的方向可以理解为上述虚拟球体以该旋转速度进行滚动运动时的滚动方向,上述旋转速度与线速度之间的比值可以理解为在将上述旋转速度和线速度的单位转换为相同之后计算得到的,其中,转换关系为v=2πnr,其中,v为线速度,n为转速,r为半径。进一步地,为了减少后续对球体运动拟真的运算量,上述虚拟球体运动过程中的旋转速度的方向可以被预先限定为与线速度的方向相同和相反两种情况,也即,若上述虚拟球体运动过程中的线速度的方向是向前,则该虚拟球体运动过程中的旋转速度的方向只能是向前或向后,并不能是向左或向右等其他方向。如此,通过关注虚拟球体运动过程中的旋转速度,且同时简化旋转速度的方向,使得即可满足后续对球体运动拟真的精确性,又可减少运算量。
s103.根据速度权重值确定虚拟球体在运动过程中的运动参数。
其中,如图4所示,上述运动参数可以具体包括速度参数和加速度参数,上述s103可以具体包括:
s1031.根据速度权重值确定虚拟球体在运动过程中的至少一个运动方式。
具体地,上述虚拟球体从开始运动到完全停止运动所涉及的运动方式,最多可以包括在空中进行的弹跳、以及在虚拟平面上进行的滑动并滚动和纯滚动这三种运动方式,且真实球体在运动过程中,其在空中进行的弹跳运动会比在虚拟平面上进行的滑动并滚动运动先发生,其在虚拟平面上进行的滑动并滚动运动会比在虚拟平面上进行的纯滚动运动先发生。
在本实施例中,为了减少后续对球体运动拟真的运算量,可以认为上述虚拟球体在空中进行弹跳运动时只会受到重力作用,且每次触地(也即,接触虚拟平面)都会将高度方向上的线速度分量按预设比例进行衰减处理,并在该高度方向上的线速度分量小于预设阈值时将其归零,之后可以认为上述虚拟球体后续只会在虚拟平面上运动。并且,可以理解的是,上述虚拟球体在空中进行弹跳运动时并不会影响该虚拟球体的旋转速度和水平方向上的线速度分量,上述虚拟球体在运动过程中的至少一个运动方式可以理解为该虚拟球体从开始在虚拟平面上运动到完全停止运动所涉及的运动方式。
在一个具体实施例中,上述s1031可以具体包括:
s1-1.当速度权重值为预设值时,确定虚拟球体在运动过程中的运动方式包括纯滚动。
例如,上述预设值可以为1,也即,当上述虚拟球体开始运动时的旋转速度和线速度的比值为1时,上述终端可以确定上述虚拟球体在运动过程中的运动方式包括纯滚动,相应地,该虚拟球体后续仅会在虚拟平面上进行滚动运动。
s1-2.当速度权重值不为预设值时,确定虚拟球体在运动过程中的运动方式包括滑动并滚动、以及纯滚动。
接上一例子,当速率权重值不等于1,也即,上述虚拟球体开始运动时的旋转速度和线速度在大小和方向中至少存在一种不同时,上述终端可以确定上述虚拟球体在运动过程中的运动方式包括滑动并滚动、以及纯滚动,相应地,该虚拟球体后续会先在虚拟平面上同时进行滑动运动和滚动运动,然后才会接着在虚拟平面上仅进行滚动运动。
s1032.确定虚拟球体的初始速度参数。
在一个实施例中,如图5所示,当上述虚拟球体在运动过程中的运动方式包括滑动并滚动、以及纯滚动时,上述初始速度参数可以包括初始滑动线速度参数、初始旋转速度参数和初始滚动线速度参数,上述s1032可以具体包括:
s11.获取虚拟球体的初始滑动线速度参数。
具体地,继续参阅图3,在虚拟球类游戏的游戏界面中还可以包括击球力量控制条,并且,上述玩家在触发游戏界面中的虚拟球体开始运动时可以通过触屏拖拽上述击球力量控制条来调整击球力度,进而可通过选定的击球力度对虚拟球体后续的运动进行控制。
相应地,上述s11可以具体包括:接收玩家触发虚拟球体开始运动时的击球力度信息,并根据该击球力度信息确定对应的初始滑动线速度参数,其中,玩家在触发游戏界面中的虚拟球体开始运动时所选择击球力度越大,对应该虚拟球体的初始滑动线速度越大。
在一些替代实施例中,上述s11也可以具体包括:
s2-1-1.通过游戏界面接收输入的运动轨迹线。
具体地,如图6所示,上述玩家在触发游戏界面中的虚拟球体1开始运动时还可以通过触屏方式在游戏界面上绘制上述虚拟球体1的运动轨迹线line,以使得上述虚拟球体1后续可沿该运动轨迹线line运动。
s2-1-2.基于运动轨迹线确定虚拟球体的运动位移。
具体地,上述虚拟球体的运动位移可以等于上述运动轨迹线的长度值,且上述运动轨迹线可以为直线段。
s2-1-2.根据速度权重值、运动位移、以及预设的运动时长,确定虚拟球体的初始滑动线速度参数。
具体地,上述终端可以通过解方程ax2+bx+c=0,来得到上述虚拟球体的初始滑动线速度参数,其中:
a=[(1-k)2*(a1-a2)]/(2*a12);
b=[a1*t*k+a2*t*(1-k)]/a1;
c=-0.5*a2*t2-l;
k=vpc+sr-vpc*sr;
其中,sr为速度权重值,l为运动位移,t为运动时长,vpc为预设的临界速度比例值,a1为预设的滑动加速度参数,a2为预设的滚动加速度参数,并且,解上述方程得到的正数解即为上述虚拟球体的初始滑动线速度参数。
s12.根据初始滑动线速度参数和速度权重值确定虚拟球体的初始旋转速度参数。
具体地,上述速度权重值用于表征虚拟球体开始运动时的旋转速度与线速度之间的比值,相应地,上述初始旋转速度参数可以为上述初始滑动线速度参数与速度权重值的乘积。
s13.根据初始滑动线速度参数、速度权重值和预设的临界速度比例值确定虚拟球体的初始滚动线速度参数。
在本实施例中,上述初始滑动线速度参数用于表征上述虚拟球体在虚拟平面上开始进行滑动并滚动运动时的线速度,上述初始旋转速度参数用于表征上述虚拟球体在虚拟平面上开始进行滑动并滚动运动时的旋转速度,上述初始滚动线速度参数用于表征上述虚拟球体在虚拟平面上开始进行纯滚动运动时的线速度。其中,上述临界速度比例值(比如,0.45)用于确定滑动并滚动和纯滚动这两种运动方式的线速度分界值,且可以是通过研发人员做实验对运动拟真效果进行优化得到的。
具体实施时,上述终端可以通过预设的计算公式1来计算得到上述虚拟球体的初始滑动线速度参数,其中,计算公式1可以如下:
v1=(vpc+sr-vpc*sr)*v0;
其中,v1为初始滚动线速度参数,vpc为临界速度比例值,sr为速度权重值,v0为初始滑动线速度参数。
s1033.根据初始速度参数,确定每个运动方式对应的速度参数和加速度参数。
具体地,继续参阅图5,上述s1033可以具体包括:
s14.根据初始滚动线速度参数、初始旋转速度参数、初始滑动线速度参数以及预设的滑动加速度参数,确定滑动并滚动对应的第一加速度参数。
其中,上述终端可以通过计算公式2来计算得到上述第一加速度参数,其中,计算公式2可以如下:
a3=(v2-v1)/(v0-v1)*a1;
其中,a3为第一加速度参数,v0为初始滑动线速度参数,v1为初始滚动线速度参数,v2为初始旋转速度参数,a1为滑动加速度参数。
s15.根据初始滑动线速度参数、滑动加速度参数、初始旋转速度参数和第一加速度参数,确定滑动并滚动对应的第一速度参数。
其中,上述第一速度参数可以具体包括滑动线速度参数和第一旋转速度参数,具体地,上述终端可以通过计算公式3,也即,v11=v0-a1*t1,来计算得到上述滑动线速度参数,可以通过计算公式4,也即,v12=v2-a3*t1,来计算得到上述第一旋转速度参数,其中,v11为滑动线速度参数,v0为初始滑动线速度参数,a1为滑动加速度参数,v12为第一旋转速度参数,v2为初始旋转速度参数,a3为第一加速度参数,t1为虚拟球体进行滑动并滚动运动时的实时运动时长。
s16.将预设的滚动加速度参数作为纯滚动对应的第二加速度参数,并根据初始滚动线速度参数和第二加速度参数,确定纯滚动对应的第二速度参数。
其中,上述第二速度参数可以具体包括第一滚动线速度参数和第二旋转速度参数,具体地,上述终端可以通过计算公式5,也即,v21=v22=v1-a2*t2,来计算得到上述第一滚动线速度参数和第二旋转速度参数,其中,v21为第一滚动线速度参数,v22为第二旋转速度参数,v1为初始滚动线速度参数,a2为滚动加速度参数,t2为虚拟球体进行纯滚动运动时的实时运动时长。
在另一个实施例中,继续参阅图5,当上述虚拟球体在运动过程中的运动方式包括纯滚动时,上述初始速度参数可以包括初始滚动线速度参数,上述s1032可以具体包括:
s21.获取虚拟球体的初始滚动线速度参数。
具体地,继续参阅图3,在虚拟球类游戏的游戏界面中还可以包括击球力量控制条,并且,上述玩家在触发游戏界面中的虚拟球体开始运动时可以通过触屏拖拽上述击球力量控制条来调整击球力度,进而可通过选定的击球力度对虚拟球体后续的运动进行控制。相应地,上述s21可以具体包括:接收玩家触发虚拟球体开始运动时的击球力度信息,并根据该击球力度信息确定对应的初始滚动线速度参数,其中,玩家在触发游戏界面中的虚拟球体开始运动时所选择击球力度越大,对应该虚拟球体的初始滚动线速度越大。
在一些替代实施例中,上述s21也可以具体包括:当检测到玩家在游戏界面上输入运动轨迹线时,基于运动轨迹线确定虚拟球体的运动位移;根据速度权重值、运动位移、以及预设的运动时长,确定虚拟球体的初始滚动线速度参数。其中,上述虚拟球体的运动位移可以等于上述运动轨迹线的长度值,且上述运动轨迹线可以为直线段,具体实施时,上述终端可以通过计算公式6,也即,v1’=(l-1/2*a2*t2)/t,来计算得到上述初始滚动线速度参数,其中,v1’为初始滚动线速度参数,l为运动位移,t为运动时长,a2为预设的滚动加速度参数。
进一步地,上述s1033还可以包括:
s22.将预设的滚动加速度参数作为纯滚动对应的第三加速度参数,并根据初始滚动线速度参数和第三加速度参数,确定纯滚动对应的第三速度参数。
其中,上述第三速度参数可以具体包括第二滚动线速度参数和第三旋转速度参数,具体地,上述终端可以通过计算公式7,也即,v31=v32=v1’-a2*t3,来计算得到上述第二滚动线速度参数和第三旋转速度参数,其中,v31为第二滚动线速度参数,v32为第三旋转速度参数,v1’为初始滚动线速度参数,a2为预设的滚动加速度参数,t3为虚拟球体进行纯滚动运动时的实时运动时长。
s104.根据运动参数控制虚拟球体的运动。
其中,虽然真实世界中的球体在进行滑动并滚动运动时,会同时受到滑动摩擦力和滚动摩擦力的作用,但是,在实施例中,为了减少虚拟球体运动拟真的运算量,又由于滑动摩擦力较大,故在虚拟球体的滑动并滚动运动过程中仅考虑滑动摩擦力对虚拟球体运动的滑动线速度的影响。
具体地,上述预设的滑动加速度参数可以理解为滑动摩擦力作用于虚拟球体所产生的加速度,并且,当虚拟球体进行滑动并滚动运动时,若虚拟球体的滑动线速度的大小大于旋转速度的大小,则该虚拟球体的滑动线速度受滑动摩擦力影响会以滑动加速度参数减小,且同时旋转速度会以第一加速度参数在滑动线速度的方向上增大,若虚拟球体的滑动线速度的大小小于旋转速度的大小,则该虚拟球体的滑动线速度受滑动摩擦力影响会以滑动加速度参数增大,且同时旋转速度会以第一加速度参数在滑动线速度的方向上减小。
接着,当虚拟球体的滑动线速度和旋转速度大小相等且方向相同时,将该虚拟球体的运动方式会由滑动并滚动切换为纯滚动,并且,当虚拟球体进行纯滚动运动时,该虚拟球体运动过程中的滚动线速度和旋转速度时刻相同,且会受滚动摩擦力影响会以预设的滚动加速度参数一起减小,其中,该滚动加速度参数可以理解为滚动摩擦力作用于虚拟球体所产生的加速度。
在本实施例中,上述滚动加速度参数和滑动加速度参数是固定不变的值,比如,可以分别为7m/s2和1.5m/s2,与玩家击球操作无关,且可以参考真实世界中的球体在进行滑动运动和滚动运动时所受到滑动摩擦力和滚动摩擦力来决定,上述第一加速度参数会受玩家击球操作影响,并不是固定不变的。
如此,由于不需要对摩擦力进行完全拟真,运算量被极大缩减,从而使得上述实施例中的球体运动的控制方法能够适用于移动终端。与此同时,虽然简化了计算方法,但是虚拟球体的运动与旋转整体符合物理规律,也与玩家操作相符,从而能够保证游戏的娱乐性和玩家的沉浸感。
在一个实施例中,继续参阅图5,当上述虚拟球体在运动过程中的运动方式包括滑动并滚动、以及纯滚动时,上述初始速度参数可以具体包括初始滑动线速度参数、初始旋转速度参数和初始滚动线速度参数,上述s104可以具体包括:
s17.以第一速度参数和第一加速度参数,控制虚拟球体进行滑动并滚动运动。
具体地,上述第一速度参数可以包括滑动线速度参数和第一旋转速度参数,上述s17可以具体包括:以滑动线速度参数和滑动加速度参数控制虚拟球体进行滑动运动,并同时以第一旋转速度参数和第一加速度参数控制虚拟球体进行滚动运动,从而实现对虚拟球体进行滑动并滚动运动的拟真。
s18.在滑动并滚动运动过程中,当虚拟球体的滑动线速度等于初始滚动线速度参数时,以第二速度参数和第二加速度参数,控制虚拟球体进行纯滚动运动。
其中,上述第二速度参数可以包括第一滚动线速度参数和第二旋转速度参数,具体地,在滑动并滚动运动过程中,当虚拟球体的滑动线速度参数和第一旋转速度参数大小相等且方向相同时,上述终端可以将该虚拟球体的运动方式会由滑动并滚动切换为纯滚动,并且,当虚拟球体进行纯滚动运动时,该虚拟球体在纯滚动运动过程中的第一滚动线速度参数和第二旋转速度参数会一直相同,且同时以第二加速度参数减小。
具体举例,若初始滑动线速度参数v0为10m/s,速度权重值sr为0.4,计算得到的初始滚动线速度v1为6.7m/s,则虚拟球体在滑动并滚动、以及纯滚动这两个运动阶段的线速度(包括滑动并滚动运动阶段的滑动线速度、以及纯滚动运动阶段的滚动线速度)和旋转速度随运动时长t变化的示意图可以如图7所示,其中,短虚线代表线速度变化曲线,长虚线代表旋转速度变化曲线,在滑动并滚动运动阶段(0~t1),虚拟球体的滑动线速度逐渐减小,旋转速度逐渐增大,当两者相等时,进入纯滚动运动阶段(t1~t2),且二者变化保持一致。
在另一个实施例中,当上述虚拟球体在运动过程中的运动方式包括纯滚动时,上述初始速度参数可以具体包括初始滚动线速度参数,上述s104还可以包括:
s23.以第三速度参数和第三加速度参数,控制虚拟球体进行纯滚动运动。
其中,上述第三速度参数可以具体包括第二滚动线速度参数和第三旋转速度参数,具体地,在纯滚动运动过程中,上述虚拟球体在的第二滚动线速度参数和第三旋转速度参数会一直相同,且同时以第三加速度参数减小。
具体举例,若速度权重值sr为1.0,初始滚动线速度参数v1和初始旋转速度v2均为10m/s,则虚拟球体在进行纯滚动运动时的线速度(也即,滚动线速度)和旋转速度随运动时长t变化的示意图可以如图8所示,其中,短虚线代表线速度变化曲线,长虚线代表旋转速度变化曲线,在虚拟球体的整个运动阶段(0~t3)两者始终重合时,表示虚拟球体仅进行了纯滚动运动。
在上述实施例中,上述s12和s13可以同步进行,二者没有先后顺序,类似地,上述s14和s15与上述s16也可以同时进行,也即在执行s14和s15的过程中,可以同时执行上述s16。
由上可知,本实施例提供的球体运动的控制方法,通过接收虚拟球体开始运动时的触发操作信息,并根据触发操作信息确定虚拟球体的速度权重值,然后根据速度权重值确定虚拟球体在运动过程中的运动参数,并根据运动参数控制虚拟球体的运动,从而,在模拟球体运动时,能够准确计算球体从开始运动到停止运动之间任一时刻的运动参数,且运算量在移动终端可承受的范围之内,运算结果唯一且确定,进而提高了拟真的精确性和效率。
在上述实施例所述方法的基础上,本实施例将从球体运动的控制装置的角度进一步进行描述,请参阅图9,图9具体描述了本申请实施例提供的球体运动的控制装置,其可以包括:接收模块301、第一确定模块302、第二确定模块303和控制模块304,其中:
(1)接收模块301
接收模块301,用于接收虚拟球体开始运动时的触发操作信息。
(2)第一确定模块302
第一确定模块302,用于根据触发操作信息确定虚拟球体的速度权重值。
(3)第二确定模块303
第二确定模块303,用于根据速度权重值确定虚拟球体在运动过程中的运动参数。
其中,上述运动参数可以具体包括速度参数和加速度参数,上述第二确定模块303可以具体包括:
第一确定单元,用于根据速度权重值确定虚拟球体在运动过程中的至少一个运动方式;
第二确定单元,用于确定虚拟球体的初始速度参数;
第三确定单元,用于根据初始速度参数,确定每个运动方式对应的速度参数和加速度参数。
在一个具体实施例中,上述第一确定单元可以具体用于:
当速度权重值为预设值时,确定虚拟球体在运动过程中的运动方式包括纯滚动;
当速度权重值不为预设值时,确定虚拟球体在运动过程中的运动方式包括滑动并滚动、以及纯滚动。
在一个实施例中,当上述虚拟球体在运动过程中的运动方式包括滑动并滚动、以及纯滚动时,上述初始速度参数可以包括初始滑动线速度参数、初始旋转速度参数和初始滚动线速度参数,上述第二确定单元可以具体包括:
获取子单元,用于获取虚拟球体的初始滑动线速度参数;
第一确定子单元,用于根据初始滑动线速度参数和速度权重值确定虚拟球体的初始旋转速度参数;
第二确定子单元,用于根据初始滑动线速度参数、速度权重值和预设的临界速度比例值确定虚拟球体的初始滚动线速度参数。
具体地,上述获取子单元可以具体用于:
通过游戏界面接收输入的运动轨迹线;
基于运动轨迹线确定虚拟球体的运动位移;
根据速度权重值、运动位移、以及预设的运动时长,确定虚拟球体的初始滑动线速度参数。
进一步地,上述第三确定单元可以具体包括:
第三确定子单元,用于根据初始滚动线速度参数、初始旋转速度参数、初始滑动线速度参数以及预设的滑动加速度参数,确定滑动并滚动对应的第一加速度参数;
第四确定子单元,用于根据初始滑动线速度参数、滑动加速度参数、初始旋转速度参数和第一加速度参数,确定滑动并滚动对应的第一速度参数;
第五确定子单元,用于将预设的滚动加速度参数作为纯滚动对应的第二加速度参数,并根据初始滚动线速度参数和第二加速度参数,确定纯滚动对应的第二速度参数。
在另一个实施例中,当上述虚拟球体在运动过程中的运动方式包括纯滚动时,上述初始速度参数可以包括初始滚动线速度参数,上述第二确定单元可以具体用于:
获取虚拟球体的初始滚动线速度参数。
进一步地,上述第三确定单元具体包括:
第六确定子单元,用于将预设的滚动加速度参数作为纯滚动对应的第三加速度参数,并根据初始滚动线速度参数和第三加速度参数,确定纯滚动对应的第三速度参数。
(4)控制模块304
控制模块304,用于根据运动参数控制虚拟球体的运动。
在一个实施例中,当上述虚拟球体在运动过程中的运动方式包括滑动并滚动、以及纯滚动时,上述控制模块304可以具体用于:
以第一速度参数和第一加速度参数,控制虚拟球体进行滑动并滚动运动;
在滑动并滚动运动过程中,当虚拟球体的滑动线速度等于初始滚动线速度参数时,以第二速度参数和第二加速度参数,控制虚拟球体进行纯滚动运动。
在另一个实施例中,当上述虚拟球体在运动过程中的运动方式包括纯滚动时,上述控制模块304可以具体用于:
以第三速度参数和第三加速度参数,控制虚拟球体进行纯滚动运动。
由上可知,本实施例提供的球体运动的控制装置,包括接收模块,用于接收虚拟球体开始运动时的触发操作信息;第一确定模块,用于根据触发操作信息确定虚拟球体的速度权重值;第二确定模块,用于根据速度权重值确定虚拟球体在运动过程中的运动参数;控制模块,用于根据运动参数控制虚拟球体的运动,从而,在模拟球体运动时,能够准确计算球体从开始运动到停止运动之间任一时刻的运动参数,且运算量在移动终端可承受的范围之内,运算结果唯一且确定,进而提高了拟真的精确性和效率。
相应的,本申请实施例还提供一种计算机设备,该计算机设备可以为终端或服务器,该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、游戏机、个人计算机、个人数字助理(personaldigitalassistant,pda)等终端设备。如图10所示,图10为本申请实施例提供的计算机设备的结构示意图。该计算机设备400包括有一个或者一个以上处理核心的处理器401、有一个或一个以上计算机可读存储介质的存储器402及存储在存储器402上并可在处理器上运行的计算机程序。其中,处理器401与存储器402电性连接。本领域技术人员可以理解,图中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
处理器401是计算机设备400的控制中心,利用各种接口和线路连接整个计算机设备400的各个部分,通过运行或加载存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行计算机设备400的各种功能和处理数据,从而对计算机设备400进行整体监控。
在本申请实施例中,计算机设备400中的处理器401会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能:
接收虚拟球体开始运动时的触发操作信息;
根据触发操作信息确定虚拟球体的速度权重值;
根据速度权重值确定虚拟球体在运动过程中的运动参数;
根据运动参数控制虚拟球体的运动。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
可选的,如图10所示,计算机设备400还包括:触控显示屏403、射频电路404、音频电路405、输入单元406以及电源407。其中,处理器401分别与触控显示屏403、射频电路404、音频电路405、输入单元406以及电源407电性连接。本领域技术人员可以理解,图10中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
触控显示屏403可用于显示图形用户界面以及接收用户作用于图形用户界面产生的操作指令。触控显示屏403可以包括显示面板和触控面板。其中,显示面板可用于显示由用户输入的信息或提供给用户的信息以及计算机设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。可选的,可以采用液晶显示器(lcd,liquidcrystaldisplay)、有机发光二极管(oled,organiclight-emittingdiode)等形式来配置显示面板。触控面板可用于收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并生成相应的操作指令,且操作指令执行对应程序。可选的,触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器401,并能接收处理器401发来的命令并加以执行。触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给处理器401以确定触摸事件的类型,随后处理器401根据触摸事件的类型在显示面板上提供相应的视觉输出。在本申请实施例中,可以将触控面板与显示面板集成到触控显示屏403而实现输入和输出功能。但是在某些实施例中,触控面板与触控面板可以作为两个独立的部件来实现输入和输出功能。即触控显示屏403也可以作为输入单元406的一部分实现输入功能。
在本申请实施例中,通过处理器401执行游戏应用程序在触控显示屏403上生成虚拟三维场景的画面,该画面中包括图形用户界面(ui界面),该图形用户界面中包括第二空间方位指示器,该第二空间方位指示器上显示了目标对象所对应的空间方位标识,该空间方位标识用于标示目标对象所在的方位。
该触控显示屏403可以用于呈现虚拟三维场景的画面,以及图形用户界面并接收用户作用于图形用户界面产生的操作指令。
射频电路404可用于收发射频信号,以通过无线通信与网络设备或其他计算机设备建立无线通讯,与网络设备或其他计算机设备之间收发信号。
音频电路405可以用于通过扬声器、传声器提供用户与计算机设备之间的音频接口。音频电路405可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路405接收后转换为音频数据,再将音频数据输出处理器401处理后,经射频电路404以发送给比如另一计算机设备,或者将音频数据输出至存储器402以便进一步处理。音频电路405还可能包括耳塞插孔,以提供外设耳机与计算机设备的通信。
输入单元406可用于接收输入的数字、字符信息或用户特征信息(例如指纹、虹膜、面部信息等),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
电源407用于给计算机设备400的各个部件供电。可选的,电源407可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源407还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管图10中未示出,计算机设备400还可以包括摄像头、传感器、无线保真模块、蓝牙模块等,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
由上可知,本实施例提供的计算机设备可以提升球体运动的控制方法的精确性和效率。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种球体运动的控制方法中的步骤。例如,该计算机程序可以执行如下步骤:
接收虚拟球体开始运动时的触发操作信息;
根据触发操作信息确定虚拟球体的速度权重值;
根据速度权重值确定虚拟球体在运动过程中的运动参数;
根据运动参数控制虚拟球体的运动。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取记忆体(ram,randomaccessmemory)、磁盘或光盘等。
由于该存储介质中所存储的计算机程序,可以执行本申请实施例所提供的任一种球体运动的控制方法中的步骤,因此,可以实现本申请实施例所提供的任一种球体运动的控制方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种球体运动的控制方法、装置、存储介质及计算机设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除