CN103745491B - 软骨骼动画生成方法 - Google Patents
软骨骼动画生成方法 Download PDFInfo
- Publication number
- CN103745491B CN103745491B CN201310733924.8A CN201310733924A CN103745491B CN 103745491 B CN103745491 B CN 103745491B CN 201310733924 A CN201310733924 A CN 201310733924A CN 103745491 B CN103745491 B CN 103745491B
- Authority
- CN
- China
- Prior art keywords
- motion
- chondroskeleton
- wave
- equation
- curve
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明揭示了一种软骨骼动画生成方法,软骨骼动画生成方法为软骨骼定义和采用曲线和运动方程两者合一的描述方式,具体步骤包括:(1)绘制曲线;(2) 选择运动方程;(3)设置时间间隔,生成动作序列。本发明是二维动画制作过程中动作调整手段的有效补充,进一步增强了动画质量,有效节约了成本。
Description
技术领域
本发明涉及动画领域,具体涉及一种软骨骼动画生成方法。
背景技术
骨骼动画是目前动画领域最流行,也是最复杂的角色动画,与传统的关键帧动画不同,骨骼动画是一种通过运动的“骨骼”来驱动三维顶点网格模型运动的计算机三维动画制作方式,用于在电影和计算机动画中对通过计算机生成的人物自然运动进行描述。骨骼动画的思想起源于对自然界中生物运动特征的观察和总结。众所周知,自然界中几乎所有的动物都有一套骨骼用于支撑整个身体的运动,当骨骼进行运动时,依附于骨骼的皮肉器官等则随骨骼一起运动。因此当人们在进行三维图形处理时,为了能更好地模仿现实世界中的生物动作,就尝试着为组成动画角色模型的网格数据增加一套骨骼,用于设定网格模型的运动状态,骨骼动画也就应运而生。
骨骼动画把组成造型的骨架作为主要研究对象,通过骨骼的运动来对造型个体的运动特性进行描述,并通过骨架带动肌肉(绑定造型的表皮模型)来实现造型形体的变化过程。由于动画中造型结构复杂多样,不可能由一种骨架的运动来说明所有造型的运动特性,因此必须对骨架运动过程进行抽象和简化,用一种通用的方式来概括骨架运动的一般规律和运动方法,构造基于骨架关节链的运动仿真。关节链是开链结构,由一组刚体(也就是骨骼)通过一定的方式依此相连接而成,刚体与刚体之间的连接点称之为关节,而连接两个相邻关节的刚体则称为链杆,绘图过程中可以将其抽象为一条线段。在计算机动画中一般将关节链中的关节理解为旋转关节,也就是只能围绕关节进行旋转,而不能进行拉伸、延长以及其他变换,从而简化问题的描述和计算过程。在机构运动学中,关节链的起点被称为基结点,而其末端则称为末端效应器。如图1所示。
在对骨架的控制研究中,运动学法是一种较好的控制技术。通过把运动骨骼作为刚体,改变不同部分的状态,就可以对运动加以控制。考虑一个网格顶点绑定到第i根骨骼上的情况,每根骨骼都可以定义一个关联矩阵Bi,将其从骨骼的本地坐标系转换到骨架的坐标系中,这个变换仅依赖于该骨骼在和其父骨骼之间组成的层次结构中的位置。对于一个给定了旋转角度的骨骼,其在骨架坐标空间中的变换配置可以由另一个骨骼的旋转矩阵来表示。因此,要获得变换后的顶点W,我们首先要把初始点V从网格坐标空间(实际上就是骨架坐标空间)变换到骨骼自身的坐标空间中,然后再通过骨骼的旋转角度将其变换回骨架空间。换句话说,就是首先用Bi的逆矩阵将顶点V变换到骨骼坐标系中,然后通过将其变换回骨架坐标空间。图2说明了这一变换过程。
方程式可以表示为:
(1)
该等式描述了如何把一个骨骼变换的过程传播到其附加的网格顶点的过程。其中,矩阵Bi仅依赖于初始的骨架配置,因此可以重新计算并应用于整个动画序列过程。这就是骨骼动画的基础。
运动学可以分为正向运动学和反向运动学。我们把正向运动学理解为通过父骨骼带动子骨骼的运动过程,而反向运动学则是通过设定子骨骼的状态,方向推导父骨骼运动情况。下面以一个正向动力学的手臂模型为例来说明骨骼动画的动作转换过程。如图3所示。
设d1表示骨骼1从其自身坐标系转换到骨架空间的转换向量;d2表示骨骼2在骨骼1坐标空间中的转换向量;d3则表示骨骼3在骨骼2坐标空间中的转换量,V1,V2,V3分别表示骨骼1、骨骼2和骨骼3上对应的网格顶点(见图4-5),假设每个顶点只对应于一根骨骼。我们的目的就是当骨架分别旋转给定的角度后,找到V1,V2,V3在变换后对应的顶点。设平移矩阵为T,则初始的骨骼矩阵如下:
(2)
当骨骼按照给定的骨节角度进行变换后,变换后的骨骼矩阵变为:
(3)
其中,R表示一个旋转变换矩阵。根据式(3),我们就可以写出顶点坐标的转换过程表达式如下:
(4)
由此我们可以得到转换后的顶点坐标数据。
骨骼动画是目前动画领域最流行,也是最复杂的角色动画,通过对其原理和实际动画制作应用过程进行研究,我们认为目前的骨骼动画缺陷主要在于以下几点:
1、组成造型的骨骼进行刚性运动是骨骼动画的前提,但大多数现实情况下,自然界的各种运动都属于柔性运动,如蛇等软体动物的运动、衣服、头发、旗帜的飘动等等,此时,就必须通过柔性的描述其运动规律来提高动画质量、增强动画感染力,当前的骨骼动画很难做到这一点。
2、骨骼动画通过铰链式结构来组织不同的骨骼关节,并运用正、反向运动学原理来描述其运动情况,这就导致骨骼动画的数据结构复杂,运算繁琐,计算量随着骨骼的增加呈倍数增长,限制了动画艺术的发挥。
3、目前骨骼动画技术主要应用于三维物体的运动描述,三维动画主要用于仿真模拟等应用,强调动作的真实性;二维动画则主要用于广告、艺术文化表现,强调夸张的表现手法,两者在表现形式上的本质差别,使得当前的骨骼动画技术无法满足二维动画中对造型动作进行夸张表现的需求。
发明内容
本发明的目的在于提供一种有效节约成本、是二维动画制作过程中动作调整手段的有效补充、进一步增强了动画质量的软骨骼动画生成方法。
本发明的技术方案是,一种软骨骼动画生成方法,软骨骼动画生成方法为软骨骼定义和采用曲线和运动方程两者合一的描述方式,具体步骤包括:
(1)绘制曲线:是指通过鼠标控制,绘制bezier曲线的过程,其过程主要采用递推算法实现,设P0、P0 2、P2是一条抛物线上顺序三个不同的点,过P0和P2点的两切线交于P1点,在P0 2点的切线交P0P1和P2P1于P0 1和P1 1,则如下比例成立:
(5)
当P0,P2固定,引入参数t,令上述比值为t:(1-t),即有:
(6)
t从0变到1,第一、二式就分别表示控制二边形的第一、二条边,它们是两条一次Bezier曲线,将一、二式代入第三式得:
(7)
当t从0变到1时,它表示了由三顶点P0、P1、P2三点定义的一条二次Bezier曲线,并且表明:这二次Bezier曲线P0 2可以定义为分别由前两个顶点(P0,P1)和后两个顶点(P1,P2)决定的一次Bezier曲线的线性组合,依次类推,由四个控制点定义的三次Bezier曲线P0 3可被定义为分别由(P0,P1,P2)和(P1,P2,P3)确定的二条二次Bezier曲线的线性组合,由(n+1)个控制点Pi(i=0,1,...,n)定义的n次Bezier曲线P0 n可被定义为分别由前、后n个控制点定义的两条(n-1)次Bezier曲线P0 n-1与P1 n-1的线性组合:
(8)
由此得到Bezier曲线的递推计算公式:
(9) ;
(2)选择运动方程:是根据运动的特点,选择相应运动方程的过程,主要有波函数方程和小振幅波两种运动方程:
1)基于波函数的计算方式
如果把软骨骼上所有节点的运动限制在一个平面内,则其运动轨迹可以看成是某种波动的一维传递过程,此时,各个节点的运动方程可以通过一个波函数来加以表示,波函数的一般形式为:
(10)
其中,最简单的波函数就是正弦或余弦函数,设一个以速度u沿x轴正向传播的平面简谐波,其在原点O处的相位为零,则位于X轴上的一点P(X坐标为Xp)处的振动方程为:
(11)
式(11)即为简谐波下的骨骼运动方程,采用不同的波函数,运动方程也不尽相同;
2)基于小振幅波的计算方式
由于软骨骼中各个节点的运动是因为风力、水流等外力作用而产生的,而流线代表了流体中质点的运动轨迹,因此把软骨骼上各个节点看成是流体中的质点,就可以采用流线方程来计算其运动轨迹;
引起流场中流体运动的原因主要有入射波、绕射波和辐射波三种,在软骨骼状态中,由于其本身是一条线性的骨骼,大多数情况下骨骼上并没有特殊的节点,而即使有节点,也是在一条曲线上,虽然也存在绕射势和辐射势的影响,但考虑到动画本身就是一个模拟的过程,因此为了简化计算过程,在软骨骼中不考虑绕射波和辐射波对其中骨骼运动的影响,而只考虑在外力输入情况下的入射波影响,根据海洋工程波浪力学中的小振幅波理论,设在某一入射波作用下的速度势方程为:
(12)
则分别对x、z求导数,得到流场中沿x、z方向的速度分量:
(13)
然后根据质点的运动轨迹计算公式求得质点的运动轨迹,其中表示质点沿x方向的偏移量,表示质点沿z方向的偏移量,它们和Vx 与Vz之间的关系如下:
(14)
下面用一个小振幅波的例子来说明这一过程,
设入射波面方程为:
(15)
通过推理,即可得到无限水深时,质点在入射波为情况下的运动轨迹方程:
(27)
其中,H=2a,代表了入射波的振幅,k代表波的数量,其中a为振幅,为波浪的相位,式(27)实际上就是软骨骼的运动方程;
为了更好地通过时间来表示软骨骼上各个顶点的运动轨迹,在实际计算时,还是采用式(22)和式(23)来进行计算,从而可得整个软骨骼的运动曲线;
(3)设置时间间隔,生成动作序列:基于波函数的计算方式:采用
式(11)进行计算时,一般情况下根据动画一秒24帧的速率,对于曲线上的每一个节点,固定其x坐标,然后每1/24秒计算一组(x,y)坐标,得到每秒钟的曲线节点运动坐标,进而得到曲线的运动序列,如要加快速度,则增加时间间隔,如每隔1/20秒计算一帧的曲线节点坐标;如要减慢运动速度,则缩短时间间隔,如每隔1/30秒计算一帧的曲线节点坐标;
基于小振幅波的计算方式:采用
式(22)和式(23)进行计算时,同样采用上述的方式设定时间间隔,只是每次计算时都在设定的每个顶点初始坐标(x0,y0)基础上进行。
在本发明一个较佳实施例中,所述软骨骼定义为:软骨骼是一条通过给定运动方程来控制顶点运动,进而实现连续运动的由若干个顶点组成的曲线。
在本发明一个较佳实施例中,所述软骨骼包括曲线和运动方程两部分,所述曲线表示软骨骼形状,所述运动方程描述软骨骼的运动状态。
本发明所述为一种软骨骼动画生成方法,本发明(1)有效节约成本
二维动画制作过程中因为柔性动作发生原因的不同,则相应的动作编辑和生成方式也不尽相同,而要很好的对二维动画造型的柔性动作进行描述,并在画布上绘制出来,则需要绘画人员具有较强的理解能力和绘画经验,但现实中这样的动画高级人才极度缺乏,这也导致相应的人工成本较高,再加上动画制作所耗费的时间,使得大多数的动画公司都难以承受这样的制作成本,采用本发明技术,依靠计算机来实现原来需要大量人工才能完成的动画制作过程,对于成本的节约效果是明显的;
(2)是二维动画制作过程中动作调整手段的有效补充
当前二维动画中对造型动作进行调整一般都依靠手工或动作骨骼进行调整,因为现在的骨骼动画基于刚性运动原理生成,使得长期以来缺乏对柔性动作进行生成和编辑的理论和手段,本发明的技术方案在很大程度上就解决了这一问题,为动画制作人员提供了一种柔性动作的生成和编辑手段;
(3)进一步增强了动画质量
在本发明技术方案应用以前,对于二维动画中的柔性动作只能依靠手工或增加数量众多的骨骼来实现,采用手绘的方法难以达到实际的动作效果,而采用多根骨骼来细化骨骼动画的方式则需要增加动画制作过程中的计算时间,且最后的骨骼动作还是呈现一种刚性运动的趋势,采用本发明的技术方案,以数学函数来描述柔性物体的运动趋势,使制作的动画效果更加一致,更加符合人们视觉感官的需求。
附图说明
图1为现有技术的末端效应器运动示意图;
图2为现有技术的通过骨骼旋转带动图形向量变换的初始化骨骼旋转矩阵示意图;
图3为现有技术的通过骨骼旋转带动图形向量变换的转换后的骨骼旋转矩阵示意图;
图4为现有技术的骨骼变换绑定姿态示意图;
图5为现有技术的骨骼变换变换姿态示意图;
图6为本发明一较佳实施例的软骨骼动画编辑流程图;
图7本发明一较佳实施例的抛物线的三切线原理图;
图8为本发明一较佳实施例的波函数计算得到的软骨骼运动序列示意图a;
图9为本发明一较佳实施例的波函数计算得到的软骨骼运动序列示意图b;
图10为本发明一较佳实施例的波函数计算得到的软骨骼运动序列示意图c;
图11为本发明一较佳实施例的波函数计算得到的软骨骼运动序列示意图d;
图12为本发明一较佳实施例的波函数运动轨迹示意图;
图13为本发明一较佳实施例的小振幅波计算得到的运动序列示意图a;
图14为本发明一较佳实施例的小振幅波计算得到的运动序列示意图b;
图15为本发明一较佳实施例的小振幅波计算得到的运动序列示意图c;
图16为本发明一较佳实施例的小振幅波计算得到的运动序列示意图d;
图17为本发明一较佳实施例的小振幅波的运动轨迹示意图;
附图中各标记如下:1、节点一,2、节点二,3、节点三,4、骨骼一,5、骨骼二,6、骨骼三。
具体实施方式
下面对本发明的较佳实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。
本发明所述为一种软骨骼动画生成方法,和一般意义上的骨骼动画基于正向运动学等运动学原理不同,软骨骼动画是基于流体力学的柔性动作过程。在数据结构上,软骨骼由一条连续曲线和一个运动方程组成。其中连续曲线用来描述造型的形状,而运动方程则用于描述造型的运动状态。
软骨骼不需要满足任何特定的条件,也不存在骨骼与骨骼之间的关联关系。软骨骼中也包含关节,也就是组成软骨骼曲线的各个顶点,它们主要有两个作用:一是用于描述骨骼的形状,二是用于标记骨骼的运动状态。由此可以给出软骨骼的定义:
软骨骼是一条通过给定运动方程来控制顶点运动,进而实现连续运动的由若干个顶点组成的曲线。
它包括曲线和运动方程两个部分,前者主要用于表示软骨骼的形状,后者主要用于描述软骨骼的运动状态。
软骨骼动画生成方法为软骨骼定义和采用曲线和运动方程两者合一的描述方式,具体步骤包括:
(1)绘制曲线:是指通过鼠标控制,绘制bezier曲线的过程,其过程主要采用递推算法实现,设P0、P0 2、P2是一条抛物线上顺序三个不同的点,过P0和P2点的两切线交于P1点,在P0 2点的切线交P0P1和P2P1于P0 1和P1 1,则如下比例成立:
(5)
当P0,P2固定,引入参数t,令上述比值为t:(1-t),即有:
(6)
t从0变到1,第一、二式就分别表示控制二边形的第一、二条边,它们是两条一次Bezier曲线,将一、二式代入第三式得:
(7)
当t从0变到1时,它表示了由三顶点P0、P1、P2三点定义的一条二次Bezier曲线,并且表明:这二次Bezier曲线P0 2可以定义为分别由前两个顶点(P0,P1)和后两个顶点(P1,P2)决定的一次Bezier曲线的线性组合,依次类推,由四个控制点定义的三次Bezier曲线P0 3可被定义为分别由(P0,P1,P2)和(P1,P2,P3)确定的二条二次Bezier曲线的线性组合,由(n+1)个控制点Pi(i=0,1,...,n)定义的n次Bezier曲线P0 n可被定义为分别由前、后n个控制点定义的两条(n-1)次Bezier曲线P0 n-1与P1 n-1的线性组合:
(8)
由此得到Bezier曲线的递推计算公式:
(9);
(2)选择运动方程:是根据运动的特点,选择相应运动方程的过程,主要有波函数方程和小振幅波两种运动方程:
1)基于波函数的计算方式
如果把软骨骼上所有节点的运动限制在一个平面内,则其运动轨迹可以看成是某种波动的一维传递过程,此时,各个节点的运动方程可以通过一个波函数来加以表示,波函数的一般形式为:
(10)
其中,最简单的波函数就是正弦或余弦函数,设一个以速度u沿x轴正向传播的平面简谐波,其在原点O处的相位为零,则位于X轴上的一点P(X坐标为)处的振动方程为:
(11)
式(11)即为简谐波下的骨骼运动方程,采用不同的波函数,运动方程也不尽相同;
2)基于小振幅波的计算方式
由于软骨骼中各个节点的运动是因为风力、水流等外力作用而产生的,而流线代表了流体中质点的运动轨迹,因此把软骨骼上各个节点看成是流体中的质点,就可以采用流线方程来计算其运动轨迹;
引起流场中流体运动的原因主要有入射波、绕射波和辐射波三种,在软骨骼状态中,由于其本身是一条线性的骨骼,大多数情况下骨骼上并没有特殊的节点,而即使有节点,也是在一条曲线上,虽然也存在绕射势和辐射势的影响,但考虑到动画本身就是一个模拟的过程,因此为了简化计算过程,在软骨骼中不考虑绕射波和辐射波对其中骨骼运动的影响,而只考虑在外力输入情况下的入射波影响,根据海洋工程波浪力学中的小振幅波理论,设在某一入射波作用下的速度势方程为:
(12)
则分别对x、z求导数,得到流场中沿x、z方向的速度分量:
(13)
然后根据质点的运动轨迹计算公式求得质点的运动轨迹,其中表示质点沿x方向的偏移量,表示质点沿z方向的偏移量,它们和Vx 与Vz之间的关系如下:
(14)
下面用一个小振幅波的例子来说明这一过程,
设入射波面方程为:
(15)
其中a为振幅,为波浪的相位,根据自由表面运动边界条件和海底边界条件,可得到速度势为:
(16)
其中d代表水深,当,,则式(16)可变为:
(17)
对式(17)分别对x、z求偏导,可得到入射势在x和z方向的速度分量:
(18)
(19)
然后式(18)和式(19)对时间t求积分(在无限水深情况下):
(20)
(21)
则:
(22)
(23)
其中:
(24)
又因为:
(25)
则式(22)和式(23)合并得到:
(26)
把式(24)代入式(26),即可得到无限水深时,质点在入射波为情况下的运动轨迹方程:
(27)
其中,H=2a,代表了入射波的振幅,k代表波的数量,式(27)实际上就是软骨骼的运动方程;
为了更好地通过时间来表示软骨骼上各个顶点的运动轨迹,在实际计算时,还是采用式(22)和式(23)来进行计算,从而可得整个软骨骼的运动曲线;
(3)设置时间间隔,生成动作序列:基于波函数的计算方式:采用式(11)进行计算时,一般情况下根据动画一秒24帧的速率,对于曲线上的每一个节点,固定其x坐标,然后每1/24秒计算一组(x,y)坐标,得到每秒钟的曲线节点运动坐标,进而得到曲线的运动序列,如要加快速度,则增加时间间隔,如每隔1/20秒计算一帧的曲线节点坐标;如要减慢运动速度,则缩短时间间隔,如每隔1/30秒计算一帧的曲线节点坐标;
基于小振幅波的计算方式:采用式(22)、(23)进行计算时,同样采用上述的方式设定时间间隔,只是每次计算时都在设定的每个顶点初始坐标(x0,y0)基础上进行。
本发明所述为一种软骨骼动画生成方法,本发明(1)有效节约成本
二维动画制作过程中因为柔性动作发生原因的不同,则相应的动作编辑和生成方式也不尽相同,而要很好的对二维动画造型的柔性动作进行描述,并在画布上绘制出来,则需要绘画人员具有较强的理解能力和绘画经验,但现实中这样的动画高级人才极度缺乏,这也导致相应的人工成本较高,再加上动画制作所耗费的时间,使得大多数的动画公司都难以承受这样的制作成本,采用本发明技术,依靠计算机来实现原来需要大量人工才能完成的动画制作过程,对于成本的节约效果是明显的;
(2)是二维动画制作过程中动作调整手段的有效补充
当前二维动画中对造型动作进行调整一般都依靠手工或动作骨骼进行调整,因为现在的骨骼动画基于刚性运动原理生成,使得长期以来缺乏对柔性动作进行生成和编辑的理论和手段,本发明的技术方案在很大程度上就解决了这一问题,为动画制作人员提供了一种柔性动作的生成和编辑手段;
(3)进一步增强了动画质量
在本发明技术方案应用以前,对于二维动画中的柔性动作只能依靠手工或增加数量众多的骨骼来实现,采用手绘的方法难以达到实际的动作效果,而采用多根骨骼来细化骨骼动画的方式则需要增加动画制作过程中的计算时间,且最后的骨骼动作还是呈现一种刚性运动的趋势,采用本发明的技术方案,以数学函数来描述柔性物体的运动趋势,使制作的动画效果更加一致,更加符合人们视觉感官的需求。
以上所述仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本领域的技术人员在本发明所揭露的技术范围内,可不经过创造性劳动想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书所限定的保护范围为准。
Claims (3)
1.一种软骨骼动画生成方法,其特征在于:软骨骼动画生成方法为软骨骼定义和采用曲线和运动方程两者合一的描述方式,具体步骤包括:
(1)绘制曲线:是指通过鼠标控制,绘制bezier曲线的过程,其过程主要采用递推算法实现,设P0、P0 2、P2是一条抛物线上顺序三个不同的点,过P0和P2点的两切线交于P1点,在P0 2点的切线交P0P1和P2P1于P0 1和P1 1,则如下比例成立:
(5)
当P0,P2固定,引入参数t,令上述比例为t:(1-t),即有:
P0 1=(1-t)P0+tP1 ①
P1 1=(1-t)P1+tP2 ② (6)
P0 2=(1-t) P0 1+tP1 1 ③
t从0变到1,公式(6)中的第①、②式就分别表示控制二边形的第一、二条边,它们是两条一次Bezier曲线,将①、②式代入第③式得:
(7)
当t从0变到1时,它表示了由三顶点P0、P1、P2三点定义的一条二次Bezier曲线,并且表明:这二次Bezier曲线P0 2可以定义为分别由前两个顶点(P0,P1)和后两个顶点(P1,P2)决定的一次Bezier曲线的线性组合,依次类推,由四个控制点定义的三次Bezier曲线P0 3可被定义为分别由(P0,P1,P2)和(P1,P2,P3)确定的二条二次Bezier曲线的线性组合,由(n+1)个控制点Pi(i=0,1,...,n)定义的n次Bezier曲线P0 n可被定义为分别由前、后n个控制点定义的两条(n-1)次Bezier曲线P0 n-1与P1 n-1的线性组合:
(8)
由此得到Bezier曲线的递推计算公式:
(9) ;
(2)选择运动方程:是根据运动的特点,选择相应运动方程的过程,主要有波函数方程和小振幅波两种运动方程:
1)基于波函数的计算方式
如果把软骨骼上所有节点的运动限制在一个平面内,则其运动轨迹可以看成是某种波动的一维传递过程,此时,各个节点的运动方程可以通过一个波函数来加以表示,波函数的一般形式为:
(10)
其中,最简单的波函数就是正弦或余弦函数,设一个以速度u沿x轴正向传播的平面简谐波,其在原点O处的相位为零,则位于X轴上的一点P(X坐标为Xp)处的振动方程为:
(11)
式(11)即为简谐波下的骨骼运动方程,采用不同的波函数,运动方程也不尽相同;
2)基于小振幅波的计算方式
由于软骨骼中各个节点的运动是因为风力、水流等外力作用而产生的,而流线代表了流体中质点的运动轨迹,因此把软骨骼上各个节点看成是流体中的质点,就可以采用流线方程来计算其运动轨迹;
引起流场中流体运动的原因主要有入射波、绕射波和辐射波三种,在软骨骼状态中,由于其本身是一条线性的骨骼,大多数情况下骨骼上并没有特殊的节点,而即使有节点,也是在一条曲线上,虽然也存在绕射势和辐射势的影响,但考虑到动画本身就是一个模拟的过程,因此为了简化计算过程,在软骨骼中不考虑绕射波和辐射波对其中骨骼运动的影响,而只考虑在外力输入情况下的入射波影响,根据海洋工程波浪力学中的小振幅波理论,设在某一入射波作用下的速度势方程为:
(12)
则分别对x、z求导数,得到流场中沿x、z方向的速度分量:
(13)
然后根据质点的运动轨迹计算公式求得质点的运动轨迹,其中x0、y0、z0代表起始点坐标,表示质点沿x方向的偏移量,表示质点沿z方向的偏移量,它们和Vx 与Vz之间的关系如下:
(14)
下面用一个小振幅波的例子来说明这一过程,
设入射波面方程为:
(15)
通过推理,即可得到无限水深时,质点在入射波为情况下的运动轨迹方程:
(27)
其中,H=2a,代表了入射波的振幅,k代表波的数量,t0代表初始运动时间,其中a为振幅,为波浪的相位,式(27)实际上就是软骨骼的运动方程;
为了更好地通过时间来表示软骨骼上各个顶点的运动轨迹,在实际计算时,还是采用式(22)和式(23)来进行计算,从而可得整个软骨骼的运动曲线;
(3)设置时间间隔,生成动作序列:基于波函数的计算方式:采用
式(11)进行计算时,一般情况下根据动画一秒24帧的速率,对于曲线上的每一个节点,固定其x坐标,然后每1/24秒计算一组(x,y)坐标,得到每秒钟的曲线节点运动坐标,进而得到曲线的运动序列,如要加快速度,则增加时间间隔,如每隔1/20秒计算一帧的曲线节点坐标;如要减慢运动速度,则缩短时间间隔,如每隔1/30秒计算一帧的曲线节点坐标;
基于小振幅波的计算方式:采用
式(22)和式(23)进行计算时,同样采用上述的方式设定时间间隔,只是每次计算时都在设定的每个顶点初始坐标(x0,y0,z0)基础上进行;
本申请中通过先绘制曲线,之后再以曲线的变化趋势为软骨骼来指导动画的自动生成,以先采用三维计算,之后投影到二维平面的方式完成整个过程。
2.根据权利要求1所述的软骨骼动画生成方法,其特征在于:所述软骨骼定义为:软骨骼是一条通过给定运动方程来控制顶点运动,进而实现连续运动的由若干个顶点组成的曲线。
3.根据权利要求1所述的软骨骼动画生成方法,其特征在于:所述软骨骼包括曲线和运动方程两部分,所述曲线表示软骨骼形状,所述运动方程描述软骨骼的运动状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310733924.8A CN103745491B (zh) | 2013-12-27 | 2013-12-27 | 软骨骼动画生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310733924.8A CN103745491B (zh) | 2013-12-27 | 2013-12-27 | 软骨骼动画生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103745491A CN103745491A (zh) | 2014-04-23 |
CN103745491B true CN103745491B (zh) | 2017-03-15 |
Family
ID=50502506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310733924.8A Active CN103745491B (zh) | 2013-12-27 | 2013-12-27 | 软骨骼动画生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103745491B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105321195A (zh) * | 2015-07-02 | 2016-02-10 | 苏州蜗牛数字科技股份有限公司 | 3d游戏中鞭子系统的制作方法 |
CN107998656B (zh) * | 2017-11-22 | 2020-12-22 | 福建天晴数码有限公司 | 一种编排方法及终端 |
CN112819971B (zh) * | 2021-01-26 | 2022-02-25 | 北京百度网讯科技有限公司 | 虚拟形象的生成方法、装置、设备和介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103065348A (zh) * | 2012-12-27 | 2013-04-24 | 江苏太奇通软件有限公司 | 基于骨骼动作库的二维动画自动生成方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI353559B (en) * | 2006-12-18 | 2011-12-01 | Inst Information Industry | Apparatus, method, application program and compute |
-
2013
- 2013-12-27 CN CN201310733924.8A patent/CN103745491B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103065348A (zh) * | 2012-12-27 | 2013-04-24 | 江苏太奇通软件有限公司 | 基于骨骼动作库的二维动画自动生成方法 |
Non-Patent Citations (4)
Title |
---|
Bezier曲线的等距曲线生成程序设计;格桑旺堆;《信息与电脑》;20100131(第1期);53-54 * |
复杂环境下的海面实时建模与仿真研究;李波;《中国博士学位论文全文数据库-信息科技辑》;20101115(第11期);I138-58 * |
海面场景虚拟仿真方法;褚彦军 等;《计算机应用》;20041231;第24卷(第S2期);114-117 * |
用于动画的水波造型;童若锋 等;《计算机学报》;19960831;第19卷(第8期);594-600 * |
Also Published As
Publication number | Publication date |
---|---|
CN103745491A (zh) | 2014-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106023288A (zh) | 一种基于图像的动态替身构造方法 | |
CN102831638B (zh) | 一种采用手绘草图的三维人体多姿态建模方法 | |
Turner et al. | The elastic surface layer model for animated character construction | |
Jing et al. | Application of 3D reality technology combined with CAD in animation modeling design | |
CN103745491B (zh) | 软骨骼动画生成方法 | |
Dai et al. | Skeletal animation based on BVH motion data | |
Tang | Parametric building design using Autodesk Maya | |
Magnenat-Thalmann et al. | Modeling of bodies and clothes for virtual environments | |
Kenwright et al. | Self-driven soft-body creatures | |
Le et al. | Surface and contour-preserving origamic architecture paper pop-ups | |
Xin et al. | Real-time animation complexity of interactive clothing design based on computer simulation | |
Çetinaslan | Position manipulation techniques for facial animation | |
Chaudhry et al. | Shape modeling for animated characters using ordinary differential equations | |
Yang et al. | Life-sketch: a framework for sketch-based modelling and animation of 3D objects | |
Kuang et al. | A strategy of real-time animation of clothed body movement | |
Kanyuk | Brain springs: Fast physics for large crowds in wall• e | |
CN107292942B (zh) | 一种权值c2连续的线性混合形状编辑方法 | |
Wang et al. | Kinect driven 3D character animation using semantical skeleton | |
CN103077545A (zh) | 一种基于路径的人体运动编辑方法 | |
Li et al. | Efficient creation of 3D organic models from sketches and ODE-based deformations | |
US9128516B1 (en) | Computer-generated imagery using hierarchical models and rigging | |
Ai et al. | An improved shallow water equation model for water animation | |
Wu et al. | Physically based animation of broad-leaf plant | |
Toothman | Expressive Skinning Methods for 3D Character Animation | |
Obradovic et al. | Fine arts subjects at computer graphics studies at the Faculty of technical sciences in Novi Sad |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |