(计算机应用技术专业论文)三维环境下的角色动作规划.pdf_第1页
(计算机应用技术专业论文)三维环境下的角色动作规划.pdf_第2页
(计算机应用技术专业论文)三维环境下的角色动作规划.pdf_第3页
(计算机应用技术专业论文)三维环境下的角色动作规划.pdf_第4页
(计算机应用技术专业论文)三维环境下的角色动作规划.pdf_第5页
已阅读5页,还剩62页未读, 继续免费阅读

(计算机应用技术专业论文)三维环境下的角色动作规划.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 摘要 动画是图形引擎中的一个核心技术,动画控制分为很多方面内容,其中智能 角色行为控制是最为复杂的模块。个体的智能需要结合对环境的认知以及自身所 具备的知识,在此基础上还需要通过行为规划和路径规划,以及个体运动模型和 物理模型,才能控制角色产生反应动作行为。基于目前简单的关键帧控制或者动 作捕捉数据播放,很难实现复杂行为控制。本文研究的目标是,通过结合动画混 合、物理引擎等技术的三维环境角色动作规划研究,提高角色动画真实感,最后 提出一个实现方案的框架。 本文首先对角色动画技术和动作控制技术进行了介绍,并通过分析它们的优 缺点指出了研究结合动力学技术的角色动画的必要性。文章对动力学动画中的物 理引擎使用问题进行了总结,包括物理模型在动力学角色动画技术中的地位以及 物理交互环境的建立。接下来,文章介绍了动力学动画的核心技术:动力学人体 模型的建立。具体技术包括:模型的骨骼、关节设定;肌肉的模拟方法;模型的 动力学约束问题。 本文的研究基于8 6 3 项目:网络游戏公共技术平台关键技术研究 ( n o 2 0 0 5 a a l l 4 0 8 0 ) 。该项目最终完成了一个以图形引擎为主,集成音效和物理 引擎的场景编辑器。其中,编辑器的角色动画模块实现了骨骼蒙皮动画、动画混 合技术、行走物理模型、a j 规划等功能。最后在场景编辑器中完成了一个用于动 作规划展示的老虎追小鹿场景。在这一场景中,融合了群体行为、动画混合、结 合物理模型的角色动画、角色动作规划等多方面技术,实现了逼真的行为模拟。 本文研究的主要技术包括:动画混合、正向反向运动学、物理交互、人体动 力学研究。 关键词:角色动画;运动学;动画混合;动力学模拟; a b s t r a c t a n i m a t i o ni so n eo ft h ek e yt e c h n o l o g i e si nt h eg r a p h i ce n g i n e ,i nt h ea n i m a t i o n c o n t r o ld o m a i n , t h em o s tc o m p l e xp a r ti st h em o t i o nc o n t r o lo fi n t e l l i g e n c ec h a r a c t e r t h ei n t e l l i g e n c eo fi n d i v i d u a lc h a r a c t e rb a s e do nb e t he n v i r o n m e n t sa w a r e n e s sa n d s e l f - k n o w l e d g e , i na d d i t i o n ,m o t i o nm a n a g e m e n t ,p a t hm a n a g e m e n t ,c h a r a c t e rm o t i o n m o d u l e , c h a r a c t e r sp h y s i c sm o d e la r ea l s on e e d e dt oc o n t r o la n i m a t i o nc h a r a c t e r p r o d u c er e a c t i v eb e h a v i o r a st h es i m p l ek e y - f r a m ea n i m a t i o na n dm o t i o nc a p t u r ed a t a i sh a r dt oh a n d l ec o m p l e xm o t i o nc o n t r 0 1 t h et a r g e to f t h i sa r t i c l ei st h r o u g hr e s e a r c h a n i m a t i o nb l e n d ,p h y s i c se n g i n ea n dm o t i o nm a n a g e m e n ti n3 de n v i r o n m e n t , i nt h e e n d ,g i v e saf r a m e w o r kt oi m p l e m e n tt h o s et e c h n o l o g i e s ,i m p r o v et h er e a l i s r d a n i m a t i o n i nt h i sa r t i c l c if i r s ti n t r o d u c e dt h ec h a r a c t e ra n i m a t i o na n dm o t i o nc o n t r o l t e c h n o l o g i e s ;b ya n a l y s i st h e i ra d v a n t a g ea n dd i s a d v a n t a g e , w ec a nf i g u r eo u tw h yt h e r e s e a r c ho fd y n a m i cc h a r a c t e ra n i m a t i o ni sn e c e s s a r y a f t e rt h i s ,is u m m a r i z e dt h e u s a g e so f p h y s i c se n g i n ei nd y n a m i ca n i m a t i o n , i n c l u d ei t sp a r ti nd y n a m i ce n g i n ea n d e s t a b l i s ho ft h ei n t e r a c t i v ep h y s i c se n v i r o n m e n t t h e n ,id i s c u s s e dt h ec e n t e ro f d y n a m i ca n i m a t i o n :s e tu pd y n a m i cb e d ym o d e l ,i n c l u d e :s k e l e t o n ,j o i n t ,m u s c l ea n d d y n a m i cc o n s t r a i n t t h er e s e a r c ho ft h i sa r t i c l ei sb a s eo n8 6 3p r o j e c t :m a s s i v em u l t i p l a y e ro n l i n e g a m e ( m m o o ) d e v e l o p m e n tp l a t f o r mk e yr e s e a r c h ( n o 2 0 0 5 a a l1 4 0 8 0 ) i nt h i s p r o j e c t ,w ea c c o m p l i s h e dam a pe d i t o rw h i c hm a k eu po fg r a p h i ce n g i n e , s o u n de n g i n e a n dp h y s i c se n g i n e i nt h ea n i m a t i o nm o d u l eo ft h i se d i t o r , w ei m p l e m e n tt h e t e c h n o l o g i e so fs k e l e t o na n i m a t i o n , a n i m a t i o nb l e n d ,p h 3 ,s i c sm o d e lo fw a l k i n g , a i m a n a g e m e n t , e t c i nt h ee n d ,w ea c c o m p l i s h e dat i g e rc h a s ed e e rs c e n ei nt h i se d i t o rt o s h o wt h em o t i o nm a n a g e m e n tw em a d e t h et e c h n o l o g i e su s e di nt h i ss c e l l ei n c l u d e : g r o u pb e h a v i o r , a n i m a t i o nb l e n d , a n i m a t i o nb a s e do np h y s i c sm o d e l ,c h a r a c t e rm o t i o n m a n a g e m e n t ,a n dt h eo u t c o m em o t i o ni sq u i t er e a l i s m t h em a i nt e c h n o l o g i 韶i nt h i sa r t i c l ei n c l u d e :a n i m a 矗o nb l e n d f o r w a r d i n v e r s e k i n e m a t i c s ,p h y s i c si n t e r a c t i v e , h u m a n o i dd y n a m i c k e yw o r d s :a n i m a t i o n ;k i n e m a t i c s ;a n i m a t i o nb l e n d ;d y n a m i cs i m u l a t i o n ; i i i 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均己在论文中作了明 确的说明并表示谢意。 签名:盟日期:p 7 年5m 7 日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘厂允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:望苎垄导师签名: 1 3 期:2 一7叠阻年岁月2 7 日 第一章绪论 1 1 课题背景和研究意义 第一章绪论 计算机动画类产业被称为2 l 世纪知识经济的核心产业,是继r r 产业后又一 个经济增长点。统计显示,2 0 0 4 年全球游戏、动画业相关衍生产品产值在5 0 0 0 亿美元以上。动画类产业主要包括动漫产业和数字影视以及游戏等领域的动画应 用。在美国,每年的动漫产品和衍生产品产值达5 0 多亿美元;在日本,动漫早己 与娱乐一起成为国内经济文化的主流,年营业额超过9 0 亿美元,是目前全球动漫 产量最大的国家;即便是后起之秀的韩国,其动漫业产值也仅次于美国和日本, 生产量占全球的3 0 ,已成为韩国国民经济的六大支柱产业之一。我国的动漫产 业与发达国家相比,存在巨大的差距,正因为如此,这为投资动漫产业提供了广 阔的发展空间。据中国动漫协会预测,2 0 0 5 年,中国动漫产业估计有1 8 0 亿元的 产值。2 0 0 5 年,全国动画片产量已达到4 万多分钟,创造了历史最高纪录,是前 5 年来平均量的两倍,然而市场需求却在2 6 8 万分钟,巨大的实际需求缺口意味 着无限的商机。而在数字影视方面,创造高票房的泰坦尼克号、侏罗纪公 园、黑客帝国、终结者、指环王等,无一不是借助了数字技术,给 观众带来前所未有的视觉震撼。在美国,2 0 0 1 年由畅销童话改编的电脑动画 怪物史瑞克及其相关影像产品的销售获得了近9 亿美元的收益;在日本, 媒体艺术、电子游戏、动漫卡通等作品已经领先世晃,2 0 0 2 年市场规模达到 了1 6 4 亿美元,成为日本的第二大产业:在韩国,数字内容产业已经超过汽 车产业成为第一大产业,其网络游戏已经占据我国超过7 5 的市场。据韩国 数字内容白皮书报告预测,2 0 0 6 年,全球使用动画游戏软件的人数将达1 0 1 4 亿人,而动画游戏软件产业总产值将是现在的6 倍,占全球软件业总产值的 3 0 。【1 】 作为动画类产业核心的角色动画制作,目前正处于高速的变革期。三维 动画大量取代二维动画,传统的关键帧动画创作方式被交互式、动力学。物 理模拟等新手段取代。在这样的形势下,面对巨大的市场空间与成长机会, 为了提升我国数字媒体产业的竞争力,进而确立我国在这一产业中的国际地 位。国家大力推动了数字媒体相关的研究项目。本文描述的系统就是在以下 电子科技大学硕士学位论文 两个8 6 3 项目中完成的: 国家高技术研究发展计划( 8 6 3 计划) 网络游戏公共技术平台关键技术研 究( n o 2 0 0 5 a a l l 4 0 8 0 ) ,该项目的主要任务为进行大型实时网络三维游 戏引擎设计,整合网络,图形,物理,a i 和游戏逻辑,音效等功能模块, 并开发以场景编辑器为主的数字内容创作工具。最终实现了多通道大视景 的大型室外场景实时模拟。 国家高技术研究发展计划( 8 6 3 计划) 数字媒体公共技术平台研发 ( n o 2 0 0 5 a a l l 4 0 3 0 ) ,该项目的主要任务为研究数字媒体创作中的若干 关键技术。实现一个统一的数字媒体技术开发公共平台。主要涉及实时计 算机图形学高级算法、网络以及大规模软件工程。 在项目的研究中,作者实践了动画混合、基本的动作规划等角色动画技 术,并在此基础上,对交互式角色动画为中心的三维动作规划进行了进一步 的思考。 1 2 国内外研究现状 1 2 1 基本角色动画技术 基本的角色动画技术主要有两种,关键帧动画与动作捕捉技术。 在动画应用方面,最早出现的是关键帧插值动画。关键帧的概念来源于传统 的卡通片制作。在早期w a l td i s n e y 的制作室,熟练的动画师设计卡通片中的关键 画面,也即所谓的关键帧,然后由一般的动画师设计中间帧。在三维计算机动画 中,中间帧的生成由计算机来完成,插值代替了设计中间帧的动画师。所有影响 画面图像的参数都可成为关键帧的参数,如位置、旋转角、纹理的参数等。关键 帧技术是计算机动画中最基本的方法。关键帧插值问题可归结为参数插值问题, 传统的插值方法都可应用到关键帧方法中。但关键帧插值又与纯数学的插值不同, 它有其特殊性。一个好的关键帧插值方法必须能够产生逼真的运动效果并能给用 户提供方便有效的控制手段。一个特定的运动从空间轨迹来看可能是正确的,但 从运动学或动画设计来看可能是错误的或者不合适的。用户必须能够控制运动的 运动学特性,即通过调整插值函数来改变运动的速度和加速度。关键帧插值系统 中要解决的另一个问题是物体朝向的插值问题。物体的朝向一般可由欧拉角来表 示,因此朝向的插值问题可简单地转化为三个欧拉角的插值问题。但欧拉角表示 又有它的局限性。因为旋转矩阵是不可交换的,基于欧拉角的旋转一定要按某个 2 第一章绪论 特定的次序进行;此外,等量的欧拉角变化不一定引起等量的旋转变化,从而导 致旋转的不均匀;欧拉角还有可能导致自由度的丧失,即所谓的”g i m b l el o c k ”现 象。关键帧插值动画生成简单,并可以准确控制动作,但产生过程不直观,创建 出生动的复杂动作需要丰富的实践经验,并且生成的动画难于实时改变,主要适 合于简单动作的生成。 动作捕捉技术是现在运用得最广泛动画技术【3 1 。用于动画制作的运动捕捉技 术的出现可以追溯到2 0 世纪7 0 年代,迪斯尼公司曾试图通过捕捉演员的动作以 改进动画制作效果。此后,运动捕捉技术吸引了越来越多的研究人员和开发商的 目光,并从试用性研究逐步走向了实用化。1 9 8 8 年,s g i 公司开发了可捕捉人头 部运动和表情的系统。随着计算机软硬件技术的飞速发展和动画制作要求的提高, 目前已经有多家厂商相继推出了多种商品化的运动捕捉设备,如v i c o n 、p o l h e m u s 、 s e g ai n t e r a c t i v e 、m a c 、x - i s t 、f i l m b o x 、m o t i o n a n a l y s i s 等,其应用领域也远远 超出了表演动画,并成功地用于虚拟现实、游戏、人体工程学研究、模拟训练、 生物力学研究等许多方面。到目前为止,常用的运动捕捉技术从原理上说可分为 机械式、声学式、电磁式和光学式。同时,不依赖于专用传感器,而直接识别人 体特征的运动捕捉技术也将很快走向实用。不同原理的设备各有其优缺点,一般 可从以下几个方面进行评价:定位精度;实时性;使用方便程度;可捕捉运动范 围大小:成本;抗干扰性;多目标捕捉能力。从技术的角度来说,运动捕捉的实 质就是要测量、跟踪、记录物体在三维空间中的运动轨迹。典型的运动捕捉设备 一般由以下几个部分组成:传感器、信号捕捉设备、数据传输设备、数据处理设 备。动作捕捉的优点是动画的生成简单,并且动作生动逼真,但动作捕捉的数据 量较大,也需要前期设备投入,而且生成的动画无法实时改变。 1 2 2 复杂角色动画技术 传统的角色动画技术最大的缺点就是,动画缺乏继承修改性,创作往往只能 针对某个特定的要求。目前新的角色动画技术可以分为两大类,对传统技术的发 展以及基于动力学的技术。 对传统技术的发展主要是针对动作捕捉技术,就角色动画的逼真程度来看, 传统的动作捕捉技术依然是目前最好的选择,但它的花费较高,而且数据缺乏复 用性,难以编辑。在基于动作捕捉的动画技术中,主要技术点有运动编辑、运动 重定向等方面。运动编辑是指在满足约束条件的前提下对原有的运动数据进行修 改、增删、变形、连接等操作,使编辑后的运动数据适合新的三维虚拟环境。运 3 电子科技大学硕士学位论文 动编辑的方法主要包括:动作图、信号处理方法、运动数据的统计建模。 动作图( m o t i o ng r a p h s ) 技术【2 】的原理是,通过分析动作捕捉数据库,得到 一幅描述各个动作之间转换关系的有向概率转移图,然后生成这些动作间的过渡 数据,在需要时搜索此有向图,得到相应的动作序列,把无序的动作片段连接成 有机的整体运动。动作图的产生是通过分析动作捕捉数据,把每个独立动作中的 相似帧提取出来作为动作图的节点,节点间的过渡用l e r p 或s l e r p 的方法自动 生成。在使用时,通过构造动作图和搜索的约束函数来得到姿态逼真且变化多样 的动画动作。 信号处理方法把运动数据作为采集到的运动信号通过小波分析和傅立叶变换 等算法提取运动特征,控制高频和低频信号以改变运动属性,根据运动特征进行 运动合成,生成具有感情色彩和个人风格的个性化人体运动。 运动数据的统计建模采用p c a 等统计建模方法对运动数据进行分析,对高维 运动数据进行压缩降维,提取运动数据特征、统计模型、高层运动参数等,通过 调整这些参数来从上层修改运动数据。 运动重定向技术( m o t i o n r e t a r g e t i n g ) 可以使用动作捕捉数据驱动具有一定相 似性的三维模型,同时保持原有的运动特征。而未经过重定向处理的动作捕捉数 据只能直接驱动那些与动作捕捉对象具有相同拓扑结构和肢体长度的模型,如果 模型的拓扑结构或肢体长度比例发生变化,则必须先对原动作数据进行重定向处 理后,才能用于驱动新三维角色模型。运动重定向技术的优势不仅在于能够充分 利用已有数据,扩大捕捉的动作数据的适用范围,对于那些无法捕捉到的高难度 动作,还能依次通过运动编辑和运动重定向,将高难度动作逼真表现出来,生成 高质量的角色动画。 角色动画目前最大的热点则是动力学技术中的动力学动作合成技术( d y n a m i c m o t i o ns y n t h e s i s ) 。这种方法与以往最大的不同在于,动画不再是由一段预先设置 的场景组成,而是由动力学模拟的角色按照设定的规则自动产生动画,动画的表 现事先并不完全确定。在动画的动作真实感和编辑修改方面,动力学动作合成技 术比起以往的动画生成方法有无可比拟的优势。目前,动画业的需求飞速增长, 传统的关键帧动画生产速度已经渐渐赶不上需求,动力学动作合成技术把动画生 产的要素从以往的手工劳动转换到了计算机的模拟计算上。结合目前c p u 等计算 机配件的高速发展,动力学动作技术合成完善后将极大的改变动画产业的现状。 由于建立完美的动力学模型这一目标很难达到,目前的研究一面进一步深入角色 模型建立和动力学约束方法,另一方面则在传统动画基础上把动力学要素作为修 4 第一章绪论 饰,使用折中的方式来缓解目前的需求。一些关于动力学动作合成技术的新观点 可以参掣1 4 1 1 5 1 【1 q 等文献。 1 3 本文的主要工作与创新点 在本文中,首先对目前的三维角色动画技术进行了总结与比较。并阐述了发 展新的角色动画技术的原因与必要性。接下来对动作规划技术进行了总结,以使 用物理技术的交互式角色动画为中心,详细介绍了相关的技术,包括:常用的动 作控制方法、物理引擎在角色动画中的运用方式、交互物理环境的实现、人体的 动力学模拟方法。其中的重点是对人体的动力学模拟方法进行总结,具体的介绍 了人体的结构分析与模拟、肌肉的模拟方法、动作的动力学约束方面。 接下来,作者结合以上的技术提出了一个交互式角色动画的软件设计方案, 介绍了其应用的原理和设计结构以及具体的核心面向对象类的设计。最后,本文 结合项目的实践情况,介绍了在项目中实验的基本动画混合实现方案:一个用于 模拟行走的简易物理模型以及融合这些技术的老虎追小鹿动作规划实验。 本文的主要创新点在于:针对一些对物理特性要求不高的交互式角色动画应 用场合,提出了一个主要用于表现逼真行走动作的物理模型。与物理角色动画技 术中常用的骨骼物理模型相比,这种简易模型针对具体的应用而设计,在结构上 大大简化,不需要复杂的动力学知识便可以很容易利用一般的物理引擎实现和操 作。 1 4 论文的章节安排 第一章是全文的绪论,分析了角色动画技术在目前的数字媒体产业中的重要 地位,并概括的介绍了基本角色动画技术与新的复杂角色动画技术研究方向。最 后,介绍了本文的整体结构与进行的工作。 第二章介绍了角色动画技术中通用的一些动作控制技术。包括利用有限关键 帧动画创建具有丰富多变表现动画的动画混合技术以及基础的前向反向动力学 控制方法。 第三章首先简要介绍了一下物理引擎的概念,然后概括的介绍了在角色动画 技术中物理引擎的应用场合以及目前的一些研究成果,并对使用物理引擎技术的 角色动画其优缺点进行了分析。接下来,归纳了创建交互式物理环境的各个要素 以及其两种实现方式:自动生成与手动建立。最后简单的介绍了利用物理引擎技 电子科技大学硕士学位论文 术实现人体骨骼动画的概念。 在第四章中,承接上一章最后介绍的基于物理人体骨骼动画,介绍了其相关 的各方面技术。首先,对人体的结构进行了分析,提出了人体骨骼的简化、设定 方法,对其中主要的难点:骨骼关节的设定方法进行了总结。接下来,对目前人 体物理模拟的主要研究方向,人体的肌肉模型进行了介绍与总结。最后,介绍了 在人体物理模型应用中的动作动力学约束概念。 第五章结合以上的各章内容,介绍了一个交互式角色动画的软件设计构想, 首先阐述了在具体的项目实践中对角色动画技术的实验工作,主要包括基本动作 混合技术的实践、一个用于模拟行走的物理模型结构以及融合这些技术的老虎追 小鹿动作规划实验。接下来,文章介绍了方案的原理和使用的控制理论,最后介 绍了设想方案的核心面向对象类设计。 最后,在第六章,对全文的工作做出了系统全面的总结,并对今后需要进一 步深入研究的方向和角色动画的发展前景做了展望。 6 第二章动作控制技术 2 1 动画混合技术 第二章动作控制技术 动画混合的基本思想是,针对以往模型动画由单一序列控制的情况,同时对 一个模型施加多个不同权值的动画序列影响,让多个动画的关键帧变换矩阵按权 值相乘叠加后产生新的关键帧变换矩阵。 2 1 1 动画混合技术的优点 与单一的动画序列相比,动画混合技术有以下的优点。首先,利用动画混合 可以产生大量难以直接调整出来的动作,透过插入两段或更多的关键帧动画,可 以产生无穷的独特姿势。例如,在以前的游戏中,角色的移动往往是对应一段单 独的移动动画,在角色移动的时候调用播放,这样就有可能出现角色移动速度与 运动动画不协调的失真情况。运用动画混合技术,可以准备角色奔跑和停止两个 状态的动画,然后在两个动画之间调整不同的权值产生出对应各个移动速度的动 画。例如,半速移动表示启用了权重各为5 0 的停止动画和奔跑动画。动画混合 的第二种用途,是创造不同动作间的流畅切换。如果游戏中人物正在奔跑,然后 被子弹击中,他必须倒在地上。但是,直接把移动动画切换为倒下动画会产生图 像“跳跃”而失真。所以,实现中,运用动画混合可以在人物中弹的那一瞬间冻 结人物的奔跑姿势,然后混合倒地的动画,使奔跑的动画在一段时间里权值从 1 0 0 逐渐降到0 ,而倒地动画的权值同步的从0 提升到1 0 0 ,从而产生观感 自然的角色行为。最后,动画混合也可以用来实现动作的叠加。例如在行走的动 画中加入挥手的动作。 2 1 2 动画混合技术的实现 以下是在d 3 d 环境下动画混合的一个例子。在动画控制器里面有几个轨迹, 一般情况下播放的动画都是将动画序列放在第一个轨迹,也就是t r a c k 0 上播放。 利用动画混合的方法就是将几段不同的动画序列分别与不同的轨迹绑定,然后启 用动画控制器将他们混合在一起播放出来,从而完成动画混合的效果。 首先,必须将动画轨迹激活,也就是启用某个动画轨迹,利用下面的方法来 启用,本程序中的a n i m a t i o n c o n t r o l l e r 类是继承的i d 3 d x a n i m a f i o n c o n t r o l l e r 。 7 电子科技大学硕士学位论文 h r e s u l ta n i m a t i o n c o n t r o l l e r :s e t t r a c k e n a b l e ( u i n tt r a c k , b o o l e n a b l e 设置为t r u e 表示启用,f a l s e 表示关闭 ) ; 然后,在启用一个动画轨迹之后需要定义该轨迹的播放速度,这里定义一个 设置播放速度的函数: h r e s u l t a n l r n a t i o n c o n t r o l l e r :s e t t r a c k s p e e d ( u n i tt r a c k , f l o a ts p e e d , ) ; 通常,轨迹的播放速度设置为l ,然而,为了实现快速播放和慢速播放的特 殊效果,可以将播放速度设置为大于1 或者小于l 的值。 接下来需要设置的是动画混合中最重要的参数,也就是每个轨迹播在播放动 画的时候所占的混合权重,其中轨迹中的动画序列所占的权重越大,最终的播放 动画就越倾向于这段动画效果,实现中利用自定义的函数来设置,其接口参数非 常简单,如下所示: h r e s u i ta n i m a t i o n c o n t r o l l e r :s e t t r a e k w e i g h t ( u i n tt r a c k , f l o a t w e i g h t ) ; 在设置轨迹所占的权重的时候需要将几段轨迹的权值之和为l ,否则动画会 变得是扭曲的或者不可预测的。在设定轨迹的权值的时候提供了动画混合优先级 参数的设置。通过设置优先级,混合过程中,先将优先级高的轨迹混合在一起, 然后将优先级低的混合在一起,最终将两个已经混合的结果混合在一起产生输出 结果,设置函数接口如下: h r e s u i ta n i m a t i o n c o n t r o l l e r :s e t t r a c k p r i o r i t y ( u i n tt r a c k , d 3 d x p r i o r 矾3 喂ep r i o r i t y ) ; 下面给出一个将角色慢跑和挥手动作混合在一起的程序代码: v o i db l e n d s k i r m e d m e s h :p l a y j o g w a v e b l e n d 0 a n i m a t i o n s e t 4j o g = o : 第二章动作控制技术 a n i m a t i o n s e t * w a v e = 0 : _ a n i m a c t r l - g e t a n i m a t i o n s e t ( j o g _ i n d e x ,& j o 曲; _ a n i m a c t r l 一 g e t a n i m a t i o n s e t ( w a v e _ l n d e x , & w a v e ) ; a n i m a c t r l - s e t t r a e k a n i m a t i o n s e t ( 0 , j o g ) ; ,_aaimactrl-settrackanimationset0w a v e ) ; _ a n i m a c t r l - s e t t r a c k w e i g h t ( 0 ,0 4 0 ; _ a n l m a c t r l - s e t t r a c k w e i g h t ( 1 ,0 6 0 ; 一 t r u e ) ; a m m a c t r l 一 s e t t r a c k e n a b l e ( 1 ,t r u e ) ; _ a n i m a c t r l - s e t t r a c k s p e e d ( 0 ,1 0 0 ; _ a a i m a c t r l - s e t t r a c k s p e e d ( 1 ,1 0 0 ; _ a n i m a c t d - s e t t r a c k p d o d t y ( 0 ,d 3 d x p r i o r i t y _ h i g h ) ; _ a n i m a c t r l - s e t t r a c k p r i o r i t y ( 1 ,d 3 d x p r i o r i t yh i g h ) ; _ a n i m a c t d - r e s e t t i m e 0 ; ) 2 2 正向反向运动学 骨骼蒙皮动画技术是到目前为止使用最为广泛的实时角色动画技术,它的核 心思想是用一系列的骨骼带动一张皮肤来产生动画,实现的方法是用一个已定义 的角色模型的骨骼序列驱动这个角色模型的网格以产生动画。传统的骨骼动画都 是基于运动学技术( k i n e m a t i c s ) 的,运动学是描述人体运动的学科,它只讨论运 动本身的细节,而不涉及产生运动的原因( 内力和外力) 。基于运动学的模型是指 物体的运动独立于产生运动的力,其参数包括物体的位置、速度和加速度。可以 说,这种基于运动学模型的动画技术生成的运动是虚拟的,它并不能完全反映物 体的真实运动,除非用户给定的关键参数及所采取的插值模式恰好符合物体的动 力学特性。在基于骨骼的角色动画中,驱动骨骼产生动画的运动学方法主要包括 两种基本技术,正向运动学( f o r w a r dk i n e m a t i c s ,f k ) 和反向运动学 ( i n v e r s ek i n e m a t i c s ,) 。下边简要介绍一下这两种方法。 9 电子科技大学硕士学位论文 2 2 1 正向运动学 正向运动学 4 1 的原理很简单,对应骨骼的继承关系,为了设置骨骼的运动产 生动画,从应改变的关节链最底层开始,首先旋转父关节,然后是下一个关节, 顺着关节链依次进行,直到产生所需的骨骼姿势。使用前向动力学定位时,直接 移动和旋转关节即可,注意对关节的操作将影响该关节和它层次以下的子关节。 下边介绍一个关节使用正向运动学控制的具体例子: o x = ( x y ) 图2 1 正向运动学关节 动画设计者设定关节角毋与它的子关节角度只,计算机便可以由下边公式得 出末端受动器( e n d e f f e c t o r ) 的位置。 z = ( c o s o , + 之c o s ( e i + 岛) ,s i n b + 之s i n ( q + 岛) ) 除了x 的位置以外,设置动画还需要关节变换矩阵对应的时间间隔信息。时 间信息可以用两种方式得到:在关节旋转角速度规则的情况下,可以使用初始角 度日( o ) 、岛( 0 ) 与相应的角速度变化函数警、孥来得到:而在转动速度不规则 “ 的场合则可以用函数曲线来表示角度与时间的关系,如下图: 图2 - 2 关节角速度时间曲线 在需要设置细致的圆弧运动或者达到某一特定姿势等情况时,使用正向运动 学是一个理想的方法。但是,用正向运动学处理巨大的、复杂的骨骼动作将花费 大量的时间。另外,正向运动学的动画生成过程很不直观,需要动画师具有相当 1 0 第二章动作控制技术 的经验。 2 2 2 反向运动学 与正向运动学的操作过程相反,在反向运动学【5 】【6 l 中,可基于关节链要达到 的位置来定位关节链。反向运动学对于创建直接目标运动比正向运动学更加直观, 可将精力集中在关节链要达到目标上,而不必考虑每个关节如何旋转。然而,与 正向运动学不同,反向运动学需要使用特殊的工具去定位关节产生动画。这些工 具称为i k 手柄和解算器。例如,要做一个伸手摘苹果的动作,正向运动学需 要首先旋转上臂,然后是前臂,最后旋转手掌让它接触苹果,整个过程往往需要 反复的调整以达到自然的姿势。而用反向运动学,动画师只用指定手掌移动到苹 果的位置即可,上臂、前臂等各个关节的旋转信息会由相应的i k 手柄和解算 器自动算出并实现。 手柄像一条矢量线,贯穿受影响的关节。这些受影响的关节就叫链, 手柄控制的起点称为开始关节,控制的最后关节称为终关节,用一个动作定 位整个关节链。 图2 - 3i k 手柄示意图( 图中白色部分) 手柄的终点,被放置在终关节处,即末端受动器,因为它帮助带来关于 手柄如何旋转关节链中的关节的信息,以使关节链的终点能达到空间的所需位置。 将手柄终点的位置告诉手柄和解算器,末端受动器可为i k 解算器计算 如何旋转关节提供所需要的信息。 当定位和设置一个链时,需要告诉i k 解算器末端受动器移动到下一个地 方的位置和方向,信息由手柄的目标提供。解算器查看目标的位置以及末 端受动器的位置,并且设置如何旋转链中的所有关节以使末端受动器达到目 电子科技大学硕士学位论文 标所在位置。 一个骨骼可以有许多手柄来定位和设置它的关节链。具体哪个关节作为 根关节可以按需设置。但骨骼的根节点只能作为链的开始关节。 解算器通过查看关节链末端受动器的位置等信息做出一些必要的计算,使 关节能正确旋转。旋转方式是从起始关节开始到( 链的末端受动器为止。当末 端受动器移动时,解算器就将末端受动器的平移值改为关节的旋转值,相应地 改变关节。 反向运动学的研究主要是解算器的设计。一个解算器设计的主要难点 是,当关节链的数目大于2 时,同个末端受动器的位置可以对应多个关节链形 状。解决这一问题可以通过研究人类的活动的特点,例如活动的能量消耗最小原 则,设定一系列的最优化方程来衡量各个关节链形状的最优值。这方面目前技术 已经比较成熟,详细的介绍可以参考【1 7 1 8 】【2 0 增文献。 第三章角色动画的物理模型 3 1 物理引擎介绍 第三章角色动画的物理模型 物理引擎通过为物体赋予真实的物理属性来计算它们受力的运动、旋转、碰 撞等反应。其中,由于柔性物体的自身复杂性,目前得到广泛应用的物理引擎大 都是处理刚体受力的,即物理引擎处理的物体在模拟过程中不会出现外形的改变。 一般来讲,物理引擎定义了一系列的基本物理元素,例如基本的几何形体、各种 特性的连接关节、弹簧、力、面之间的摩擦系数等等。使用者通过设定相关参数 并组合这些基本元素来模拟特定的物理行为。由于真实的物理表现涉及海量的计 算,现在已经有专门用于物理计算的硬件。本文中对物理引擎的运用比较简单, 介绍的功能通过开源的物理引擎如o d e ( o p e nd y n a m i ce n g i n e ) 等就可以实现。 3 2 物理引擎在交互式角色动画中的应用 基于物理模型的动画技术是八十年代后期发展起来的一种新的计算机动画技 术,也可以称作基于动力学( d y n a m i c ) 模型的动画技术,它的起点是基于物理模 型的关节动画和人体运动仿真研究。这种技术通过模拟物体的物理属性( 重量、 质量、惯性) 和物理运动定律( 摩擦力、引力、物体间碰撞) 来产生物体的逼真 运动,并可以与反向运动学等高级技术组合使用,生成更复杂和逼真的运动。经 过近几年的发展,它已在图形学中成为一种具有潜在优势的三维造型和运动模拟 技术。尽管该技术比起传统动画技术来计算复杂度要高得多,但它能逼真地反应 各种自然物理规律,这是基于几何显示的传统动画生成技术所无法比拟的,并且 随着硬件的飞速发展,不断提高的运算速度终将克服物理模型计算上的难关,使 基于物理模型的动画领域产生突破。 在物理模型上的研究,可以分为三个方向:刚体运动模拟、塑性物体变形运 动以及流体运动模拟。现在主要的应用都是基于刚体的物理模拟。在刚体运动模 拟方面的研究重点集中在采用牛顿动力学的各种方程来模拟刚体系统的运动。 基于物理模型的角色动画技术,通常可以分为两类:一是基于约束的方法i l o 】 ( c o n s t r a i n t b a s c da p p r o a c h ) ,它主要考虑以下几种约束:运动学约束( k i n e m a t i c s c o n s t r a i n t ) 、能量约束( e n e r g yc o n s t r a i n t ) 、动力学约束( d y n a m i cc o n s t r a i n t ) 、空 电子科技大学硕士学位论文 问时间约束( s p a c e t i m e c o n s t r a i n t ) 。另一种方法是运动合成的方法( m o t i o ns y n t h e s i s a p p r o a c h ) ,运动合成的方法更接近于真实人的运动控制的物理规律,它将人的肌 肉组织作为一组执行机构进行动作的合成,驱动人体的动力学模型产生运动。 在基于物理模型的动画技术中,目前已经有不少的成果。a r m s t r o n g 和g r e e n 、 w i l h e l m s 7 1 提出直接采用动力学方程来模拟刚体关节链的运动。i s a a e s 等则分别采 用逆动力学和正动力学方法来模拟刚体系统的运动,并揉合进了许多传统的动画 生成技术,如关键帧插值技术、正运动学和反向运动学技术等来对某些关节处的 刚体运动加以控制。1 9 8 8 年a n d r e ww i t k i n t 8 】【9 】等人首先提出了时空约束法 ( s p a c e t i m ec o n s t r a i n t s ) ,认为生物在运动过程中遵循消耗的能量最少原则,通过 定义目标函数,对运动轨迹进行优化求解,得到三维角色在一定时间段内的最佳 运动效果,把优化方法和动画技术很好的结合在一起。时空约束法不仅在基于动 力学的动画生成方面得到了广泛的应用,同时在基于运动学的运动编辑方面也有 很大的应用价值。1 9 9 4 年在降低时空约束的计算复杂性方面,提出了利用自动微 分技术和b 样条小波理论,对运动轨迹进行优化的理论,使计算的实时性得到了 极大的提高。1 9 9 8 年a n d r e ww i t k i n 等人再次对时空约束的复杂性进行了讨论, 并提出了运动分层控制的思想,根据特定运动来降低计算复杂度,极大的提高了 计算的速度。算法首先根据运动类型把一个生理结构复杂的拓扑结构按照运动类 型的特点进行模型简化,然后以简化的模型为基础应用时空约束算法求出模型的 运动轨迹,最后把简化模型的运动轨迹映射到复杂模型上。2 0 0 2 年人们在时空约 束法的基础上引入了运动数据库和动量控制原理。通过引入运动数据库可以利用 真实运动数据的物理属性,更好的对运动数据进行重用。而引入动量控制可以利 用生物力学上的知识和力学的基本原理,对真实数据进行分析,得到动量的经验 公式,简化计算的复杂性。例如,可以用动力学方法模拟人跑步、骑自行车和跳 跃等运动,然后在需要时直接把已有的行为自动适应到一个新角色,根据新旧角 色的大小、质量、力矩、转动惯量等物理参数比例对控制系统参数进行调整,然 后对动画进行微调。 物理引擎在角色动作上的应用主要体现在产生与物理环境交互的丰富实时动 作。代表有在一些游戏中已经应用的布娃娃系统,它通过对角色分部分建立物理 模型,使之在物理世界中产生交互式的实时动作。例如人物在跳跃过程中腿部碰 倒障碍物而弯曲,从山坡滚下时身体与地形的碰撞形成的姿势改变。结合物理模 型的角色动画在运用中的中心点是建立人体的动力学模型,求解动力学方程以设 置各种运动的动力学参数,以及与其它动作技术的混合使用。 1 4 第三章角色动画的物理模型 与传统的关键帧动画或动作捕捉相比,结合物理模型的角色动画具有以下的 优点。 基于物理模型的动画技术可以实现生成用关键帧技术无法实现的完全符 合物理特性的理想运动。动画角色可以对重力、风、碰撞等因素自动做 出反应。这一特性,使基于物理模型的动画技术在体育训练等方面有广 泛用途。 在于用户的交互方面,基于物理模型的角色动画技

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论