新-第8章-计算机动画技术.ppt

上传人:牧羊曲112 文档编号:6417910 上传时间:2023-10-29 格式:PPT 页数:44 大小:918KB
返回 下载 相关 举报
新-第8章-计算机动画技术.ppt_第1页
第1页 / 共44页
新-第8章-计算机动画技术.ppt_第2页
第2页 / 共44页
新-第8章-计算机动画技术.ppt_第3页
第3页 / 共44页
新-第8章-计算机动画技术.ppt_第4页
第4页 / 共44页
新-第8章-计算机动画技术.ppt_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《新-第8章-计算机动画技术.ppt》由会员分享,可在线阅读,更多相关《新-第8章-计算机动画技术.ppt(44页珍藏版)》请在三一办公上搜索。

1、计算机图形学,Computer Graphics,王汝传 黄海平 林巧民,教材:计算机图形学王汝传等 编著 人民邮电出版社,第八章 计算机动画技术,8.1计算机动画概述 计算机动画历史与现状 传统动画和计算机动画 计算机动画的研究内容 计算机动画的应用 8.2计算机动画的分类和原理 计算机动画的分类 计算机动画原理 8.3计算机动画的关键技术 旋转的四元数表示 碰撞检测技术 运动捕捉技术,8.1 计算机动画概述,动画的定义:就是一组连续的图像序列。当按一定的速率显示的时候,能传递一种运动的感觉。动画的技术要求:每一幅图像或者每一动画帧,都必须有机地、无缝地和其他的图像融合在一起,这样才能随着时

2、间的变化,产生平滑的、连续的运动。,一、计算机动画历史与现状 计算机动画技术可以看作计算机图形学的综合应用。包括图形生成(二维、三维)尤其是真实感图形生成技术。,计算机动画最初产生和发展与传统动画制作有着密切关系。(1)1963年,Bell实验室研究人员用计算机制作出了世界上第一部动画片。,计算机图形学与计算机动画不同,计算机动画属于四维空间(三维加上时间),而计算机图形学只限于三维空间。,(2)60年代期间,美国一些公司、研究机构和大学开发二维动画系统,用计算机实现中间画面制作(关键帧)和自动着色。(3)在70年代初期,开始研制三维辅助动画系统。,(4)70年代期间至80年代初,随着计算机图

3、形学理论发展,尤其三维物体造型的发展,人们开始研究计算机三维造型动画系统。(5)80年代,研究动画生成的关键参数插值法、运动学算法和动力学算法等。(6)80年代末进入90年代后,多种不同动画软件出现,如3DS,Animator等。,目前,随着计算机硬件性能价格比的快速提高和OpenGL、DirectX等图形标准的广泛应用,商用动画软件公司纷纷推出了动画软件的微机版本。如原来运行于工作站上价格昂贵的动画软件Alias|Wavefront、maya和softimage现在都已有了PC版本。随着PC 图形加速卡的性价比迅速提高,使得在基于PC的微机工作站上制作动画也能与在SGI工作站上一样得心应手。

4、当前,商业动画软件的功能越来越强,已经能够轻松制作出许多足以以假乱真的影视动画特技,这在侏罗纪公园、终结者等电影中都得到了淋漓尽致的展现,观众已很难区分哪些是计算机生成的动画,哪些是模型制作的效果。,传统动画片生产过程,1)剧本 不带画面的整个故事的详细叙述,反映动画片大致概貌与镜头的剧本,如同故事片一样。2)设计稿 对动画片中出现多种角色选型、动作、色彩、气氛等设计,实际上完成手稿图工作。3)声音节拍 动作必须与对话声音相配合、协调一致。4)关键帧 动画处理中关键帧(也称原画)由经验丰富的动画设计者完成,通常由一个设计者完成某个角色。,二、传统动画与计算机动画,5)中间画 中间画是那些位于两

5、个关键帧之间的画面,中间画一般由辅助动画设计者及其助手完成。6)测试 7)描线上墨,8)上色 给多幅画面在透明片上涂上颜料 9)检查 动画设计者在拍摄之前再次检查各镜头动作质量 10)拍摄 这一工序在动画摄制机上完成。动画摄影师把动画系统通过拍摄依次记录在胶片上 11)后期制作 编辑、剪接、对白、配音、剪带等后期制作工序是必不可少的,传统动画采用手工方法制作,精度差且效率低;计算机动画的实现,省去了繁杂的手工工序,使动画片的生产效率提高了许多倍。计算机动画立体感强,可以改变视角、视距、视野及景深,具有明暗光线变化和阴影,使物体产生不同灰度和颜色渐变以及逼真的光照,可以产生纹理质感,这些特点与效

