一种物体运动的控制方法和装置与流程

文档序号:16379655发布日期:2018-12-22 09:22阅读:252来源:国知局
一种物体运动的控制方法和装置与流程

本发明涉及数据处理技术领域,特别是涉及一种物体运动的控制方法和一种物体运动的控制装置。

背景技术

在现实世界中,人可以用一个绳子拴住气球、风筝等可以漂浮在空中的物体。人在拉着绳子一端移动的时候,绳子会带动着风筝、气球运动,当人的移动有加、减速、转向等时候,绳子会对风筝、气球有一个拉扯效果。

在游戏等画面中希望实现一个人形风筝(或者其他物体),一个角色站在地上,拉着绳子的一端(即放风筝端,后文简称b端);另一个角色拉着绳子的另一端飘浮在天空中(即被放风筝端,后文简称a端),b端角色移动时,会拽着a端角色移动。并且b端角色可以同时拽着多根绳子,带着多个a端角色使其在天上飘(并联);或者a端角色能继续作为b端(放风筝端)带着另一个a端角色跟着他飘(串联)。

目前在画面中的风筝效果单纯由美术制作的动画来表现,因此b端的角色和a端的角色一般是直接挂接到一起的,没有经过任何处理,使得角色之间的拉拽效果并不符合真实世界的物理规律,并且现有画面中的风筝效果很少有并联、串联,因为并联串联之后,在b端加速、减速,转向,上升、下降等移动过程中,越靠近末端的a角色,其运动方式越死板,动作越不够自然。



技术实现要素:

鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种物体运动的控制方法和相应的一种物体运动的控制装置。

为了解决上述问题,本发明实施例公开了一种物体运动的控制方法,通过执行游戏应用渲染得到图形交互界面,所述图形交互界面中至少包含控制物体和被控制物体,所述控制物体和所述被控物体之间具有预设约束关系;所述方法包括:

检测所述控制物体与所述被控物体之间的空间数据;

根据所述空间数据生成所述被控物体的控制事件;

根据所述控制事件和所述预设约束关系控制所述被控物体进行运动。

优选地,所述控制物体和所述被控物体分别具有对应的刚体,所述控制物体和所述被控物体之间具有预设约束关系,包括:

所述控制物体的刚体与所述被控物体的刚体之间具有预设约束关系。

优选地,所述预设约束关系为弹簧约束关系。

优选地,所述控制物体和所述被控物体之间具有预设约束关系,包括:

所述控制物体和所述被控物体具有挂接点,所述控制物体和所述被控物体通过所述挂接点进行挂接,所述挂接点位于所述刚体的中心。

优选地,所述挂接点设置于控制物体和被控物体的根骨骼节点处。

优选地,根据所述控制物体的所述挂接点设置一对应的偏移挂接点,所述控制物体的挂接点与所述偏移挂接点之间偏移预设距离;

所述预设约束关系包括:控制所述被控物体进行移动,直至所述被控物体的挂接点位于所述控制物体的偏移挂接点上方的预设位置处。

优选地,所述控制所述被控物体进行移动包括:

设置所述被控物体受到预设垂直向上的浮力以及与所述控制物体之间的约束力,所述约束力与所述控制物体与所述被控物体之间距离成正比;

根据所述浮力与所述约束力控制所述被控物体进行移动。

优选地,所述预设约束关系包括:

设置所述被控物体受到预设的角加速度和阻尼,所述被控物体根据所述角加速度和阻尼进行转向。

优选地,所述控制物体为一个或者多个,所述被控物体为一个或多个,所述控制物体和所述被控物体之间基于所述预设约束关系进行串联或者并联。

优选地,所述空间数据包括所述控制物体与所述被控物体之间的距离数据,所述根据所述空间数据生成所述被控物体的控制事件,包括:

当所述距离数据大于或等于预设第一距离数据时,生成所述被控物体的开始移动事件;

当所述距离数据小于或等于预设第二距离数据时,生成所述被控物体的停止移动事件。

优选地,所述空间数据包括夹角数据,所述夹角数据为所述被控物体的当前朝向与所述被控物体和所述控制物体之间的连线之间的夹角数据,所述根据所述空间数据生成所述被控物体的控制事件,包括:

当所述被控物体的当前朝向为所述连线的左边,且所述夹角数据大于或等于预设夹角时,生成所述被控物体的右转向事件;

当所述被控物体的当前朝向为所述连线的右边,且所述夹角数据大于或等于预设夹角时,生成所述被控物体的左转向事件;

当所述夹角数据小于预设夹角时,生成所述被控物体的停止转向事件。

优选地,所述空间数据包括所述控制物体与所述被控物体之间的高度差数据,所述根据所述空间数据生成所述被控物体的控制事件,包括:

当所述高度差数据高于或等于第一预设高度数据时,生成所述被控物体的下降事件;

