学院首页 新闻频道 学院概况 网络学院 院系设置 师资介绍 教学成果 招生就业 实践基地 校园文化 视频 论坛
  ◎    网络学院首页
  ◎    影视动画
  ◎    动漫设计
  ◎    影视广告
  ◎    视觉传达
  ◎    环境艺术
  ◎    人物形象
  ◎    电脑艺术
  ◎    电视摄像
  ◎    电视制作
  ◎    多媒体
  ◎    摄影专业
  ◎    播音主持
  ◎    影视表演
  ◎    新闻采编
  ◎    编导专业
  ◎    电视网络
  ◎    电视制片
  ◎    师生交流
  ◎    意见采纳
  ◎    我要投稿
 
 
    您认为网络学院那些栏目仍然需要加强?
专业新闻
理念论文
软件教程
作品赏析
专业资源

  
    您最想了解哪一类型的专业知识?
理念文献
软件教程
素材资源
作品赏析

  



计算机动画与仿真综述(下篇)
作者:未知    文章来源:武汉影视动画网    点击数:    更新时间:2006-10-17

 

四、关节动画和人体动画

     在三维计算机动画中,把人体作为其中的角色一直是研究者感兴趣的目标,因而关节动画越来越成为人们致力解决的研究课题。在这一方面引人注目的早期工作从动画电影《Tony de Peltrie》和《Rendezvous a Montreal》可见一斑,而近期在这一方面的工作更是令人惊叹不已,如电影《终结者》、《侏罗纪公园》。虽然计算机动画在许多领域占据越来越重要的角色,人体和动物动画的许多问题仍未很好解决。人体具有200个以上的自由度和非常复杂的运动,人的形状不规则,人的肌肉随着人体的运动而变形,人的个性、表情等千变万化。另外,由于人类对自身的运动非常熟悉,不协调的运动很容易被观察者所察觉。可以说,人体动画是计算机动画中最富挑战性的课题之一。

     正向或逆向运动学方法是一种设置关节动画的有效方法。通过对关节旋转角设置关键帧,得到相关连的各个肢体的位置,这种方法一般称为正向运动学方法。DenavitHartenberg最早提出了一种通过相对坐标系来描述各个关节位置的矩阵描述方法,并被从事关节动画的研究者所广泛采用。但对于一个缺乏经验的动画师来说,通过设置各个关节的关键帧来产生逼真的运动是非常困难的。一种实用的解决方法是通过实时输入设备记录真人各关节的空间运动数据,即运动捕获法。Alias公司的产品部经理Gary Mundell曾称:“Motion capture is the future”。为了克服该方法缺乏灵活性的缺点,Witkin通过混合动画曲线来编辑捕获的数据,从而使建立可重用的运动库成为可能。AutodeskGleicher提出了一种运动重定目标的新概念。该方法能把一个角色的动画赋给另一个具有相同关节结构但具有不同关节长度的角色,并能保持原有动画的质量,因而非常适合运动捕获动画的处理。逆运动学方法在一定程度上减轻了正运动学方法的繁琐工作,用户通过指定末端关节的位置,计算机自动计算出各中间关节的位置。逆运动学分析求解方法虽然能求得所有解,但随着关节复杂度的增加,逆运动学的复杂度急剧增加,分析求解的代价也越来越大,数值求解成了一种可行的方案。Korein提出了一种对每一关节段采用层次工作空间的直觉方法,该方法尽量使关节位置的移动最小。该方法带来的问题是用户对得到的解无法控制,对于复杂的关节结构,得到的不一定是产生自然运动的解。GirardMaciejewski提出了一种用逆运动学生成关节运动的方法。在他们的方法中,用户指定脚的世界坐标系位置,然后用伪逆Jacobian矩阵求解从脚到臀部关节的旋转角。该方法是生成逼真关节运动的最好方法之一。采用运动学求解的一个优点是可以对关节的某些关键位置设定约束。例如,当一个人弯曲他的膝盖时,可约束他的脚在地板上,而身体则往下倾。类似,当人行走时,先使身体绕一只脚旋转,然后绕两只脚旋转,再绕另一只脚旋转。带约束的关节动画常采用逆运动学求解,这相当于从众多的解中选取一个满足约束的解。如果约束的只是一个点,可采取重新构造关节树的方法。Badler等人的方法允许对关节多重约束,当所有的约束不能同时满足时则按约束的重要性排序,并采用迭代法求解逆运动学方程。把运动学和动力学相结合允许动画师以适合他的方式思考问题。Isaacs把运动学和动力学约束显式表达出来,然后求解这些方程。遗憾的是,这种方法的计算量极大。Boulic提出了一种适合关节运动编辑的正向和逆向运动学相结合的方法,动画师可对已有的关节运动作交互的基于目标的修改。该方法的关键思想是把所要求的关节空间运动插入逆向运动学控制机制中。Phillips等人提出了一个交互的通过运动学约束来控制双足关节动物运动的方法,这些约束模型能抓住运动的特点,并能控制人的平衡和稳定。Calvert提出了一个舞蹈的动画合成方法。动画软件MayaSoftimageAlias|Wavefront都提供正向运动学和逆向运动学动画设置方法。Maya 是一个面向角色动画的软件,Softimage则专门有一个设置关节动画的模块Actor

     与运动学相比,动力学方法能生成更复杂和逼真的运动,并且需指定的参数相对较少。但动力学方法的计算量相当大,且很难控制。基于Euler动力学方程,ArmstrongGreen提出了一种用于图形仿真的递归方法,避免了矩阵的建立过程。该递归方法的复杂度与自由度的个数呈线性关系,速度快而且稳定。动力学方法中另一重要问题是运动的控制,若没有有效的控制手段,用户就必须提供具体的如力和力矩这样的控制指令,而这几乎是不太可能的。因而,有必要提供高层的控制和协调手段。能够满足上述要求的一种方法是预处理方法。该方法把所需的约束和控制转换成适当的力和力矩,然后包括到动力学方程中。另一种方法将约束以方程的形式给出。如果约束方程的个数与未知数的个数相等,也即系统是全约束的,则可用一般的稀疏矩阵法快速求解。但如果系统是欠约束的,则情形就比较复杂,因为有无穷多的解。例如,给定手的到达目标,就有许多关节构造方法可使手到达所要求位置。Witkin提出了一种使某种目标函数极小的附加约束方法,并用共轭梯度法求解。在上述例子中,目标函数可选为运动的总动能。基于物理仿真的一大优点在于能自动地模拟物体之间的相互作用。这实际上牵涉到两个问题,即作用在何时发生及相互作用后的响应。Moore提出用一系列方程来描述碰撞时的动量守恒,并用分析法求解碰撞后物体新的位置和速度。碰撞检测及响应虽然增加了仿真的真实性,但同时计算量也急剧增加。在基于目标的运动控制方面,较早的有Zeltzer的工作。在他的面向任务的系统中,能实现诸如行走和跳跃这样的人体运动。但他在计算关节旋转角时,采用的是运动学和对测试数据插值的方法,因而不能实现如改变速度、改变步长这样的运动控制。BruderlinCalvert提出了一个人体走路动画的混合方法,该方法结合了基于目标的和动力学两种运动控制技术。在他们实现的实验性动画系统KLAW中,用户指定一些参数如速度、步长和步频后,几乎可以以实时的速度生成大范围的人体行走方式。在他们后来提出的过程控制方法中,用步伐之间的三次和线性插值取代了原来的动力学方法,而真实性与原来相差无几。因而,动画师几乎可以实时交互控制人体的运动。

     指定关节动物的运动,使它能以符合物理规律真实的方式达到给定的目标(如投一个篮球到球框中)是动画师的目标之一。Witkin等人所提出的时空约束是生成角色动画的一种新方法。在时空约束方法中,动画师指定角色必须做什么,例如从这里跳到那里;怎样运动,比如不浪费能量;角色的物理结构,如几何、质量、连接性质;角色为完成运动可利用的物理资源,如角色的肌肉、可以产生推力的地板。基于这些描述,加上牛顿定律,构成一个约束的最优化问题。求解该约束问题得到一个符合物理规律的运动。该方法生成的真实运动与传统动画的一些原则如压扁和伸展、期望等相符合。时空约束得到的是一个非线性约束变分问题,通常该问题没有唯一解。一个解决方法是用三次B样条基函数的线性组合来减少可能的轨迹数,并用约束优化来求解B样条的系数。但这类非线性优化问题的一般解是未知的。为此,Cohen提出采用符号和数值混合技术来进行交互控制。在该系统中,用户能干涉迭代数值优化过程并能指导优化过程使它收敛到可接受的解。但是随着关节数和任务复杂度的增加,其计算量仍然很大。分析标明,计算复杂度主要取决于表示广义自由度有限基的选择上,Liu等人提出用小波基来表示广义自由度对时间的函数,该方法的优点在于能自动地只在需要的地方增加运动细节,从而使离散变量的数目减少到最小,求解的收敛速度更快。

     在计算机动画中,建立有趣且逼真的虚拟实体并能同时保持对它们的控制是相当困难的,通常在复杂度和控制的有效性之间取一折衷。对一固定的关节结构,常用优化方法来自动生成动力学控制系统,如Ngo提出的针对刺激反应对的算法,这些算法成功地生成了二维刚体模型的运动。对于非固定的三维动物,Sims提出了能生成自主(autonomous)三维虚拟动物的方法,该方法无须用户提供繁琐的设计指定工作,动物形态学和控制肌肉的神经系统由算法自动产生。

     在脸部造型方面,DeCarlo提出了一种基于变分技术自动生成人脸几何模型的系统。在脸部表情的动画模拟方面,Bergeron提出用数字化仪将人脸的各种表情输入到计算机中,然后用这些表情的线性组合来产生新的脸部表情。该方法的缺点是缺乏灵活性,不能模拟表情的细微变化,并且与表情库有很大关系。1987年,Waters提出了一个基于Facial Action Coding System的脸部表情动画模拟方法。该方法由一个参数肌肉模型组成,人的脸用多边形网格来表示,并用肌肉向量来控制人脸的变形。它的特点在于可用一定数量的参数对模型的特征肌肉进行控制,并且不针对特定的脸部拓扑结构。Waters用该方法生成了happinessfearangerdisgustsurprise等逼真的表情,Waters的算法已成为模拟脸部表情动画的核心算法之一。因为一些常用的表情是由一组肌肉按某种协调的方式运动产生的,Reeves提出了一种通过高层的宏肌肉控制低层肌肉的方法。宏肌肉由一系列低层的肌肉组成,每一块低层的肌肉赋以权,宏肌肉收缩引起低层肌肉按某种加权形式收缩。Guenter等人提出了一种根据真人脸部表情捕获人脸三维几何信息、颜色和绘制信息的系统,然后由捕获的数据重建出非常逼真的三维动态表情。Pighin提出了一种根据照片建立人脸三维模型的纹理映射,并采用Morphing技术生成不同脸部表情间的过渡。

     五、基于物理模型的动画

     基于物理模型的动画技术是八十年代后期发展起来的一种新的计算机动画技术。经过近几年的发展,它已在图形学中成为一种具有潜在优势的三维造型和运动模拟技术。尽管该技术比传统动画技术的计算复杂度要高得多,但它能逼真地模拟各种自然物理现象,这是基于几何的传统动画生成技术所无法比拟的。著名动画软件Softimage在基于动力学的动画功能方面已相当成熟,它能处理诸如重力、风、碰撞检测等在内的复杂动力学模型。

     传统动画技术要求预先描述物体在某一时刻的瞬时几何位置、方向和形状,其运动则往往通过前面第一节中所介绍的参数关键帧技术来完成。因而,欲模拟一个逼真的自然运动需要动画设计者细致、耐心的调整,要求动画设计者依赖其对真实物理世界的直观感觉来设计物体在场景中的运动。但由于我们对日常物理世界极为熟悉,且真实的物体运动往往非常复杂,因而,采用传统的动画设计技术一般来说难以生成令人满意的运动。今天,许多动画师不得不采用一些特殊的软件来模拟特定的物体运动。基于物理模型的动画技术则考虑了物体在真实世界中的属性,如它具有质量、转动惯矩、弹性、摩擦力等,并采用动力学原理来自动产生物体的运动。当场景中的物体受到外力作用时,牛顿力学中的标准动力学方程可用来自动生成物体在各个时间点的位置、方向及其形状。此时,计算机动画设计者不必关心物体运动过程的细节,只需确定物体运动所需的一些物理属性及一些约束关系,如质量、外力等。

     最近几年,已有许多研究者对动力学方程在计算机动画中的应用进行了深入广泛的研究,提出了许多有效的运动生成方法。总体上来说,这些方法大致可分为三类,即刚体运动模拟、塑性物体变形运动以及流体运动模拟。下面,我们将简单介绍一下这三方面已有的成果及其不足之处。

     在刚体运动模拟方面,其研究重点集中在采用牛顿动力学的各种方程来模拟刚体系统的运动。由于在真实的刚体运动中任意两个刚体不会相互贯穿, 因而在运动过程模拟时,必须进行碰撞检测,并对碰撞后的物体运动响应再进行处理。ArmstrongGreenWilhelms直接采用动力学方程来模拟刚体关节链的运动。Witkin等分别利用Lagrangian动力学方程及时空约束和能量约束方程来进行物体的运动仿真。而Isaacs等则分别采用逆动力学和正动力学方法来模拟刚体系统的运动,并揉合进了许多传统的动画生成技术,如关键帧插值技术、正运动学和逆运动学技术等来对某些关节处的刚体运动加以控制。因而,这两种方法较之前面的几种方法对运动的模拟更具有效性和可控性。同时,他们还在各自的系统中引进了运动碰撞检测机制。Barzel等人提出了一个基于动力学约束控制的刚体造型系统,他们通过几何约束建立物体,用逆动力学求解约束力,然后模型按满足这些约束的方式进行组合。由于每个刚体元素的运动都满足物理规律,因而生成的运动非常逼真。Hahn采用解析方法来计算两刚体碰撞时产生的冲量。该方法假定两刚体在接触的瞬间只有一点接触,因而是非常理想化的。为防止在非完全弹性碰撞时刚体间的相互贯穿,Hahn将这种碰撞接触模拟为一个屡次发生碰撞的序列。MooreWilhelms采用了与Hahn类似的假设和方法来计算刚体相撞所产生的力。MooreWilhelms将瞬时碰撞模拟为一个很小间隔的单碰撞的序列,并用非解析方法来处理刚体间的非完全弹性碰撞问题。对碰撞响应问题,他们则采用一具有常数弹性系数的弹簧来加以模拟。虽然,上述两种碰撞模型避免了景物在运动过程中的相互贯穿现象,但它却不能有效地计算非完全弹性碰撞时所产生的力。注意到上述模型的这一缺陷,Baraff提出了一个解析计算非完全弹性刚体系统碰撞产生的冲力的方法。该模型允许两刚体在多点接触碰撞。多面体间碰撞冲力的计算则采用线性规划方法(最优化)。在Baraff的后续几篇文章中,他将上述算法分别拓广到具有曲面的一般性场景中,同时他还考虑了两物体碰撞滚动时产生摩擦力的情况。对于刚体物体,Baraff提出了一个计算包含摩擦力在内的碰撞力的方法,由于无需转换成优化问题,因而更简单、可靠、速度更快。1998年,Grzeszczuk等人提出了一种取代直接计算动力学模型的神经网络方法,通过预先学习动力学模型,该方法能生成接近物理真实的动画,但计算速度却快一至二个数量级。

     至此我们已简单介绍了刚体在碰撞瞬时的响应问题,但并未涉及到刚体碰撞的另一问题:碰撞检测。碰撞检测在机器人领域中曾得到过广泛的研究。Hahn采用层次包围盒技术来加速多面体场景的碰撞检测。而MooreWilhelms则提出了二个有效的碰撞检测算法,其一用来处理三角剖分过的物体表面,而另一算法则用来处理多面体环境的碰撞检测。由于任一物体表面均可表示成一系列三角面片,因而,该碰撞检测算法具有普遍性。MooreWilhelms算法的基本思想是利用一个运动刚体上的各顶点的运动轨迹与另一运动或静止刚体上的每一个三角面片进行求交测试,若存在有效交点,则说明两刚体将相碰撞,否则,在该时间段时,它们将不相碰。为提高该算法的计算效率,MooreWilhelms根据运动刚体的各顶点位置建立空间八叉树,对要测试的另一刚体的每一三角片,由其运动前后的位置建立包围盒,并用运动速度最快点所走过的距离扩展该包围盒。用该包围盒对八叉树进行递归测试,若某一点落在包围盒内,则进行细致的判别,否则,则予以拒绝。这一算法的缺点是当景物为一复杂的雕塑曲面时,对表面的三角剖分可能产生大量的三角片,这会大大影响算法的效率。为此,BaraffHerzen等人提出了基于参数曲面的几何碰撞检测算法。Baraff算法采用两个刚体的状态空间来表示碰撞约束,该状态空间为十二维空间,它们分别表示了两刚体的六个自由度。Baraff进而将两刚体的碰撞检测转化为一隐式约束方程,由此,可方便地决定两刚体是否相碰,若相碰,还可求出该碰撞响应。而Herzen等则数值求解两参数曲面在接触点处或最近点处的参数值来判定它们是否相交并应用层次细分技术。采用层次八叉树结构,Yang等人提出了一个基于三角形的快速碰撞检测算法,并把它应用于人体动画和布料动画中。

     在真实物理世界中,许多物体并非完全是刚体,它们在运动过程中会产生一定的形变,即所谓柔性物体。物体的变形一直是计算机图形学的研究热点,这在前面已详细介绍过。由于传统的表面变形均是基于几何的,其形变状态完全人为给定,因而变形过程缺乏真实性。1986年,Weil首次讨论了基于物理模型的柔性物体的变形问题。当时仅仅是用来模拟布料悬挂在钉子上的形态。Feynman则提出了一个更完善的布料悬挂模型。后来,许多研究者相继开始采用各种物理模型来对非刚性物体进行运动变形模拟。Miller用质点弹簧系统模拟了蛇和虫子这类无腿动物的蠕动动画。他用弹簧的收缩来模拟肌肉的收缩,并考虑了动力学模型中的方向摩擦。他制作的蛇和虫子的动画由于其高度逼真性引起了很大的反响。Tu等人提出了一种模拟鱼的行为的动画,可在动画师较少干涉的情况下生成真实的个体和群体运动。Terzopoulos等采用连续弹性理论来模拟物体的形变和运动。通过考虑物体的分布式物理属性,如质量、弹性等,他们成功地模拟了柔性物体对外力的动力学响应。尽管该模型对大变形物体具有很好的效果,但当物体的刚性增强时,该模型会出现数值不稳定(病态)现象。后来,他进一步发展了其模型。物体的变形被分解成为参考分量和一平移分量,参考分量用来表示物体的任一形状,而平移分量则控制物体的形变量,且完全由一线性弹性变形模型所控制。在他的另一篇文章中,他们进一步完善了其变形模型使之能够模拟各种变形效果,包括:完全弹性变形、非完全弹性变形、塑性变形、断裂等。

     采用Lagrangian方程和热方程,Terzopoulos等人模拟了变形物体的融化过程。为了生成逼真的柔性物体的运动,Platt等人提出了柔性物体的两种约束方法,即反应(reaction)约束和扩充的拉格朗日约束。反应约束允许柔性多边形模型碰撞的快速计算,并允许动画师进行推拉控制。扩充的拉格朗日约束允许生成诸如体积不变的压扁和太妃糖类物质的挤压效果。Witkin提出了在参数化模型中附加求解几何约束的方法。他们把约束表达成能量函数,并使能量的梯度沿模型的参数空间变化。直观地讲,能量约束象力一样把模型拉到位,并使模型产生相应的变形。这种方法的优点在于它的广泛适用性,缺点是计算量大。在仿真具有柔性体的复杂系统时,若把其几何和动力学分开讨论,则问题将会简化。Pentland提出用振动模式来描述物体的动力学,用体积模式来描述物体的几何,然后用多项式变形映射将它们合在一起。采用这种混合的表示,其效率可比求解一般的非刚体逆动力学问题提高二至三个数量级。该方法非常适合于制作传统动画中的伸展/压扁、夸张等效果。

     六、计算机动画的研究动向

     计算机动画发展到今天,无论在理论还是在应用上都已取得了巨大的成功,但离人们的期望还是有一定的距离。从最近几年发表的论文看,笔者认为下面几个研究方向值得我们注意:

     1Catmull-Clark细分曲面的造型和动画研究。动画追求的新奇性和创新性推动了这一方向的发展。物体的造型和动画通常具有密切的联系,造型的某些新方法往往同时提供了新的动画控制方法。由于NURBS曲面在表示拓扑复杂物体存在许多困难,由CatmullClark提出的根据任意拓扑控制网格生成B样条曲面的细分曲面方法近几年来在计算机动画中越来越受到人们的重视,相关的论文不少。1996MacCraken把细分曲面应用于任意拓扑的自由变形中。在今年的Siggraph中,有三篇与Catmull-Clark细分曲面有关的论文,其中Pixar公司的DeRose等人把细分曲面引入到角色动画中,取得了非常好的效果。在Alias|Wavefront公司的动画软件Maya中,基于Catmull-Clark细分曲面的造型和动画已经成为其重要手段。

     2、隐式曲面的造型和动画研究。该研究方向近年来逐渐为人们研究的热点,欧洲图形学学会专门设立了相应的Implicit Surface学术会议。该会议从1995年开始,每一年半举办一次,现举办了三次(1995年,1996年和1998年)。隐式曲面是元球的更一般形式,它在表现人体的肌肉、水滴、云、树等物体的造型和动画方面有很大的优势。

     3、运动捕获动画数据的处理。运动捕获技术在电影《泰坦尼克》中取得了非常大的成功,该片中乘客从船上落入水中的许多惊险镜头都是由动画特技来完成的。实际上,运动捕获已成为现代高科技电影不可缺少的工具。运动捕获的动画数据包括关节运动的数据和脸部表情动画的数据。怎样把运动捕获动画数据重用和重置目标值得进一步的研究。

     4、三维Morphing和变形研究。二维图象的Morphing虽然已经比较成熟,但三维Morphing方法尚存在各种各样的缺陷,具有任意拓扑的两三维物体之间的Morphing技术还有待于进一步的发展。基于约束的变形也是值得研究的方向。

 

文章录入:雷建威    责任编辑:雷建威 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
      相 关 文 章
    计算机动画与仿真综述(上篇)
    步入美丽的3D卡通世界——综合实例篇
    运动规律的一些基本概念教程
    数码动画设计——动漫时尚设计师
    XSI基础动画与技术
    迪斯尼的动画规律教程
    [外文教程]RENDERMAN ---2
    [外文教程]RENDERMAN ---3
    计算机动画与仿真综述(上篇)
    计算机动画与仿真综述(下篇)
     
    最新热门图片  

    粒子鱼群教程

    简单的皮肤制作方法

    Maya 8.5 Hybrid DVD

    制作好莱坞电影《Slit…
    最 新 热 门
    最 新 推 荐
    关于我们 广告服务 法律声明 联系方式 常见问题 中国生活网 留言 论坛 帮助
    广播电影电视管理干部学院版权所有 Copyright 2001-2006 ARFT.net All Rights Reserved
    感谢动易网络科技有限公司友情提供技术支持,山西艺龙影视信息中心(有限公司)运营