6、果是传统手工动画难以实现或不可能实现的。,三、计算机动画研究内容 1、关键帧动画 2、基于机械学的动画和工业过程动画仿真 3、运动和路径的控制 4、动画语言与语义 5、基于智能的动画,机械人与动画 6、动画系统用户界面 7、科学可视化计算机动画表现 8、特技效果,合成演员 9、语言、音响合成,录制技术,四、计算机动画应用 1、电影电视动画片制作 2、商业电视广告 3、计算机辅助教学演示 4、飞行员模拟训练 5、游戏软件,应用前景:1、计算机动画与多媒体技术2、计算机动画与虚拟现实技术3、计算机动画与人工生命,96年涂晓媛博士研究出新一代计算机动画-“人工鱼”,8.2 计算机动画分类和原理一、计

7、算机动画的分类1、二维动画(卡通动画)传统卡通动画先画出两个关键帧,然后在中间插入一系列画,计算机二维动画则借助计算机来完成中间画的自动生成。,一、计算机动画分类2、三维动画 如果说二维动画对应于传统卡通动画,那么三维动画画则对应于木偶动画。木偶动画首先制作木偶、道具和场景,三维动画首先建立角色、实物和场景三维数据。三维动画具有很强的真实感和立体感。,一、计算机动画分类按照动画物体自身物理属性不同,三维动画也可分为:,1、刚体动画2、软体动画3、关节动画4、粒子动画,二、计算机动画原理1、关键帧动画 通过一组关键帧或关键参数值而得到中间动画帧序列:(1)形状插值:从关键帧本身而得到中间动画帧;

8、(2)关键参数插值:通过插值物体模型关键参数数值来获得中间动画。,1)运动学算法:由运动学方程确定物体运动轨迹和速率。2)动力学算法:由力学方程确定物体运动形式。3)反向运动学算法:已知物体末端位置和状态,反求运动方程以确定运动形式。4)反向动力学算法:已知物体末端位置和状态,反求动力学方程以确定运动形式。5)随机运动算法:在某些场合下加进运动控制随机因素。,2、算法动画 算法动画由算法实现,一般适用于三维情形。,算法动画是指按照物理或化学等自然规律对运动进行控制的方法、针对不同类型物体的运动方式,从简单的质点运动到复杂的涡流、有机分子碰撞等,一般按物体运动的复杂程度分为质点、刚体、可变软组织

9、、链接物、变化物等类型、也可以按解析式定义物体。用算法控制运动的过程包括:给定环境描述、环境中的物体造型、运动规律、计算机通过算法生成动画帧。目前针对刚体和链接物已开发了不少较成熟算法,对软组织和群体运动控制方面也做了不少工作。,2、算法动画,一、旋转的四元数表示 计算机动画中常需对物体或角色进行旋转操作。三维空间中的旋转可用:1、旋转矩阵 2、欧拉角 3、四元数(Quaternions)等数学形式来表示。,8.3 计算机动画的关键技术,一、旋转的四元数表示,四元数最早由Sir William Rowan Hamilton于1843年提出,从复数推广到四维空间而得,到1985年,Shoemak

10、e又把四元数引入到了计算机图形学中来。,四元数旋转表示具有这样的优点:一、计算简单;二、朝向插值较稳定而平滑;三、几何意义明了。此外,矢量代数,实数、复数和矢量都可以看作是四元数的特例,它们可以在一起统一进行运算。,一个四元数可以表示为:q=a+xi+yj+zk,其中i、j、k的关系如下:i2=j2=k2=-1 i*j=k=-j*i j*k=i=-k*j k*i=j=-i*k,一、旋转的四元数表示,也可以简化表示为:q=(W,V)=W+V,其中W=a,V=xi+yj+zk(实部W是一个标量,虚部V代表向量,i,j,k 称为虚轴),尽管V称为向量,但不要将其看成是典型的3D向量,它是4D空间的“

11、抽象”向量。,假设有两个四元数:q1=a1+x1 i+y1 j+z1 kq2=a2+x2 i+y2 j+z2 k四元数的加法定义如下:q1+q2=(W1,V1)+(W2,V2)=(W1+W2)+(V1+V2)=(a1+a2)+(x1+x2)i+(y1+y2)j+(z1+z2)k四元数的乘法定义如下:q1*q2=(W1,V1)*(W2,V2)=W1*W2-V1.V2+V1XV2+W1*V2+W2*V1=(a1*a2-x1*x2-y1*y2-z1*z2)+(a1*x2+x1*a2+y1*z2-z1*y2)i+(a1*y2-x1*z2+y1*a2+z1*x2)j+(a1*z2+x1*y2-y1*x2

12、+z1*a2)k其中V1.V2表示向量内积,V1XV2表示向量外积。,一、旋转的四元数表示,假设有一任意旋转轴的向量V(Xv,Yv,Zv)与一旋转角度,同时旋转方向满足右手规则,如下图所示:,可以将之转换为四元数形式:x=b*Xvy=b*Yvz=b*Zva=cos(/2)b=sin(/2),一个四元数对应空间中的一个轴以及绕该轴旋转的角度,这比旋转矩阵的固定轴方式要灵活得多,而复合旋转变换也可以通过四元数的乘积来表示,每一个四元数代表一次单独的旋转。,四元数优势:插值(Interpolation)运算。进行两个四元数的插值运算可以使程序计算出从同一个轴的一点到另一点的平滑且合理的路径,以产生较