当所述高度差数据低于或等于第二预设高度数据时,生成所述被控物体的上升事件。

本发明实施例还公开了一种物体运动的控制装置,通过执行游戏应用渲染得到图形交互界面,所述图形交互界面中至少包含控制物体和被控制物体,所述控制物体和所述被控物体之间具有预设约束关系;所述装置包括:

空间数据检测模块,用于检测所述控制物体与所述被控物体之间的空间数据;

控制事件生成模块,用于根据所述空间数据生成所述被控物体的控制事件;

运动控制模块,用于根据所述控制事件和所述预设约束关系控制所述被控物体进行运动。

本发明实施例还公开了一种物体运动的控制系统,包括:一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行如上述一个或多个的一种物体运动的控制方法。

本发明实施例还公开了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如上述一个或多个的一种物体运动的控制方法。

本发明实施例包括以下优点:

本发明实施例中,在执行游戏应用渲染得到的图形交互界面中,被控物体和控制物体之间设置了预设约束关系,使得被控物体能够基于预设约束关系跟随控制物体一起运动。进一步地,本发明实施例首先会检测被控物体与控制物体之间的空间数据,然后根据空间数据生成相应的控制事件,随后被控物体将根据控制事件以及约束关系跟随控制物体运动,应用本发明实施例的物理模拟,能表现出富有真实感自然的物理效果。

附图说明

图1是本发明的一种物体运动的控制方法实施例的步骤流程图;

图2是本发明的一种控制物体和被控物体的剖面示意图;

图3是本发明的一种控制物体和被控物体弹簧约束的剖面示意图;

图4是本发明的一种控制物体和被控物体带阻尼的反馈系统的剖面示意图;

图5是本发明的一种物体之间并联的剖面示意图;

图6是本发明的一种物体之间串联的剖面示意图;

图7是本发明的一种画面中人形风筝的效果图;

图8是本发明的一种物体运动的控制装置实施例的结构框图;

图9是本发明的一种用于物体运动的控制的移动终端的框图;

图10是本发明的一种移动终端的结构示意图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

首先对于本发明所涉及到的关键术语定义进行介绍。

物理引擎:物理引擎是一种仿真程序,可用来创建一种虚拟环境,在其中集成来自物理世界的规律。在这个虚拟的环境中包括的物体,除了物体之间的相互作用(比如碰撞)外,还包括施加到它们身上的力(比如重力)。物理引擎可在仿真环境内模拟牛顿物理学并处理这些力和相互作用。

刚体(rigidbody):物理引擎中的基本物体,有形状,位置,方向,速度,角速度等基本属性。刚体在物理引擎中不会因为受力而形变。

约束(constraint):在经典力学里,物体的运动必须遵守牛顿运动定律。除此以外,每一个物理系统时常会有一些约束,物体的运动也必须遵守这些约束。例如,简单摆系统的约束是摆绳的长度是常数,摆锤与支撑点的距离必须是这长度。

弹簧(spring):弹簧是一种特殊的约束,它主要是约束了弹簧两端的相对距离,当两端距离小于某个值时,弹簧会对两端有往外伸展的力;当两端距离大于某个值时,弹簧会对两端有向中间拉扯的力。

挂接(attachment):主要是一个刚体被挂接到另一个刚体上。挂接者位移、旋转的时候,被挂接者会跟着位移、旋转。

挂接点(attachmentlocalframe):角色身上一般会有若干个挂接点,用于游戏中武器挂接,坐骑挂接等功能,挂接点可以由角色控制它运动,也可以被其它挂接点控制反向带动角色运动。

下面对于本发明实施例进行详细介绍。

参照图1,示出了本发明的一种物体运动的控制方法实施例的步骤流程图,通过执行游戏应用渲染得到图形交互界面,所述图形交互界面中至少包含控制物体和被控制物体,所述控制物体和所述被控物体之间具有预设约束关系。

本发明实施例应用于游戏应用,在执行游戏应用时会渲染出该游戏应用的图形交互界面,其中,在该图形交互界面中至少呈现有控制物体和被控物体,控制物体和被控物体之间设置有预设约束关系,被控物体和控制物体将基于预设约束关系在图形交互界面中运动。具体地,预设约束关系可以为弹簧约束关系。

其中,预设约束关系,可以通过为控制物体与被控物体设置对应的刚体实现,还可以通过对物体的控制逻辑进行编写、或通过具体美术动画特效的制作等方式予以实现。

在一种实施方式中,所述控制物体和所述被控物体分别具有对应的刚体,所述控制物体和所述被控物体之间具有预设约束关系,包括:

所述控制物体的刚体与所述被控物体的刚体之间具有预设约束关系。

在本发明实施例中,控制物体和被控物体具有对应的挂接点,控制物体和被控物体通过挂接点进行挂接,其中,挂接点位于刚体的中心。

被控物体会根据控制物体的运动而运动,也即是说被控物体会受到控制物体的运行状态的影响。需要注意的是,本发明实施例中的被控物体和控制物体不是一成不变的,是相对于两个物体之间的关系而言的,被控物体也可以是另一个被控物体的控制物体,比如在多个物体串联的情况下,位于中间的物体可以是控制物体,也可以是被控物体。

在一种实施方式中,物体之间可以串联或者并联,具体地,串联可以多个物体之间两两相连,并联则是可以由一个控制物体连接多个控制物体。

参照图2,在图中有两个角色,上方是a角色(被控物体),下方是b角色(控制物体)。b角色用绳子连接a角色,a角色在天上飞翔。a角色有一个挂接点pa,b角色有一个挂接点pb。pa处有一个球形刚体ra,pb处有一个球型刚体rb。

其中,刚体使用球形刚体和使用其他的普通刚体均可,因为球型刚体是最简单的刚体,在实际应用中使用球形刚体可以为了减少计算和存储,因此通常优先选择球形刚体。

rb刚体和b角色的挂接关系是b角色的pb挂接点带动刚体rb运动,ra刚体和角色a的挂接关系是刚体ra带动a角色的pa挂接点运动。也即是,rb刚体是被动运动,ra刚体是主动运动,而ra刚体和rb刚体之间有一定的约束关系,让ra以一定的形态跟随rb运动。

在一种优选实施方式中,所述挂接点设置于控制物体和被控物体的根骨骼节点处。

在具体实现中,pa挂接点和pb挂接点不一定是绳子两头的连接点,这是因为,当角色是人形时,这两个挂接点选择臀部或者根骨骼的点而不是四肢的点,由于四肢在角色移动之外自身也有相对移动,因此如果在四肢设挂接点很容易造成a角色移动时抖动,有效减小系统开销。在界面中,连接a角色和b角色绳子的两端不用在pa,pb两个挂接点上,可以自由放在其它挂接点上,比如手上,这样视觉上比较自然。在本发明实施例中,控制物体和被控物体的刚体之间设置约束关系,使得被控物体可以在跟随控制物体运动时,动作自然的问题,尤其是在物体串联、并联的情况下,依然能表现出富有真实感的物理效果。

在本发明实施例中,根据所述控制物体的所述挂接点设置一对应的偏移挂接点,所述控制物体的挂接点与所述偏移挂接点之间偏移预设距离;

所述约束关系包括:控制所述被控物体进行移动,直至所述被控物体的挂接点位于所述控制物体的偏移挂接点上方的预设位置处。

在一种实施方式中,所述控制所述被控物体进行移动可以包括:

设置所述被控物体受到预设垂直向上的浮力以及与所述控制物体之间的约束力,所述约束力与所述控制物体与所述被控物体之间距离成正比;

根据所述浮力与所述约束力控制所述被控物体进行移动。

参照图3,rb刚体和ra刚体是由一个改进的弹簧约束控制其运动。rb刚体在pb挂接点上,ra刚体在pa挂接点上,pb’的位置和rb的位置之间有一个偏移。真正计算b角色对a角色的弹簧约束效果的是pb’偏移挂接点这个位置,pb’相对rb的空间坐标偏移是(x,y,z)。pb’偏移挂接点位置是可以任意移动,它移动会导致pa挂接点跟着移动,和pb挂接点始终保持指定好的相对偏移。

需要说明的是,pb’偏移挂接点位置可以由人工或系统自动确定一个合理的、美观的位置,使得a角色在整体画面中比较自然。当存在b角色同时并联多个a角色时,可以设置不同的pb’偏移挂接点。

参照图3,pa挂接点受到的约束力f,方向沿pa挂接点到pb’挂接点,pa还受到一个和重力方向相反的上浮力fg。约束力f的大小和pa挂接点,pb’偏移挂接点之间的距离正相关,且距离越远力越大。当它们距离小于一定值的时候,约束力f大小为0,在约束力f和上浮力fg这两个力叠加的情况下,最终刚体ra稳定下来的位置是在pb’偏移挂接点正上方一定距离。

通过设定pb’挂接点相对于pb挂接点的坐标偏移(x,y,z),我们能让ra刚体在系统稳定时停留在相对rb刚体的不同位置,在存在多个a角色时,可以避免角色重叠的问题。

在一种实施方式中,所述控制物体和被控物体之间约束关系可以包括:

所述被控物体受到预设的角加速度和阻尼,所述被控物体根据所述角加速度和阻尼进行转向。

参照图4,ra刚体的朝向是有一个带阻尼的反馈系统控制的。图中ra刚体到rb刚体的平面投影向量是n向量,ra刚体的当前平面朝向向量是m向量,这个系统主要是控制m向量朝着n向量旋转。

