毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

三文动画在OGRE中应用的研究 第2页

更新时间:2008-4-19:  来源:毕业论文

三文动画在OGRE中应用的研究 第2页

2 关键帧动画及插值算法

随着计算机图形学和硬件技术的发展,人们已经可以用计算机生成高质量的图像,计算机动画也得以快速发展,特别是近年来游戏中不断强化动画能力,并逐步提高到电影级真实的程度,力图营造更真实更自然的游戏体验。

2.1关键帧动画

关键帧动画是随时间变化而变换位置和旋转信息的一种高效的插值法。它要求作者在不同的形态中都创建一个相应的特征;每一个形态就叫做一个关键帧。每一个关键帧都能改变层次中节点的局部位置和局部方向。当它达到激活特征的时候,在两个关键帧之间的形态将被计算得到。

OGRE有定义关键帧类(KeyFrame,它组成动画最基本的元素。一个动画轨迹里有多个关键帧,每个关键帧具有自己的位置、缩放比例和旋转角,同时每个关键帧还保存有自己在整个动画轨迹里所处的时间点。在实际运行时,根据当前时间,通过对两个关键帧的插值可以得到当前帧(当前位置、缩放比例和旋转角)。随着时间的变化,插值得到的当前帧也是变化的,动画就产生了。由于关键帧包括位置信息、缩放比例信息和旋转信息,所以可以实现运动动画、缩放动画和旋转动画以及混合动画。   

2.2插值算法及其利弊分析

2.2.1形状关键帧插值

通过对关键帧画面本身的插值来得到中间画面的方法称为形状关键帧插值,对于基于形状关键帧插值的关键帧动画来说,动画中的角色都是由它的形状——即由多边形的顶点或样条曲线的控制点来定义的。角色的运动是由一系列的顶点或控制点对应于其它关键帧的各顶点或控制点,通过对两个关键帧中的每两个对应点间进行插值计算,即可得到中间画面的对应点。插值可以采用线性插值或样条插值。对于形状关建帧插值来说,其状态变量是“点”,而运动的规律由插值计算得到。在三文动画中,三文形状关建帧插值往往给出的是三文的数量和数据。在两个关键帧之间通过一个参数t0变到1来改变三文物体的变换范围,并生成中间结果。

实际应用中,三文动画的线性插值一般很难得到理想的结果,如运动会出现不平滑,运动速度会不连续,同时在物体旋转时会产生畸变等等,这些都需要一定的措施进行校正。

2.2.2参数关键帧插值

参数关键帧是对动画中物体模型的参数进行插值计算,它的基本原理是:动画中的物体,摄影机、灯光等均是由参数表示的,我们需要在给定时间上,给定适当的一组“参数值”来生成一组关键帧,然后,计算机对此参数进行插值计算,中间画面的物体,灯光、摄影机的位置、形状等根据插值后的参数生成。

从原理上讲,关键帧插问题可归结为参数插值问题,传统的插值方法都可应用到关键帧方法中。一个好的关键帧插方法必须能够产生逼真的运动效果并能给用户提供方便有效的控制手段一个特定的运动从空间轨迹来看可能是正确的,但从运动学或动画设计来看可能是错误的或者不合适的。可通过调整插值函数来改变运动的加速度和速度。因为插值过程中存在如何把握插值过程中时间控制问题,Steketee等提出了用双插值的方法来控制运动参数。其中之一为位置样条,它是位置对关键帧的函数;另一条为运动样条,它是关键帧对时间的函数。他们还讨论运动中的局部控制,两个运动过渡点处的连续性问题。Kochanek等提出了一类适合于Keyframe 系统的三次插值样条,他们把关键帧处的切矢量分成入矢量和出矢量两部分,并引入三个参数:张量t、连续量c和偏移量b对样条进行控制。张量t 控制曲线在关键帧处的弯曲度,连续量b控制关键帧处是over-shooting 还是under shooting 。该方法允许在不调整关键帧的情况下调整物体的运动。

在关键帧动画中关键帧参数的插值一般是彼此独立的。若参数间有一定的内在关系,独立插值有可能产生不自然的运动。Brotman提出用经典力学得到的微分方程来描述物体的运动,并把关键帧看成是约束条件,然后施加外在控制来满足这些约束。通过使控制能量和运动轨迹的不光滑性最小,得到了光滑和自然的运动。该方法应用于关键帧参数有一定内在关系的(如位置、朝向、线速度、角速度)运动最优控制。

除了机械位置、形状变化插值外,若物体的颜色发生变化,例如关键帧1时,物体为蓝色,而在关键帧2时,物体转为橙红色,则应进行颜色参数的插值计算来生成中间画面,使物体的颜色由蓝色逐渐过渡到橙红色。

2.2.3样条关键帧插值法

在关键帧动画中,计算机的主要作用是进行插值,为了使若干个关键帧间的动画连续流畅,经常采用样条关键帧插值法。这样得到动画中的运动具有二阶连续性,C²连续性。同样是一组点Pⅰ和他们对应的样条曲线的t(t=01).对应于中间t的每一个新点V仅与t前后的曲线上的两个点(一个在前,一个在后)有关。需要补充的是这两个点处的切矢量点D2 Di+1。其样条曲线插值公式为:

该式中的4*4矩阵是Hermite矩阵,点Pⅰ 处的切矢量Di定义为 若图片无法显示请联系QQ752018766  

a=0.5,则得到Catmull-Rom样条,

P+1Pⅰ、P-1之间两个弦的平均值。

由于线性插值引起的一阶导数的不连续,在动画中会出现画面跳跃。因此需要采用高的插值方法,以保证曲线和它的一阶导数的连续性,如三阶样条曲线插值。在使用关键帧插值的三文动画技术中,究竟使用那种插值算法比较合适,要根据运动的具体描述来确定。若要描述一个弹性较差的硬橡皮球的运动,就需要在动作时间上进行分配处理,以该球的的特性,这里多用参数关键帧插值。如要描述有弹性的皮球掉到地上,经弹跳几次后,慢慢地停下来的过程,必须作出多个关键帧。因为不仅要描述物体位置的改变,还有物体形状的改变,所以使用形状关键帧插值要准确。

2.2.4 四元数微积分

无论是样条驱动动画还是关键帧插值方法,都会碰到这个问题:给定一条物体运动的轨迹,求物体在某一帧的位置。物体运动的轨迹一般由参数样条来表示。如果直接对参数空间进行等间隔采样,将会产生运动的不连续性。为了使物体沿一样条平滑运动,需要对样条进行弧长参数化。Guenter等提出用Gauss型数值记分方法取代Simpson方法计算弧长,用Newton-Raphson迭代代替二分法来确定给定弧长点在曲线上的位置,并采用查找法纪录参数点弧长值的方法来加速运算。

关键帧插值系统中要解决的另一问题是物体的旋转的插值问题。物体的旋转方位一般可由Euler角来表示,因此方位的问题可简化为三个欧拉角的插值问题。但欧拉角又有它的局限性。因旋转矩阵是不可交换的,欧拉角的旋转一定要按某个特定的次序进行;等量的欧拉角变化不一定引起等量的旋转变化,导致了旋转的均匀性;欧拉角还有可能导致自由度的丧失。可用四元数来解决这个问题。

四元数插值法的唯一必要的支持就是区分单元四元数函数转变为真实值。这些方程来源于同一标准的微积分过程,但是必须注意乘法的顺序。这个方法是由Shoemake1987)提出的。这个函数的导数出来的 ,其中 是四元数常量,方程为                若图片无法显示请联系QQ752018766    

其中log是之前有函数定义的。有幂次方也是它自己函数,  

2.2.5曲线四元数插值法

给定一个次序N单元四元数 ,通过插入四元数组来建造一条曲线,其条件为曲线要经过控制点且其导数是连续的。这个方法是选择中间四元数anbn允许用来控制在曲线段的终点的导数。正好使得为曲线段。通过squad的定义,很容易看出若图片无法显示请联系QQ752018766  

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 

三文动画在OGRE中应用的研究 第2页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。