13、为平滑的动画轨迹。旋转插值的基本思想:用四元数表示旋转,将旋转矩阵变换到四元数空间,然后在四元数空间进行插值,插值后的四元数再变回到三维空间并作用到物体上。假设动画设计师制作了一系列旋转的关键帧序列,那么每一帧可由单个旋转矩阵表示,这些矩阵序列先被转换为一系列四元数形式,再在关键帧四元数之间进行插值,产生一系列连续的四元数,最后再将它们转换回旋转矩阵。,采用什么方法来进行插值运算呢?,通常采取的方法是进行球面线性插值。需要特别指出的是:在对四元数如q1、q2进行球面线性插值时,应首先判断一下它们二者之间的夹角,当夹角90度时,则计算q1和-q2之间的球面线性插值,当夹角=90度时,则计算q1和

14、q2之间的球面线性插值(这相当于在两个方向间找寻最小的方向旋转),而判断两个方向间的夹角可以通过计算点积来实现。,二、碰撞检测技术 碰撞检测是计算机动画中需要解决的问题之一,它的核心任务是检测两个或多个物体彼此之间是否发生接触或进入。当前,三维几何模型越来越复杂,动画效果越来越逼真,同时人们对交互的实时性、场景的真实性的期望越来越高,这些都对碰撞检测技术提出了相应的要求。,8.3 计算机动画的关键技术,二、碰撞检测算法,算法分类:(1)基于时间域,可以分为静态、离散和连续的碰撞检测算法。(2)基于空间域,可以分为基于物体空间的碰撞检测算法和基于图象空间的碰撞检测算法。,基于物体空间的碰撞检测算

15、法,基于物体空间的碰撞检测算法又分:空间剖分法(space decomposition)层次包围体树法(hierarchical bounding volume trees),这两类方法都是通过尽可能减少进行精确求交的物体对或基本几何元素的个数来提高算法效率的。不同的是,空间剖分法采用对整个场景的层次剖分技术来实现,而层次包围体树法则是对场景中每个物体建构合理的层次包围体树来实现。,包围体技术,1976年由Clark提出。基本思想:用一个简单的几何形体(即包围体)将动画场景中复杂的几何物体围住,通过构造树状层次结构可以越来越逼近真实的物体。当对两个物体碰撞检测时,首先检查两者的包围体是否相交,

16、若不相交,则说明两个物体未相交,否则再进一步对两个物体作检测,因为包围体的求交算法比物体求交算法要简单的多,所以可以快速排除很多不相交的物体,从而大大加快和简化了碰撞检测算法。基于此,包围体的碰撞检测算法在很多动画系统中被广泛采用。,(1)可以灵活采用不同的包围体来权衡效率与精度这一对矛盾;(2)不论采用何种包围体,用于碰撞检测的代码结构是类似的;(3)可用一个简单的代价函数(Cost Function)对性能进行调整、计算和比较。,包围体技术特点:,基于层次包围体的碰撞检测算法根据包围体类型的不同可以区分为:1、包围球体2、AABB轴对齐包围体(Aligned Axis Bounding B

17、ox)3、OBB有向包围体(Oriented Bounding Box)4、k-dop包围体(Discrete Orientation Polytope)5、QuOSPO包围体(Quantized Orientation Slabs with Primary Orientations)6、凸块层次包围体7、混合层次包围体等等。,1包围球,包围球定义为包含物体的最小的球体。包围球的球心可以用物体顶点坐标的最大值和最小值的一半来确定。包围球间的相交测试比较简单。对于两个包围球(c1,r1)和(c2,r2),如果球心距离小于半径之和|c1-c2|r1+r2则两包围球相交。包围球的构造十分简单,而且存

18、储一个包围球所占的内存也很小。包围球适合于长宽高相差不多的物体,且物体频繁发生旋转的情况,因为无论物体如何旋转包围球都不需要再次更新。但是对于长条形的物体,包围球的紧密性很差,建构物体层次树时会产生较多的节点,导致大量冗余的包围体之间的求交计算,因此,除非物体大量旋转的情况之外,现在的动画或者游戏当中几乎不会使用该方法。,2AABB包围体,AABB(Aligned Axis Bounding Box)其实是沿坐标轴的包围体,它是包含几何对象且各边平行于坐标轴的最小六面体。构造时根据物体的形状和状态取得坐标X,Y,Z方向上的最大最小值就能确定包围体最高和最低的边界点。检测两个AABB包围体是否相