ra刚体始终会受到一个角加速度,这个角加速度朝向m向量与n向量夹角合并的方向。这个角加速度每一帧会改变ra刚体的角速度,另外ra的角速度带有一个阻尼,在角加速度和阻尼的共同作用下,ra的方向会转向,并且在n向量方向的两边来回震动,逐渐趋于稳定。调整角加速度、阻尼到合适的值,能让ra刚体能以适当速度转向,并且震荡幅度较小。

a端角色的朝向由一个带阻尼的转向系统构成,这能使a端角色更快地完成转向并且避免a端角色的当前朝向在目标朝向周围长时间振动。

在一种实施方式中,所述控制物体为一个或者多个,所述被控物体为一个或多个,所述控制物体和所述被控物体之间基于所述约束关系进行串联或者并联。

在本发明实施例中,物体之间可以串联也可以并联,这些物体之间将基于前述的约束关系进行连接。

物体之间并联的情形:当b角色身后需要带多个a角色放漂浮时(a1,a2,a3……an),每个角色ai都和b角色采用上述约束关系进行挂接,这些挂接拥有各自的pb’偏移挂接点,对这些偏移挂接点设置不同的空间坐标偏移,以避免多个角色ai堆叠到一起。通过这样的形式,可以用同一个物理模型和不同的参数控制多个风筝角色ai的运动,达到并联风筝的效果。

本发明实施例并联的物理挂接能让一个b端角色同时带着若干个a端角色运动,通过设置不同偏移挂接点能使这些a端角色相互之间不会重叠,且a端角色的运动更像被绳子拉扯着运动。

参照图5,刚体rb及其对应的pb挂接点,刚体ra1,ra2,ra3及其对应的挂接点pa1,pa2,pa3,弹簧约束的偏移挂接点pb’1,pb’2,pb’3。

物体之间串联的情形:物理模型可以支持a角色作为起始端(b角色)再连一级,形成串联的效果。参照图6,左边是b角色的pb挂接点和rb刚体,中间是a角色的pa挂接点、ra刚体和pb’偏移挂接点,其中,左边的b角色和中间的a角色构成一个系统。

中间的a角色作为另一个系统中的新的b角色,与右边的b角色构成另一个系统。这几个角色的刚体两两固定连接连起来,这就构成了一个三个的串联物体。当然,还可以在这三个基础上继续串联其他的物体。

本发明实施例串联的物理挂接能让a端角色作为b端,拉着另一个a端角色运动,若干个角色连成一串,最下端的角色能带着多个角色一起移动,并且角色的运动更像是被绳子拉扯着运动。

基于上述预设约束关系,本发明实施例的方法具体可以包括如下步骤:

步骤101,检测所述控制物体与所述被控物体之间的空间数据。

在本发明实施例中,被控物体会根据约束关系跟随控制物体的运动而运动。优选地,本发明实施例首先会基于控制物体与被控物体之间的空间数据,来确定是否开始让被控物体跟随控制物体运动。

本发明实施例的a角色(被控物体)有开始移动、停止移动,左转向,右转向,停止转向,上升,下降,停止升降等等动画,这些动画是通过一些控制事件控制的。这些控制事件不由最下端的b角色(控制)控制,而由a角色自身的控制。其中,这些控制事件可以基于被控物体与控制物体之间的空间数据生成。

步骤102,根据所述空间数据生成所述被控物体的控制事件。

在本发明的一种优选实施例中,所述空间数据包括所述控制物体与所述被控物体之间的距离数据,所述步骤102可以包括如下子步骤:

子步骤s11,当所述距离数据大于或等于预设第一距离数据时,生成所述被控物体的开始移动事件;

子步骤s12,当所述距离数据小于或等于预设第二距离数据时,生成所述被控物体的停止移动事件。

当a,b角色之间的距离数据大于或等于l1(第一距离数据)时,生成开始移动事件,当a,b角色之间的距离数据小于或等于l2(第二距离数据)时,生成停止移动事件。生成相应的移动事件后,b角色将根据移动事件进行相应运动,从而播放动画画面。

一般来说,b角色和a角色的连接在稳定之后(b角色没移动并且等待一段时间,a角色也没动的时候),如果b角色移动,那么由前述的弹簧约束,势必会导致a角色也移动,而b角色刚开始移动的时候,a,b角色的距离不一定大于或等于l1,只有当距离大于或等于l1时,才生成a角色的移动事件。这样做的目的是为了避免b角色不停的走走停停,让a角色反复播开始移动、停止移动的动画。

在本发明的一种优选实施例中,所述空间数据包括夹角数据,所述夹角数据为所述被控物体的当前朝向与所述被控物体和所述控制物体之间的连线之间的夹角数据,所述步骤102可以包括如下子步骤:

子步骤s21,当所述被控物体的当前朝向为所述连线的左边,且所述夹角数据大于或等于预设夹角时,生成所述被控物体的右转向事件;

子步骤s22,当所述被控物体的当前朝向为所述连线的右边,且所述夹角数据大于或等于预设夹角时,生成所述被控物体的左转向事件;

