正月十五是什么节:动画驱动靠"动力" --动画生成中的三大关键技术

来源:百度文库 编辑:偶看新闻 时间:2024/04/29 11:35:37
动画驱动靠"动力"
--动画生成中的三大关键技术
■ 蔡涛 金刚 胡汉平
关键技术之一:关节动画技术 使用关节骨架来表示人类或者其他骨架动物的身体结构是表演动画技术中最主要的思想,所涉及的技术就是关节动画技术。这是一项非常复杂的工作,其中许多运动控制手段至今尚未解决。 近年来,在动画制作系统中,使用骨架控制三维动画角色已非常流行。在这些系统中,角色的骨架定义为一系列骨件,而包裹这些骨件的"皮肤"则是一个顶点网。每个顶点的位置因受到一个或多个骨件运动的影响而变化。因此,只要定义好角色模型的骨架动作就可以实现栩栩如生的动画了。被定义为皮肤顶点的运动则以数学公式的方式生成。 使用关节骨架系统,动画师可以非常容易地设置和控制三维角色关节旋转点动画,其只需要专注于角色骨架的动画,而系统可以自动建立一张几何"皮肤"(表示这个角色的外观),并将其附着在骨架上。从本质上讲,关节动画系统是分层的,故可以使用有效的方法控制动画角色。实现骨架动画的算法主要有运动学方法和动力学方法。 1.运动学(Kinematics)方法在表演动画系统中,动画角色的骨架由一些与肢体相对应的骨件组成,关节是两个骨件结合的地方。两个骨件之间的角度称做关节角。一个关节最多可以有三种角度:弯曲角、绕曲角和扭曲角。在已知关节链中每个关节的角度和关节长度的情况下,求解各个关节相对于固定坐标系的位置和方向,这种方法叫做正运动学(Forward Kinematics)。虽然在机器人学中对类似运动的控制进行了大量的研究,但对于一个缺乏经验的动画师来说,通过设置各个关节的角度来产生逼真的运动是非常困难的。 反运动学(Inverse Kinematics)与正运动学相反,它是在给定链杆末端的位置和方向后,计算出各关节的位置与方向。反运动学是角色动画中的一个巨大突破,为角色动画提供了一种目标导向的方法。通过反运动学算法,动画师可以仅使用单个把柄控制整个关节链。例如一个手臂,它的把柄可以是手臂末端的手掌。当然,也可以使用外部数据来驱动这些控制点。换句话说,动画师通过反运动学能够设计一个骨架结构,并用运动捕捉系统采集的数据来驱动。典型的数据由三维空间中运动的点集构成,它们代表了每帧图像中表演者身上传感器的位置。即使是一个传感器数量有限的运动捕捉系统,通过反运动学也可以生成复杂结构的动画。然而,如果我们直接使用这些数据驱动控制点或者把柄,就会很快发现,动画模型的动作与真实演员的动作并不相近。事实上,演员真实的骨架结构相当复杂,且不容易通过数学来描述,而更复杂的是皮肤的影响和下层肌肉效果相结合的结果。 解决问题的一个方法是将数据集与控制点松散地联系起来。我们可以让数据集影响控制点,但在反运动学求解过程中,对骨架结构运动施加约束和限制。即便是三维数据相当精确,数据所表达的与我们试图建立的复杂物体模型之间仍然存在着基本的差别。 2.动力学(Dynamics)方法 基于运动学的系统通常缺乏直观的动力学真实性,动画效果看上去与重力或者惯性等最基本的物理事实不相符合。只有那些受外力和力矩影响的物体运动才可能是真实的。我们可以使用外力、力矩、对物体的约束以及物体的质量特性建立方程。这些力和力矩可以是各种形式的:来自于关节链的力矩,来自于绞接点的外力,与其他物体接触或者手臂扭曲的外部影响力。 在动画控制中引入动力学有以下优点: 可以呈现出自然现象的真实感; 动画师可以不必依据实体的物理特性来描述运动; 肢体可以自动对内部和外部环境的约束如重力场、碰撞、外力和力矩产生反应。
然而也有一些严重的缺点: 有时参数难以调整,因为没有任何先验知识的指导; 使用数值方法求解复杂关节骨架的运动方程需要大量的时间; 基于动力学的运动太过正规。
关键技术之二:运动编辑技术 1.动作编辑(Motion editing)的必要性 既然运动捕捉技术可以为我们提供完美的肢体运动轨迹,那么,为什么还要对其进行编辑?实际上,运动编辑不仅可以修补运动捕捉结果中的问题,还可以给动画师带来极大的便利。 完善和整理 修改捕捉的数据,使之可以精确反映表演运动,并精确重建运动。 数据复用 捕捉的运动数据只是对某一事件精确的记录,如果我们希望复用这些数据,而只有一些细微的不同,如不同的角色或不同的动作,那么,就必须编辑数据。 建立不可能的运动 由于数据记录的是真实世界中肢体的运动,如果制作不可能的动作则需要对其做一些修改。况且我们往往希望动画角色的动作有一种动画风格,而不是真实感风格,这时同样需要编辑。 真实性的不完整 真实的运动并不是完美的。例如,表演者身上marker的位置不正确、反复运动并不是循环的,经常需要编辑捕捉数据使其满足某些标准。同时,必须对定制的动画进行调整,消除人为迹象,以便在时间和空间上与计算机生成的环境精确匹配,或者克服动作捕捉工作室的空间约束。 改变意图 在动画制作过程中可能对原来的设想做出改变,运动编辑提供了后期调整的可能性。 次要运动 动作数据仅仅表示角色骨架总的运动,这时,还必须使用不同的工具,将角色服装或软组织运动等这些次要的运动添加进去。由于运动编辑大多涉及到对已有的主要数据的修改,所以,需要不断增加工具建立和操作次要运动。因此,对捕捉数据具有编辑能力是极为重要的。运动编辑并不仅局限于运动捕捉,也可以应用于其他运动生成技术,如关键帧动画和仿真动画等。为了实用性,整个编辑过程必须比通过草稿生成动画的过程要容易,并且能保留原有动画的品质和逼真度。最近,许多运动控制方面的研究都在致力于开发各种编辑工具,以便能从预先捕捉的动作片断生成令人信服的动画。从现有的运动编辑技术来看,可以分为三种类别的操作: 一元操作 涉及操作的运动只有一个,目的是修改动作的特性,如运动滤波、运动变形。 二元操作 涉及的动作为两个,目的是建立一个更长的动画,如运动串接。 多元操作 涉及两个或更多的动作,混合不同的动作风格或特性,如运动混合。
2.运动重定向(Motion Retargeting) 为了能够重用动作捕捉数据,动画师常常要对其进行调整,以适合不同的角色。比如将一个角色的动作重新赋予另外一个角色,或者转换到不同的环境中,以补偿几何形状的变化。Wisconsin Madison大学的Michael Gleicher教授提出了一种运动重定向的新概念,它能把一个角色的动画赋给另一个具有相同关节结构但具有不同关节长度的角色,并保持原有动画的质量,因而非常适合运动捕捉动画重用的处理。 Popovi提出了考虑动力学因素在内的运动重定向方法,并且提出了把某一角色的运动映射到另一个完全不同关节结构的运动重定向方法,这使运动捕捉数据的重用性得到了进一步加强。整个变换过程分成四个部分: 角色简化 建立一个抽象的角色模型,能够包含捕捉数据必需的最少的自由度,并将输入数据映射到这个简化的模型上。 时空动作适配 求解最能反映简化角色动作的时空优化问题。 时空编辑 改变时空动作的参数,引入新的姿态约束,改变角色运动、目标函数等。 动作重建 将时空编辑中引入的动作变化重新映射到原有的动作上,生成最后的动画。
3.运动变形(Motion Warping) Lee等人提出了一种分层的交互编辑运动数据的方法,基于多分辨率B样条曲线逼近。该方法能改造已有的运动数据,使运动满足一系列约束。同时,他们也为逼近技术提出了一种有效的反运动学算法,可计算出每个肢体关节角度,大大减轻了类人关节动画中数值优化计算的负担。 4.运动变换(Motion Transforming) Bruderlin和Williams最先提出"运动信号处理"的概念。Litwinowicz的Inkwell系统使用了各种滤波方法生成了动作的特技效果。Perlin的"跳舞者"系统证明将几种运动混合起来生成有趣的人体动画是合适的,而且如果在运动轨迹上加入噪音会使效果更加真实。为了克服运动捕捉方法缺乏灵活性的缺点,Witkin通过混合动画曲线来编辑捕捉数据,从而使建立可重用的运动库、运动过渡、运动时间的整体缩放等成为可能。Bruderlin提出了运动的多分辨率信号处理方法,可很好地应用于运动捕捉数据的编辑和重用。Unuma通过对运动数据进行Fourier级数展开和抽取性情参数,提出了用情绪控制运动角色的方法。 关键技术之三:角色造型技术 在制作角色动画过程中,三维几何造型和变形是一个重要而困难的问题。许多研究者在如何实现三维角色形状的再现和变形上做了极大的努力。一般来说,我们可以将它们的模型分为两个类别:曲面模型和层次模型。 曲面模型在概念上非常简单,它包含了一副骨架和外面的蒙皮。许多多边形平面片或样条曲面片构成了整个模型的蒙皮。这种模型存在的问题,一是需要输入大量的点,而这项工作通常是非常单调乏味的;另一个问题是难于控制关节处曲面的真实过渡形态,很容易产生奇异的和不规则的形状。 层次模型由骨架层、中间层(模拟肌肉、骨骼、脂肪组织等的物理行为)和皮肤层构成。由于人体的外观表现极大地受内部肌肉结构的影响,所以,层次模型是真实感角色动画最有前景的技术。考虑到运动学方程可有效地用来驱动骨架,因而,骨架层只起运动控制的作用,皮肤层才是可见的表面几何,而肌肉层是一个中间介质,它控制着由于骨架运动引起的肌肉收缩和伸张,进而产生皮肤表面的变形。分层方法的主要优点是:一旦建立了分层结构的动画角色模型,仅对骨架操作就可以生成逼真的动画。 基于三层模型的肌肉模型涉及到复杂的运动学计算和有限元分析计算,故计算量非常巨大,所以,有研究者提出采用自由变形技术(Free Form Deformation,FFD)来驱动皮肤表面几何的变形。20世纪80年代初,出现了一种被称为元球(Metaball)的全新造型技术。元球造型是一种隐曲面造型技术,采用具有等势场值的点集来定义曲面。使用元球造型可以模拟骨骼、肌肉和脂肪组织总的行为。这种方法简单直观,与隐式曲面、参数曲面和多边形曲面结合使用可以产生非常真实健壮的人体变形。