19、交非常简单,只要利用投影法:当且仅当三个坐标轴上的投影均重叠,两个AABB包围体才相交。只要存在一个方向上的投影不重叠,那么它们就不相交。所以检测两个AABB包围体是否相交最多只需要6次比较运算。,AABB包围体具有建构简单快速、相交测试简单、内存开销少的优点,能较好地适应可变形物体实时更新层次树的需要,但AABB也存在包围物体不够紧密,在一些情况时将出现较大的空隙,从而导致层次二叉树的节点冗余,对碰撞检测效率有较大影响。为此,Bergen提出了一种有效的改进算法。该算法采用分离轴定理(Separate Axis Theorem)加快AABB包围体之间的相交检测,同时又利用AABB局部坐标轴不

20、发生变化的特性加速AABB树之间的碰撞检测。他的算法与Gottschalk等提出的采用OBB树的碰撞检测算法相比,计算性能上已经相差不大,故在精度要求不是很高的动画创作系统中常会被采用。,2AABB包围体,3OBB有向包围体,OBB(Oriented Bounding Box)方向包围体是由Gottschalk等于1996年提出的,定义为包含几何对象且相对于坐标轴方向任意的最小长方体。OBB的构造稍微复杂一些,关键在于包围盒最佳方向的确定,最佳方向必须保证在该方向上包围体的体积最小。OBB包围体的优点是方向任意,紧密性好,能很好降低进行相交检测包围体的数目,在一定程度上提高了算法的效率。缺点是

21、计算方法比较复杂,不能有效地处理软体变形等情况,而且相交测试也相对复杂,并且无法用来判断两三角面片之间的距离,只能得到二者的相交结果,一般只适用于处理两个物体之间的碰撞检测。,4k-dop包围体,一个k-DOP是一个凸多面体,各个面由k个固定的法向确定,其中法向以外的半空间不作为包围体一部分来考虑。AABB实际上是一个特殊的6-DOP,当k值增大时,包围体越来越接近凸包,从而更接近物体。Klosowski等指出,对于适当的k值,两个k-DOP相交测试速度要比两个OBB的相交测试速度快一个数量级。,基于层次包围体的算法性能受两个方面影响:1、包围体包围物体的紧密程度;2、包围体之间的相交检测速度

22、。包围体包围物体的紧密度影响层次树的节点个数,节点个数越少在遍历检测中包围体检测次数也就越少。OBB和k-dop能相对更紧密地包围物体,但建构它们的代价太大,对有变形物体的场景往往无法实时更新层次树。AABB和包围球包围物体不够紧密,但它们层次树更新快,可用于进行变形物体的碰撞检测。在包围体相交检测的速度方面AABB和包围球具有明显优势,OBB和k-dop则需要更多的时间。,包围体技术:,三、运动捕捉技术 运动捕捉(Motion Capture)是指通过利用专门的传感器设备测量、跟踪并记录真实人体(或其他物体)在三维空间中的关键运动轨迹,并将其转化为抽象的数字化运动数据,然后利用这些数据来驱动

23、虚拟的动画角色,以重现原来的表演动作。如下图所示。,8.3 计算机动画的关键技术,运动捕捉技术,利用运动捕捉技术实现的计算机动画能够比较真实和自然地表现现实世界中的物体运动特征,并能有效表达演员们的个性化表演特点,因而被公认为是高效获取高质量动作数据的有效方法之一,并已成为目前三维动画制作的强有力的辅助工具。典型的运动捕捉设备由:传感器 信号捕捉设备 数据传输设备 数据处理设备 等组成。,根据所采用原理不同,目前运动捕捉系统大致可分为:光学式 电磁式 声学式 机械式,运动捕捉技术,另外,运动捕捉系统需要将已捕捉到的运动数据进行存储,不同的系统采用的数据文件格式是不同的。目前,常见的运动捕捉数据

24、格式有:BVA、BVH、HTR、TRC、AOA以及ASF/AMC等。在获取到运动捕捉的动作数据之后,用户可以对其进行编辑、修改等处理,或者就直接将其导入3DS MAX、MAYA、MOTION BUILDER、SOFTIMAGE XSI等3D软件中与角色模型进行绑定,驱动角色作出动作,形成特定的骨骼动画(第九章有相关实例)。这种复用动作数据的动画制作手段极大地提高了动画创作效率。大连北星动漫游制作的动画片快乐教室、青岛灵境数码制作的动画片阿凡提、北京中视桥推出的动画片鸵鸟拉非以及国外电影大片金刚、星球大战、泰坦尼克、角斗士、极地特快等都运用了动作捕捉技术。,运动捕捉技术,课后习题 1、5、8、10,习题,谢谢大家!,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号