子步骤s23,当所述夹角数据小于预设夹角时,生成所述被控物体的停止转向事件。

在本发明实施例中,当a角色当前朝向和a、b角色连线方向有相差时,根据相差方向、大小,生成相应的左转、右转、停止转向的事件。

具体地,当a角色实际朝向是在a、b角色连线左边,且夹角大于o(预设夹角)时,生成a角色的右转的转向事件,这样a角色右转会转向到a、b角色连线方向。

同理,当a角色实际朝向是在a、b角色连线右边,且夹角大于o时,生成a角色左转的转向事件,这样a角色左转会转向到a、b角色连线方向。而当a角色实际朝向和a、b角色连线夹角小于o时,生成停止转向的事件。

在本发明的一种优选实施例中,所述空间数据包括所述控制物体与所述被控物体之间的高度差数据,所述步骤102可以包括如下子步骤:

子步骤s31,当所述高度差数据高于或等于第一预设高度数据时,生成所述被控物体的下降事件;

子步骤s32,当所述高度差数据低于或等于第二预设高度数据时,生成所述被控物体的上升事件。

当a角色高度高于或等于b角色高度h1(第一预设高度数据)时,生成下降事件,当a角色高度低于或等于b角色高度h2(第二预设高度数据)时,生成上升事件。

步骤103,根据所述控制事件和所述约束关系控制所述被控物体进行运动。

在本发明实施例中,b角色会根据相应的开始移动、停止移动,左转向,右转向,停止转向,上升,下降,停止升降等控制事件开始运行,并且在运动过程中,将遵循约束关系进行运动,这样b角色在运动过程中会显得自然真实不死板。

一种本发明实施例的最终效果图可以参照图7所示,其中,图7所示为一种人形风筝的效果图。

本发明实施例中,被控物体和控制物体之间通过刚体作为桥梁来进行挂接,并且被控物体和控制物体的刚体之间设置了约束关系,使得被控物体能够基于约束关系跟随控制物体一起运动。进一步地,本发明实施例首先会检测被控物体与控制物体之间的空间数据,然后根据空间数据生成相应的控制事件,随后被控物体将根据控制事件以及约束关系跟随控制物体运动,应用本发明实施例的物理模拟,能表现出富有真实感自然的物理效果。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

参照图8,示出了本发明的一种物体运动的控制装置实施例的结构框图,通过执行游戏应用渲染得到图形交互界面,所述图形交互界面中至少包含控制物体和被控制物体,所述控制物体和所述被控物体之间具有预设约束关系;所述装置包括:

空间数据检测模块201,用于检测所述控制物体与所述被控物体之间的空间数据;

控制事件生成模块202,用于根据所述空间数据生成所述被控物体的控制事件;

运动控制模块203,用于根据所述控制事件和所述预设约束关系控制所述被控物体进行运动。

在本发明的一种优选实施例中,所述控制物体和所述被控物体分别具有对应的刚体,所述控制物体和所述被控物体之间具有预设约束关系,包括:

所述控制物体的刚体与所述被控物体的刚体之间具有预设约束关系。

在本发明的一种优选实施例中,所述预设约束关系为弹簧约束关系。

在本发明的一种优选实施例中,所述控制物体和所述被控物体之间具有预设约束关系,包括:

所述控制物体和所述被控物体具有挂接点,所述控制物体和所述被控物体通过所述挂接点进行挂接,所述挂接点位于所述刚体的中心。

在本发明的一种优选实施例中,所述挂接点设置于控制物体和被控物体的根骨骼节点处。

在本发明的一种优选实施例中,根据所述控制物体的所述挂接点设置一对应的偏移挂接点,所述控制物体的挂接点与所述偏移挂接点之间偏移预设距离;

所述预设约束关系包括:控制所述被控物体进行移动,直至所述被控物体的挂接点位于所述控制物体的偏移挂接点上方的预设位置处。

在本发明的一种优选实施例中,所述控制所述被控物体进行移动包括:

设置所述被控物体受到预设垂直向上的浮力以及与所述控制物体之间的约束力,所述约束力与所述控制物体与所述被控物体之间距离成正比;

根据所述浮力与所述约束力控制所述被控物体进行移动。

在本发明的一种优选实施例中,所述预设约束关系包括:

设置所述被控物体受到预设的角加速度和阻尼,所述被控物体根据所述角加速度和阻尼进行转向。

在本发明的一种优选实施例中,所述控制物体为一个或者多个,所述被控物体为一个或多个,所述控制物体和所述被控物体之间基于所述预设约束关系进行串联或者并联。

在本发明的一种优选实施例中,所述空间数据包括所述控制物体与所述被控物体之间的距离数据,所述控制事件生成模块202可以包括如下子模块:

开始移动事件生成子模块,用于当所述距离数据大于或等于预设第一距离数据时,生成所述被控物体的开始移动事件;

停止移动事件生成子模块,用于当所述距离数据小于或等于预设第二距离数据时,生成所述被控物体的停止移动事件。

在本发明的一种优选实施例中,所述空间数据包括夹角数据,所述夹角数据为所述被控物体的当前朝向与所述被控物体和所述控制物体之间的连线之间的夹角数据,所述控制事件生成模块202可以包括如下子模块:

右转向事件生成子模块,用于当所述被控物体的当前朝向为所述连线的左边,且所述夹角数据大于或等于预设夹角时,生成所述被控物体的右转向事件;

右转向事件生成子模块,用于当所述被控物体的当前朝向为所述连线的右边,且所述夹角数据大于或等于预设夹角时,生成所述被控物体的右转向事件;

停止转向事件生成子模块,用于当所述夹角数据小于预设夹角时,生成所述被控物体的停止转向事件。

在本发明的一种优选实施例中,所述空间数据包括所述控制物体与所述被控物体之间的高度差数据,所述控制事件生成模块202可以包括如下子模块:

下降事件生成子模块,用于当所述高度差数据高于或等于第一预设高度数据时,生成所述被控物体的下降事件;

上升事件生成子模块,用于当所述高度差数据低于或等于第二预设高度数据时,生成所述被控物体的上升事件。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本发明实施例中,在执行游戏应用渲染得到的图形交互界面中,被控物体和控制物体之间设置了预设约束关系,使得被控物体能够基于预设约束关系跟随控制物体一起运动。进一步地,本发明实施例首先会检测被控物体与控制物体之间的空间数据,然后根据空间数据生成相应的控制事件,随后被控物体将根据控制事件以及约束关系跟随控制物体运动,应用本发明实施例的物理模拟,能表现出富有真实感自然的物理效果。

图9是本发明一个实施例的移动终端的框图。图9所示的移动终端700包括:至少一个处理器701、存储器702、至少一个网络接口704和其他用户接口703。移动终端700中的各个组件通过总线系统705耦合在一起。可理解,总线系统705用于实现这些组件之间的连接通信。总线系统705除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图9中将各种总线都标为总线系统705。

其中,用户接口703可以包括显示器、键盘或者点击设备(例如,鼠标,轨迹球(trackball)、触感板或者触摸屏等。

可以理解,本发明实施例中的存储器702可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-onlymemory,rom)、可编程只读存储器(programmablerom,prom)、可擦除可编程只读存储器(erasableprom,eprom)、电可擦除可编程只读存储器(electricallyeprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(randomaccessmemory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(staticram,sram)、动态随机存取存储器(dynamicram,dram)、同步动态随机存取存储器(synchronousdram,sdram)、双倍数据速率同步动态随机存取存储器(doubledataratesdram,ddrsdram)、增强型同步动态随机存取存储器(enhancedsdram,esdram)、同步连接动态随机存取存储器(synchlinkdram,sldram)和直接内存总线随机存取存储器(directrambusram,drram)。本文描述的系统和方法的存储器702旨在包括但不限于这些和任意其它适合类型的存储器。

在一些实施方式中,存储器702存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:操作系统7021和应用程序7022。

其中,操作系统7021,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序7022,包含各种应用程序,例如媒体播放器(mediaplayer)、浏览器(browser)等,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序7022中。

在本发明实施例中,通过调用存储器702存储的程序或指令,具体的,可以是应用程序7022中存储的程序或指令,处理器701用于执行一种物体运动的控制方法,通过执行游戏应用渲染得到图形交互界面,所述图形交互界面中至少包含控制物体和被控制物体,所述控制物体和所述被控物体之间具有预设约束关系;所述方法包括:检测所述控制物体与所述被控物体之间的空间数据;根据所述空间数据生成所述被控物体的控制事件;根据所述控制事件和所述预设约束关系控制所述被控物体进行运动。

优选地,所述控制物体和所述被控物体分别具有对应的刚体,所述控制物体和所述被控物体之间具有预设约束关系,包括:

所述控制物体的刚体与所述被控物体的刚体之间具有预设约束关系。

优选地,所述预设约束关系为弹簧约束关系。

优选地,所述控制物体和所述被控物体之间具有预设约束关系,包括:

所述控制物体和所述被控物体具有挂接点,所述控制物体和所述被控物体通过所述挂接点进行挂接,所述挂接点位于所述刚体的中心。

优选地,所述挂接点设置于控制物体和被控物体的根骨骼节点处。

优选地,根据所述控制物体的所述挂接点设置一对应的偏移挂接点,所述控制物体的挂接点与所述偏移挂接点之间偏移预设距离;

所述约束关系包括:控制所述被控物体进行移动,直至所述被控物体的挂接点位于所述控制物体的偏移挂接点上方的预设位置处。

优选地,所述控制所述被控物体进行移动包括:

设置所述被控物体受到预设垂直向上的浮力以及与所述控制物体之间的约束力,所述约束力与所述控制物体与所述被控物体之间距离成正比;

根据所述浮力与所述约束力控制所述被控物体进行移动。

优选地,所述预设约束关系包括:

设置所述被控物体受到预设的角加速度和阻尼,所述被控物体根据所述角加速度和阻尼进行转向。

优选地,所述控制物体为一个或者多个,所述被控物体为一个或多个,所述控制物体和所述被控物体之间基于所述预设约束关系进行串联或者并联。

优选地,所述空间数据包括所述控制物体与所述被控物体之间的距离数据,所述根据所述空间数据生成所述被控物体的控制事件,包括:

当所述距离数据大于或等于预设第一距离数据时,生成所述被控物体的开始移动事件;

当所述距离数据小于或等于预设第二距离数据时,生成所述被控物体的停止移动事件。

优选地,所述空间数据包括夹角数据,所述夹角数据为所述被控物体的当前朝向与所述被控物体和所述控制物体之间的连线之间的夹角数据,所述根据所述空间数据生成所述被控物体的控制事件,包括:

当所述被控物体的当前朝向为所述连线的左边,且所述夹角数据大于或等于预设夹角时,生成所述被控物体的右转向事件;

当所述被控物体的当前朝向为所述连线的右边,且所述夹角数据大于或等于预设夹角时,生成所述被控物体的左转向事件;

当所述夹角数据小于预设夹角时,生成所述被控物体的停止转向事件。

优选地,所述空间数据包括所述控制物体与所述被控物体之间的高度差数据,所述根据所述空间数据生成所述被控物体的控制事件,包括:

当所述高度差数据高于或等于第一预设高度数据时,生成所述被控物体的下降事件;

当所述高度差数据低于或等于第二预设高度数据时,生成所述被控物体的上升事件。

上述本发明实施例揭示的方法可以应用于处理器701中,或者由处理器701实现。处理器701可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器701中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器701可以是通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(fieldprogrammablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器702,处理器701读取存储器702中的信息,结合其硬件完成上述方法的步骤。

可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(applicationspecificintegratedcircuits,asic)、数字信号处理器(digitalsignalprocessing,dsp)、数字信号处理设备(dspdevice,dspd)、可编程逻辑设备(programmablelogicdevice,pld)、现场可编程门阵列(field-programmablegatearray,fpga)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。

对于软件实现,可通过执行本文所述功能的模块(例如过程、函数等)来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。

移动终端700能够实现前述实施例中移动终端实现的各个过程,为避免重复,这里不再赘述。

本发明实施例中,被控物体和控制物体之间通过刚体作为桥梁来进行挂接,并且被控物体和控制物体的刚体之间设置了约束关系,使得被控物体能够基于约束关系跟随控制物体一起运动。进一步地,本发明实施例首先会检测被控物体与控制物体之间的空间数据,然后根据空间数据生成相应的控制事件,随后被控物体将根据控制事件以及约束关系跟随控制物体运动,应用本发明实施例的物理模拟,能表现出富有真实感自然的物理效果。

图10是本发明另一个实施例的移动终端的结构示意图。具体地,图10中的移动终端800可以为手机、平板电脑、个人数字助理(personaldigitalassistant,pda)、或车载电脑等。

图10中的移动终端800包括射频(radiofrequency,rf)电路810、存储器820、输入单元830、显示单元840、处理器860、音频电路870、wifi(wirelessfidelity)模块880和电源890。

其中,输入单元830可用于接收用户输入的数字或字符信息,以及产生与移动终端800的用户设置以及功能控制有关的信号输入。具体地,本发明实施例中,该输入单元830可以包括触控面板831。触控面板831,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板831上的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板831可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给该处理器860,并能接收处理器860发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板831。除了触控面板831,输入单元830还可以包括其他输入设备832,其他输入设备832可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

其中,显示单元840可用于显示由用户输入的信息或提供给用户的信息以及移动终端800的各种菜单界面。显示单元840可包括显示面板841,可选的,可以采用lcd或有机发光二极管(organiclight-emittingdiode,oled)等形式来配置显示面板841。

应注意,触控面板831可以覆盖显示面板841,形成触摸显示屏,当该触摸显示屏检测到在其上或附近的触摸操作后,传送给处理器860以确定触摸事件的类型,随后处理器860根据触摸事件的类型在触摸显示屏上提供相应的视觉输出。

触摸显示屏包括应用程序界面显示区及常用控件显示区。该应用程序界面显示区及该常用控件显示区的排列方式并不限定,可以为上下排列、左右排列等可以区分两个显示区的排列方式。该应用程序界面显示区可以用于显示应用程序的界面。每一个界面可以包含至少一个应用程序的图标和/或widget桌面控件等界面元素。该应用程序界面显示区也可以为不包含任何内容的空界面。该常用控件显示区用于显示使用率较高的控件,例如,设置按钮、界面编号、滚动条、电话本图标等应用程序图标等。

其中处理器860是移动终端800的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在第一存储器821内的软件程序和/或模块,以及调用存储在第二存储器822内的数据,执行移动终端800的各种功能和处理数据,从而对移动终端800进行整体监控。可选的,处理器860可包括一个或多个处理单元。

在本发明实施例中,通过调用存储该第一存储器821内的软件程序和/或模块和/或该第二存储器822内的数据,处理器860用于执行一种物体运动的控制方法,通过执行游戏应用渲染得到图形交互界面,所述图形交互界面中至少包含控制物体和被控制物体,所述控制物体和所述被控物体之间具有预设约束关系;所述方法包括:

检测所述控制物体与所述被控物体之间的空间数据;

根据所述空间数据生成所述被控物体的控制事件;

根据所述控制事件和所述预设约束关系控制所述被控物体进行运动。

优选地,所述控制物体和所述被控物体分别具有对应的刚体,所述控制物体和所述被控物体之间具有预设约束关系,包括:

所述控制物体的刚体与所述被控物体的刚体之间具有预设约束关系。

优选地,所述预设约束关系为弹簧约束关系。

优选地,所述控制物体和所述被控物体之间具有预设约束关系,包括:

所述控制物体和所述被控物体具有挂接点,所述控制物体和所述被控物体通过所述挂接点进行挂接,所述挂接点位于所述刚体的中心。

优选地,所述挂接点设置于控制物体和被控物体的根骨骼节点处。

优选地,根据所述控制物体的所述挂接点设置一对应的偏移挂接点,所述控制物体的挂接点与所述偏移挂接点之间偏移预设距离;

所述约束关系包括:控制所述被控物体进行移动,直至所述被控物体的挂接点位于所述控制物体的偏移挂接点上方的预设位置处。

优选地,所述控制所述被控物体进行移动包括:

设置所述被控物体受到预设垂直向上的浮力以及与所述控制物体之间的约束力,所述约束力与所述控制物体与所述被控物体之间距离成正比;

根据所述浮力与所述约束力控制所述被控物体进行移动。

优选地,所述预设约束关系包括:

设置所述被控物体受到预设的角加速度和阻尼,所述被控物体根据所述角加速度和阻尼进行转向。

优选地,所述控制物体为一个或者多个,所述被控物体为一个或多个,所述控制物体和所述被控物体之间基于所述预设约束关系进行串联或者并联。

优选地,所述空间数据包括所述控制物体与所述被控物体之间的距离数据,所述根据所述空间数据生成所述被控物体的控制事件,包括:

当所述距离数据大于或等于预设第一距离数据时,生成所述被控物体的开始移动事件;

当所述距离数据小于或等于预设第二距离数据时,生成所述被控物体的停止移动事件。

优选地,所述空间数据包括夹角数据,所述夹角数据为所述被控物体的当前朝向与所述被控物体和所述控制物体之间的连线之间的夹角数据,所述根据所述空间数据生成所述被控物体的控制事件,包括:

当所述被控物体的当前朝向为所述连线的左边,且所述夹角数据大于或等于预设夹角时,生成所述被控物体的右转向事件;

当所述被控物体的当前朝向为所述连线的右边,且所述夹角数据大于或等于预设夹角时,生成所述被控物体的左转向事件;

当所述夹角数据小于预设夹角时,生成所述被控物体的停止转向事件。

优选地,所述空间数据包括所述控制物体与所述被控物体之间的高度差数据,所述根据所述空间数据生成所述被控物体的控制事件,包括:

当所述高度差数据高于或等于第一预设高度数据时,生成所述被控物体的下降事件;

当所述高度差数据低于或等于第二预设高度数据时,生成所述被控物体的上升事件。

本发明实施例中,在执行游戏应用渲染得到的图形交互界面中,被控物体和控制物体之间设置了预设约束关系,使得被控物体能够基于预设约束关系跟随控制物体一起运动。进一步地,本发明实施例首先会检测被控物体与控制物体之间的空间数据,然后根据空间数据生成相应的控制事件,随后被控物体将根据控制事件以及约束关系跟随控制物体运动,应用本发明实施例的物理模拟,能表现出富有真实感自然的物理效果。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

本发明实施例中,被控物体和控制物体之间通过刚体作为桥梁来进行挂接,并且被控物体和控制物体的刚体之间设置了约束关系,使得被控物体能够基于约束关系跟随控制物体一起运动。进一步地,本发明实施例首先会检测被控物体与控制物体之间的空间数据,然后根据空间数据生成相应的控制事件,随后被控物体将根据控制事件以及约束关系跟随控制物体运动,应用本发明实施例的物理模拟,能表现出富有真实感自然的物理效果。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本发明所提供的一种物体运动的控制方法和一种物体运动的控制装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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