(计算机应用技术专业论文)骨骼皮肤绑定技术的研究及实现.pdf_第1页
(计算机应用技术专业论文)骨骼皮肤绑定技术的研究及实现.pdf_第2页
(计算机应用技术专业论文)骨骼皮肤绑定技术的研究及实现.pdf_第3页
(计算机应用技术专业论文)骨骼皮肤绑定技术的研究及实现.pdf_第4页
(计算机应用技术专业论文)骨骼皮肤绑定技术的研究及实现.pdf_第5页
已阅读5页,还剩57页未读 继续免费阅读

(计算机应用技术专业论文)骨骼皮肤绑定技术的研究及实现.pdf.pdf 免费下载

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

文档简介

摘要 随着电影、游戏等娱乐产业的快速发展,计算机动画技术得到了长足的进步: 其中,善于表现角色行为的骨骼皮肤动画技术作为目前应用最广泛的角色动画技 术在科研和产业界一直是关注和研究的热点。骨骼皮肤绑定技术又称为骨骼域变 形技术( s s d ) 、蒙皮技术等,是骨骼皮肤动画的重要组成部分,决定着最后动 画效果的真实感。 本论文从两个方面对骨骼皮肤绑定技术进行研究:第一个方面是对骨骼皮肤 绑定过程的研究即用运动( 骨骼来承载) 驱动皮肤产生动画的详细过程;第 二个方面是对骨骼皮肤绑定算法的研究一一即在绑定过程中如何更新皮肤点的 位置的方法。 绑定过程和实践结合的比较紧密,通过借鉴相关软件的操作流程,提出并实 现了一套完整的骨骼皮肤绑定过程:包括骨骼皮肤数据匹配、对应关系设定和权 值计算、动画生成、效果检测四个阶段,并对其中每一个阶段的动机和意义进行 分析,解决了目前使用方法中的缺陷,提高了绑定效率。 绑定算法的发展经过了从刚性绑定到以点绑定( v e r t e xb l e n d i n g ) 为代表的 柔性绑定再到以骨骼绑定( b o n e sb l e n d i n g ) 为代表的柔性绑定三个主要的阶段, 随着绑定效果的提高,计算复杂度也相应增大,这样新的算法就不易广泛使用。 在实现了上述各个阶段代表性算法的基础上,延续了骨骼绑定算法的思想并 提出以空间复杂度换取时间复杂度的方法,改进了其时间复杂度高的缺点。通过 建立四元数索引表和四元数插值表,将实时的四元数的球面线性插值计算转化为 量化计算,经过与其他改进算法的比较( 使用四元数的线性插值代替四元数球面 线性插值) ,在降低时间复杂度的同时,减小了引入的误差:另外,通过结合网4 性绑定算法,结合小角度的四元数线性插值算法,提出了一种综合绑定算法,在 操作、计算等许多方面都更加简单。 进行理论研究的同时,还制作了相应的骨骼皮肤动画系统,系统中不仅实现 了文章中提出的绑定流程和最新的绑定算法,还生成并输出了角色动画,为后续 研究做了铺垫;并且,为了配合其他系统的使用,设计了文件操作接口和渲染接 口的动态链接库作为公共调用接口。 关键字:角色动画,骨骼皮肤动画,骨骼皮肤绑定技术,蒙皮技术,点绑定算法 骨骼绑定算法,逆向运动学 塑堑查兰堡圭兰垒堡兰 a b s t r a c t c o m p u t e ra n i m a t i o nh a sb e e np r o g r e s s i n gv e r yf a s tt h e s ey e a r s ,a l o n gw i t ht h e r a p i dd e v e l o p m e n to ff i l ma n dg a m e ( e n t e r t a i n m e n t ) i n d u s t r y t h r o u g ht h em a n y t y p e so fc o m p u t e ra n i m a t i o n ,s k e l e t a la n i m a t i o ni so n eo ft h em o s tp o p l l l a rk i n d s b e c a u s eo fi t sa d v a n t a g eo nr e p r e s e n t i n gt h ec h a r a c t e r sm o t i o n t h ef i r s tp a p e rr e s e a r c h e do ns k e l e t a la n i m a t i o na n di m p l e m e n t e ds o f ts k i n n i n g m e t h o dw a sp u b l i s h e d1 9 9 8o nt h em a g a z i n eo f g a m ed e v e l o p e r ,t h e nt h es k i n n i n g a l g o r i t h mb e c a m eav e r yh o tt o p i c i nr e s e a r c ha r e a s k i n n i n gm e t h o di sa l s ok n o w na s s k e l e t a ls u b s p a c ed e f o r m a t i o n ( s s d ) a n dv e r t e xb l e n d i n g ;i t st h em o s ti m p o r t a n t a l g o r i t h mi ns k e l e t a la n i m a t i o nw h i c hd e c i d e st h ef i n a lr e s u l to f s k i nd e f o r m a t i o n t h er e s e a r c ho fs k i n n i n gt e c h n i q u ec a nb ed i v i d e di n t ot w op a r t s 。o n ei s c o n c e m e dw i 廿1t h es k i n s k e l e t a lb i n d i n gp r o c e d u r e ,t h eo t h e ri sc o n c e m e dw i t ht 1 1 e s k i n n i n ga l g o r i t h m ;t h i st h e s i sc o v e r sb o t hs i d e s ,p r o v i d e sd e t a i l e dd e s c f i p t i o na n d m a k e sm yo w nc o n t r i b u t i o ni nb e t w e e n b yi m p l e m e n t i n ga n da n a l y z i n gt h ev e r t e x b l e n d i n g a n db o n e sb l e n d i n g s k i n n i n ga l g o r i t h m s ,w ei n t r o d u c ean e ws k i n n i n g t e c h r t i q u ec a l l e ds y n t h e s i sb l e n d i n ga l g o r i t h m ,w h i c hp r o v i d e sa ni m p r o v e db o n e b l e n d i n ga l g o r i t h mw i t hl o wc o m p u t a t i o nc o m p l e x i t ya n ds o m eo t h e rc o m b i n e d m e t h o d st op r o v i d eh i g hp e r f o r m a n c ea n de a s yw o r k i n g b i n d i n gp r o c e d u r ei sm o s t l yr e l a t e dw i t ht h ep r a c t i c e ,a n dw ei n t r o d u c ean e w b i n d i n gp r o c e d u r ec o n s u l t i n gs o m ef a m o u s3 ds o f t w a r el i k em a y aa n d3 d s m a x b y a n a l y z i n gt h ee v e r ys t e pi nt h i sp r o c e d u r e ,w ep r o v i d ea n di m p l e m e n t e ds e v e r a ln e w a l g o r i t h mt os o l v et h et i m ec o n s u m i n gp r o b l e m si nt h es k i n n i n go p e r a t i o n a tt h es a m et i m eo fa c a d e m i cs t u d y i n g ih a v ea l s od e s i g n e da n di m p l e m e n t e da s k e l e t a la n i m a t i o ns y s t e mt ot r yn e wm e t h o d sa n dt r a d i t i o n a lt h o u g h t s ,a n dg i v ea l l o u t p u ts k e l e t a la n i m a t i o nf i l ef o rt h ef t l r t h e rs t u d y i th a sa l s op r o v i d e dc o m m o n i n t e r f a c ef o ro t h e rs y s t e mt ou s et h e s eo u t p u tf i l e s a t i e ri n t r o d u c i n gs o m e b a c k g r o u n d so fc o m p u t e ra n i m a t i o na n ds k e l e t a l a n i m a t i o nt e c h n i q u e si nc h a p t e r1 ;w eg i v ead e t a i l e dd e s c r i p t i o no fn e wb i n d i n g p r o c e d u r ei nc h a p t e r2 ;a n da f t e rd i s c u s s i n gt r a d i t i o n a ls k i n n i n ga l g o r i t h m sb yt h e i r a d v a n t a g e sa n dd i s a d v a n t a g e si nc h a p t e r3 ,w ec o m eu pw i t hn e ws k i n n i n gm e t h o di n c h a p t e r4 ;f i n a l l y , w ei n t r o d u c eb r i e f l yo u rs k e l e t a la n i m a t i o ns y s t e m e s p e c i a l l yi t s d e s i g nm a t t e r si nc h a p t e r5 k e y w o r d s :c o m p u t e ra n i m a t i o n , s k e l e t a la n i m a t i o n ,i n v e r s ek i n e m a t i c s , q u a t e m i n n ,s k i n n i n g ,v e r t e xb l e n d i n g ,b o n e sb l e n d i n g ,q u a t e r n i o np r e c a l c u l a t i o n 独创性声明 本人声明所里交的学位论文是本人在导师指导下进行的研究工作及取得的 研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其 他人已经发表或撰写过的研究成果,也不包含为获得堑垄盘堂或其他教育机 构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献 均己在论文中作了明确的说明并表示谢意。 学位论文作者签名 签字日期: 2 。,0年月,r 日 学位论文版权使用授权书 本学位论文作者完全了解逝垄盘茔有关保留、使用学位论文的规定, 有权保留并向国家有关部门或机构送交论文的复印件和磁甜,允许论文被查阅和 借阅。本人授权逝鎏盘堂可以将学位论文的全部或部分内容编入有关数据库 进行检索,可以采用影印、缩印或扫描等复制于段保存、“鳓学位沧文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名 才权导师叛秘劢蚤- 签字日期:妒年1 月rf 目签等:i 嗍1 :犷一年- 1 月i 同 学位论文作者毕业后去向 工作单位: 通讯地址: l :b7 滞2 ) “t 歹 i l i 目i , j 第一章绪论 1 1 论文的提出 计算机动画是计算机图形学与美术、音乐、物理学等相结合的产物。由于通 过新的媒介统一承载了各种艺术门类的创作过程和结果展现,使得各学科紧密的 结合在计算机平台上,并由此诞生了计算机动画表达的虚拟世界。计算机动画不 仅可应用于电影特技、商业广告、电视片头、游戏开发等娱乐产业,还可应用于 计算机辅助教育、科学研究、军事模拟等许多领域。 在计算机动画领域中,角色建模和角色动画技术一直是学术界和产业界关注 的焦点,从每年的图形学年会( s i gg r a p h ) 到娱乐产品年会( e 3 ) 无不包含角 色动画技术新的发展内容。 这些新内容主要针对角色动画中的难点一建模技术、运动控制技术、 m o t i o nc a p t u r e ( 运动捕获) 相关技术和骨骼皮肤绑定技术展开。其中,建模技 术研究的是角色模型层次及其之间的关系;运动控制技术研究的是运动学、动力 学相关的数据生成和控制方法;运动捕获方面研究的主要是在对捕获数据进行编 辑的同时如何保持运动数据的高频信息( 高频信息主要承载表达运动风格的细节 信息) 的技术;绑定技术主要研究如何应用运动数据驱动角色模型生成动画的方 法,使得角色模型变形适当,动画效果更加真实。之所以这些方面是角色动画的 难点,有三个主要的原因:第一,生命体构造复杂,到目前为止任何的精细建模 手段都还没有办法完全模拟动物体内部构造,而由于计算的时空复杂性问题,越 精细的建模技术就越无法得到普遍的使用,几何学表示的骨骼皮肤两层模型依然 是角色动画应用的主流模型;第二,人体( 拟人) 运动难以生成和控制,而对于 不真实的人体运动我们却很容易发现,所以运动捕获被广泛的用来生成角色的运 动数据,但运动捕获数据需要修改、融合等操作( 重用和编辑) ,如何在编辑的 同时保证数据的质量( 动作风格和真实性) 也是一个很有挑战性的问题;第三, 骨骼皮肤绑定技术( s k i n n i n g ) 还不完善,一方面没有成熟的绑定流程,许多操 作环节的失误都能导致最后的效果失真,另方面绑定算法不够精良,普通的绑 定算法绑定效果越来越不能满足真实感的需要,而先进的绑定算法的时间复杂度 很高。 以上这三个难点就成为角色动画技术和骨骼皮肤动画技术在进一步发展中 需要解决的问题。本文所讨论的骨骼皮肤绑定技术就是针对其中第三个问题提出 的,目的是研究如何设计霞骼皮肤绑定流程和如何改进绑定算法,推动骨骼皮肤 绑定技术进一步发展。 浙江大学硕士学位论文 1 2 理论背景 三维角色动画和骨骼皮肤动画的相关内容和技术( 图1 1 ) 是本文研究的主 要理论背景和应用环境,本节中将分别予以介绍。 一 竺璺竺竺 。,i 。 一一 杆状动画 l l 顶点动画 i l 骨骼皮肤动画 | | l-l-w-。-。-。一 一- - 一一 r l 一一,一一一u u 。 匿圜匿委匿圈匿蚕 图1 1 1 2 1 三维角色动画 三维角色动画【1 1 【2 1 本质上是拟人动画从运动考虑。它从诞生开始就得到 了广泛的应用,主要包括:电影行业( 例如金刚等) 、游戏行业( ( s p l i n t e r c e l l ) ) 等) 、仿真领域( 虚拟城区等) 、辅助训练领域( 高尔夫球等) 3 1 、人机工程( j a c k 等) 和医疗领域( 步态分析等) ,这些应用又反过来促进了角色动画技术的发展。 应用领域的不同导致使用角色动画技术的差异:电影、仿真要求极具真实感 的角色( 图1 2 ) ;游戏、辅助训练要求在保证速度的基础上具有较好的真实感( 图 1 | 3 ) ;而人机工程和医疗领域对真实感要求不高,但是角色需要具有多层人体模 型的特征和参数,以便进行动力学和生物力学方面的分析( 图1 4 ) 。本文研究内 容属于前两个方面。 图1 2 图1 3图1 4 在角色动画制作内容中,主要包括角色的造型、运动调整、材质设置以及最 后渲染等。其中运动调整和角色造型是角色动画的关键和难点,两个方面的技术 经过发展,细分成了很多具体的门类,从不同的角度解决特定的问题。 其中运动生成和控制方式有四种( 针对骨骼皮肤动画数据) :第一种是关键 帧方式,通过设最关键帧中骨骼关节点的位置和角度来生成运动;第二种是运动 学方式,通过设置速度和角速度来计算模型位置和角度等参数,但是不计较这些 速度值是如何得到的;第三种是动力学方式,通过作用力分析和力学公式得到物 体加速度、速度等运动参数,然后用这些参数计算实际模型位置,生成运动;第 四种是使用运动捕获技术,通过m o t i o n c a p t u r e 机器测量实际人体的运动,并记 浙江大学硕士学位论文 录下来供三维角色使用。其中,运动捕获技术在产业界得到了最广泛的使用,并 带动了运动控制和编辑技术的进步的发展。 建模技术 2 1 1 4 1 s 从模型的分层角度可以分为四种:第一种是杆状模型,出现的 最早,只有骨骼层,以少量的关节链结构表示角色;第二种是皮肤模型,也是单 层模型;第三种是骨骼皮肤模型,是包含皮肤层和骨髂层的两层模型,通过控制 骨髂间接控制皮肤,由骨骼承载运动数据;第四种是多层模型的建模技术,为了 进一步增加真实感并进行多种参数的设置和分析,在皮肤层与骨骼层之间添加肌 肉层和脂肪层,并通过更复杂的控制和约束机制产生动画。根据角色表达方式一 一建模技术的不同,角色动画也可以分为:杆状动画、顶点动画、骨骼皮肤动画 和多层模型动画四种。 1 2 1 1 杆状动画 杆状动画形象直观,是最早的角色动画表现方式【酏。杆状动画的优点是形式 简单,对运动的表达效果好( 图1 。5 ) ,易于理解,适合应用在舞蹈、体操、武术 等以人体姿态表达为主的领域;缺点是不能很好的表达角色的非运动信息,例如 角色模型信息( 图1 6 ) ,这对与需要体现真实感的电影电视、虚拟现实等领域就 无能为力了。 目前广泛使用的运动捕获得到的运动数据可以直接表达成为类似图1 5 中所 示的杆状动画。 1 2 1 2 顶点动画( v e r t e xa n i m a t i o n ) 图1 6 顶点动画是具有真实感角色动画的开始,顶点即皮肤模型的顶点数据。顶点 动画文件中保存了角色动画关键帧的顶点位置信息,动画播放时,根据时间对两 个关键帧( k e y f r a m e ) 的位置信息进行插值计算以得到对应时间的动画数据。它 比杆状动画提高了一个楷次,并且控制简单;但是需要大量的内存播放动画,并 且对动画数据的控制级别比较靠近低层( 直接控制皮肤点数据) ,导致修改动画 操作复杂,不能实时交互( 动画是事前生成保存到文件中的) ,缺乏灵活性。顶 点动画著名的例子是i d s o f t w a r e 公司的m d 2 动画模型,曾被应用在q u a k e 2 中 埒x 雯r代够盘灸 謦搿幢 夜。配s 霹盅些建 浙江大学硕士学位论文 ( 图1 7 和图1 8 ) 。 图1 7 1 2 1 3 骨骼皮肤动画( s k e l e t a ia n i m a t i o n ) 图1 8 为了解决顶点动画的种种问题,研究人员发明了骨骼皮肤动画。骨骼皮肤动 画特别适合于人物和其他的脊椎动物具有骨架结构的动画模拟。 一般来说,骨骼皮肤动画包含两部分信息:一是层次化骨架( 图1 9 ) ;另一 个部分是蒙在骨架上的皮肤( 图1 1 0 ) 。用骨骼承载运动,用皮肤模型表达角色, 再利用骨骼控制皮肤变形就达到了角色动画模拟的目的。本文的研究重点就是骨 骼皮肤动画。 骨骼皮肤动画和顶点动画相比,优点是内存消耗小,具备交互性( 动画是实 时计算l :l :i 来的) ,并且控制层次高便于修改动画数据:缺点是用骨骼控制皮肤的 机制复杂,而且需要的计算量大。但是随着应用中交互性和真实感的需求越来越 强烈,骨骼皮肤动画技术成为目前被广泛应用的角色动画技术和主要的发展方 向。 图1 9 1 2 1 4 多层模型动画 图1 1 0 多层模型动画是在骨骼皮肤模型的基础上,在皮肤模型下添加其他层次形成 的,控制机制比较复杂,例如由骨骼承载运动,骨骼控制肌肉层,皮肤由骨骼、 肌肉和脂肪层共同控制生成动画,其中对肌肉的模拟可以大大提高动画效果的真 实性( 图1 1 1 ) 【7 1 。由于计算的时间和空间复杂性高,还没有大规模应用。目前 浙江大学硕士学位论文 对肌肉的模拟主要是在二层模型的基础上增加其它的算法( 比如作用线模型) 来 模拟肌肉变形效果。 图1 1 1 1 2 2 骨骼皮肤动画( s k o l e t a ia n i m a l :i o n ) 1 2 2 1 动画中的数据表示 骨骼皮肤动画主要涉及三种数据:运动数据、骨骼数据和皮肤数据。其中运 动数据中包含旋转数据和平移数据两个部分;骨骼数据分为层次化结构数据和非 层次化数据两种类型。 1 、运动数据 运动数据是物体位置随时间的值序列。现在制造运动数据的方法有两种,一 种是用动力学的方法得到循环性运动数据;另外一种就是普遍使用的运动捕 获方法得到具有角色真实感的运动数据,使用运动捕获比较典型的例子有三 维游戏鬼武者和电影机械公敌等。 运动捕获数据按照数据组织方式可分为层次化( b v h 、h t r ) 和非层次 化( b v a ) 两种,分别应用于层次化骨骼和非层次化骨骼数据。由于层次化 数据便于应用i k 等运动学方法进行操作,本文使用b v h 数据,格式如下: 在运动数据中,旋转数据是一个重要的组成部分嘲,旋转数据有四种表 示形式: 夺3 x 3 矩阵( 9 个自由度) 浙江大学硕士学位论文 鞋a 3 2 引 fd 2 i 吒2 吒3 l 吒i码3 夺欧拉角( 3 个自由度) 夺- 轴- n n ( 4 个自由度一轴向量,角度) a x i s ( x ,y ,z ) ,口 令四元数( 4 个自由度) q u a t e r n i o n ( x ,y ,z ,w ) 每种形式都有各自的优缺点:其中,四元数以旋转无歧异、能够平滑插 值、存储空间小等优点得到广泛的应用;而欧拉角易于理解,是界面交互的 主要手段;而o p e n o l 以矩阵形式计算和存储平移变换和旋转变换。所以我 们使用了欧拉角、矩阵和四元数三种形式在不同的场合表示旋转。 2 ) 骨骼数据 骨骼数据是骨骼皮肤动画中的骨骼层,其生成方法有三种:第一是利用三维 建模软件构造骨骼,这种方法可以建立任意复杂程度的骨骼,具有真实感( 图 1 1 2 ) ;第二是从运动中提取骨骼,结果只是对骨骼的逻辑表示( 图1 1 3 ) ; 第三是根据皮肤生成骨骼数据,从皮肤的结构反推骨骼的位置,并连接成骨 架,更具有抽象性和随意性。按照骨骼关节之间是否存在着父子关系,骨骼 数据可以分为层次化骨骼和非层次化骨骼,其中层次化骨骼数据拓扑关系见 图1 1 4 。本文的做法是依据运动数据的格式b v h ,抽取出层次化的骨骼数据, 这样可以降低与其它运动控制方法的耦合性,利于系统实现。 图1 1 3 。矗 ,赣辩燃 r鼹隧絷滞必m “憾m遵豢吟, 图 。;,女擎 浙江大学硕士学位论文 图1 1 4 任何类型动画中都有自由度( d o f ) 的概念,自由度就是能够随着时间 变化的数据。骨骼皮肤动画中,骨架结构的整体自由度是指关节的活动变量 维数之和。每个关节的自由度一般包括3 个平移自动度,用来表示位置和3 个旋转自由度( 欧拉角表示) 。骨骼运动的数学表示如下: m ( t ) = f t p o ( t ) ,q t o ) ,q 2 ( t ) ,l ,9 ( f ) 】 公式1 1 公式1 1 中r 表示时间,t o ( 0 表示根关节的位置随时间的函数,q i ( t ) 表 示各个关节的旋转( 四元数表示) 随时间的函数。 由于骨骼承载动画数据,所以通过对骨骼自由度数据范围加以限制可以 达到对动画进行约束的目的,很多运动控制的方法都据此设计( 例如基于约 束的i k 等) 。 3 皮肤数据 皮肤数据主要包含皮肤点位置信息、材质信息和纹理坐标信息。其获取方式 主要有: 三维扫描仪( 图1 1 5 ) 三维建模软件3 d m a x 和p o s e r 等,格式o b j 、3 d s 等 从二维图像重建三维模型( 图1 1 6 ) 本文采用的是普通的3 d s 格式的模型数据,容易得到和修改。 图1 1 5图1 1 6 4 、小结: 综上所述,本文使用了运动捕获的数据,从中提取出层次化的骨骼数据, 皮肤数据使用的是三维建模软件生成的模型;重点研究这些数据之间如何配 合完成骨骼皮肤绑定、生成动画的过程和算法( 图1 1 7 ) 。 浙江大学硕士学位论文 1 2 2 2 运动控制技术( m o t io no o n t r o i ) 由于运动数据在大多数情况下,并不能完全符合动画中特定场景的需要,运 动控制技术成为能够达到这个目的的唯一廉价手段( 与运动捕获相比) 。在运动 控制领域,长期活跃的几个研究内容有运动修改( 关键帧内) 、运动连接( 关键 帧之间) 、运动路径编辑( 运动段内) 、运动融合( 运动段之间) 【1 0 】【9 】;还有针对 不同骨骼结构进行的运动重定向。 运动控制又称作运动编辑,是对一系列的运动帧数据进行修改并能保持原始 数据的信息细节和运动风格的技术;其中的难点不在于修改关键帧数据,而在于 如何在修改的过程中不破坏原始运动中的细节信息运动信号高频分量。采取 的策略主要有两种:第一种是信号处理的方法1 1 1 】【1 2 】,由于运动数据即关节角度 是随时间变化的函数,能够随时间变化就可以把它当作信号,借鉴信号处理的方 法进行操作。第二种是基于时空约束的方法【”】【1 4 】,对关键帧内数据进行的修改 作为空间约束,对关键帧之间的距离( 间隔的帧数) 的修改作为时间约束,然后 综合时空约束得到方程进行求解;但是这些约束方程不易得到,求解也未必有解 ( 或者唯一解) ,这个时候就应用一些距离最小、能量最小等原理来判断如何取 舍结果。对运动控制按内容分类如下: 1 1 关键帧数据修改 主要解决问题:运动修改,运动平滑插值( 图1 1 8 ) f奠 一。 图1 1 8图1 1 9 浙江大学硕士学位论文 2 ) 运动连接 运动数据,不论是运动捕获生成的还是通过其他方法生成的,都是比较小的 运动片断,用来表达一种特定运动( 跑、跳、走等等) ,所以动画中富有情节的 运动需要将这些运动段进行平滑连接得到,过程示意图1 1 9 。 3 1 运动重定向( m o t i o nr e t a r g e t i n g ) 1 1 5 1 1 6 1 在角色动画制作中,角色模型很有可能不是人体,或者是动物或者是人造的 生物,他们有不同的形态和层次结构的骨架,为了可以重用运动数据到新骨架, 需要运动重定向技术来保证结果的正确性和效果的真实性不丧失原始运动 的细节信息完成重定向。 运动重定向需要解决的问题分为:相同拓扑结构不同骨骼长度的运动重定向 ( 图1 2 0 ) ;不同拓扑结构的运动重定向以及这两个问题的结合( 图1 2 1 ) 。 在运动重定向过程中,针对环境交互问题主要利用增加空间约束的方式完成; 对于骨骼拓扑改变的问题可以分为从多到少和从少到多两种,解决算法很多,但 是比较自动化的方法是增加一个中间骨架结构作为重定向媒介,对它定义好完整 的重定向算法作为基本骨架结构,然后将重定向操作分成两步完成,分别对基本 骨架进行。 图1 2 1 4 ) 运动路径编辑i 1 动画数据放置到具体场景中,需要壁障;要壁障就要重新设计路径,在单纯 的修改路径曲线的过程中,会出现角色朝向、角色步伐等信息出错,如何消除这 些运动失真就是路径编辑技术的关键。 高层的路径规划算法也是建立在基本的路径编辑方法基础上的。 1 2 2 3 骨骼皮肤绑定技术( s k in n i n g ) 骨骼皮肤绑定技术主要解决的问题是使用运动数据驱动皮肤模型,得到骨骼 皮肤动画。由于模型变形不当会产生失真,提高皮肤变形真实感和动画实时性就 是绑定技术的目标。 骨骼皮肤绑定技术的研究涉及到以下三个方面:骨骼皮肤绑定过程的设计、 骨骼皮肤绑定算法的研究和骨骼皮肤绑定在角色动画中的应用。 目前,国内外的研究工作主要围绕绑定算法进行,在第三章中将详细介绍相 浙江大学硕士学位论文 关研究的进展情况。 1 2 2 4 骨骼皮肤动画的制作过程 以m a y a 为例1 8 】,骨骼皮肤动画的制作过程是:首先按照人体的各个部分分 别建立模型,和各个部分的层次关系,建立好之后缝合成一个整体网格( 图1 2 2 ) ; 然后建立骨骼,包括关节设计、关节连接、对关节链结构设置正向反向运动学关 系等步骤( 图1 2 3 ) ;接着进行蒙皮操作,其中又包括刚性蒙皮和柔性蒙皮两种 方法( 图1 2 4 ) ;最后设计关键帧得到动画,或者导入运动捕获数据得到动画。 幽1 2 2 图1 2 3图1 2 4 其中,蒙皮就是指骨骼皮肤绑定。这类三维软件进行蒙皮操作的过程对我们 设计骨骼皮肤的绑定过程有指导意义,我们在下一章将详细介绍绑定过程的设 计。 1 3 研究内容和创新点 本文的内容主要包括: 1 ) 研究骨骼皮肤绑定流程,分析其中的瓶颈问题。 2 ) 实现各种绑定算法,研究绑定算法的发展过程,分析各种算法的优缺点。 3 ) 实现相应的骨骼皮肤动画系统,生成动画文件并设计应用接口。 文章的主要创新点: 1 ) 建立完整的骨骼皮肤绑定流程,探讨在各个绑定阶段需要的相关技术和对复 杂步骤的改进方法。 2 ) 改进了目前最先进的绑定算法b o n eb l e n d i n g ,与同类算法相比,在降低时间 复杂度的同时缩小了误差范围;之后在此基础上实现了综合绑定算法。 1 4 文章组织结构 组织结构如图1 2 5 所示:第一章介绍角色动画技术的发展和骨骼皮肤动画的 主要内容及骨骼皮肤绑定技术的概念,是背景知识介绍及相关工作总结;第二章 提出骨骼皮肤绑定过程,并对各个环节的缺陷做出改进,目的是向快速绑定和自 动绑定方向发展;第三章对骨骼皮肤绑定算法进行实践,比较算法的优缺点并提 出算法的发展方向;在这个方向上,第四章详细介绍了我们对算法的改进和结果; 新江大学硕士学位论文 关研究的进展情况。 1 2 2 4 骨骼皮肤动画的制作过程 以m a y a 为例1 ,骨骼皮肤动画的制作过程是:首先按照人体的各个部分分 别建立模型,和各个部分的层次关系,建立好之后缝合成一个整体网格( 图12 2 ) ; 然后建立骨骼,包括关节设计、关节连接、对关节链结构设置正向反向运动学关 系等步骤( 图1 2 3 ) ;接着进行蒙皮操作,其中又包括刚性蒙皮和柔性蒙皮两种 方法( 圈12 4 ) ;最后设计关键帧得到动画,或者导入运动捕获数据得到动画。 图1 2 2 图1 2 3图1 2 4 其中,蒙皮就是指骨骼皮肤绑定。这类三维软件进行蒙皮操作的过程对我们 设计骨骼皮肤的绑定过程有指导意义,我们在下一章将详细介绍绑定过程的设 计。 1 3 研究内容和创新点 本文的内容主要包括: 1 ) 研究骨骼皮肤绑定流程,分析其中的瓶颈问题。 2 ) 实现各种绑定算法,研究绑定算法的发展过程,分析各种算法的优缺点, 3 ) 实现相应的骨骼皮肤动碗系统,生成动画文件并设计应用接口。 文章的主要创新点: 1 ) 建立完整的骨骼皮肤绑定流程,探讨在各个绑定阶段需要的相关技术和对复 杂步骤的改进方法。 2 ) 改进了目前最先进的绑定算法b o n eb l e n d i n g ,与同类算法相比,在降低肘阃 复杂度的同时缩小了误差范围;之后在此基础上实现了综合绑定算法。 1 4 文章组织结构 组织结构如图1 2 5 所示;第章介绍角色动画技术的发展和骨骼皮肤动画的 主要内容及骨骼皮肤绑定技术的概念,是背景知识介绍及相关工作总结;第二章 提出骨骼皮肤绑定过程,并对各个环节的缺陷做出改进,目的是向快速绑定和自 动绑定方向发展;第三章对骨骼皮肤绑定算法进行实践,比较算法的优缺点并提 出算法的发展方向;在这个方向上,第四章详细介绍了我们对算法的改进和结果; 出算法的发展方向;在这个方向上,第四章详细介绍了我们对算法的改进和结果; 浙江大学硕士学位论文 关研究的进展情况。 1 2 2 4 骨骼皮肤动画的制作过程 以m a y a 为例1 8 】,骨骼皮肤动画的制作过程是:首先按照人体的各个部分分 别建立模型,和各个部分的层次关系,建立好之后缝合成一个整体网格( 图1 2 2 ) ; 然后建立骨骼,包括关节设计、关节连接、对关节链结构设置正向反向运动学关 系等步骤( 图1 2 3 ) ;接着进行蒙皮操作,其中又包括刚性蒙皮和柔性蒙皮两种 方法( 图1 2 4 ) ;最后设计关键帧得到动画,或者导入运动捕获数据得到动画。 幽1 2 2 图1 2 3图1 2 4 其中,蒙皮就是指骨骼皮肤绑定。这类三维软件进行蒙皮操作的过程对我们 设计骨骼皮肤的绑定过程有指导意义,我们在下一章将详细介绍绑定过程的设 计。 1 3 研究内容和创新点 本文的内容主要包括: 1 ) 研究骨骼皮肤绑定流程,分析其中的瓶颈问题。 2 ) 实现各种绑定算法,研究绑定算法的发展过程,分析各种算法的优缺点。 3 ) 实现相应的骨骼皮肤动画系统,生成动画文件并设计应用接口。 文章的主要创新点: 1 ) 建立完整的骨骼皮肤绑定流程,探讨在各个绑定阶段需要的相关技术和对复 杂步骤的改进方法。 2 ) 改进了目前最先进的绑定算法b o n eb l e n d i n g ,与同类算法相比,在降低时间 复杂度的同时缩小了误差范围;之后在此基础上实现了综合绑定算法。 1 4 文章组织结构 组织结构如图1 2 5 所示:第一章介绍角色动画技术的发展和骨骼皮肤动画的 主要内容及骨骼皮肤绑定技术的概念,是背景知识介绍及相关工作总结;第二章 提出骨骼皮肤绑定过程,并对各个环节的缺陷做出改进,目的是向快速绑定和自 动绑定方向发展;第三章对骨骼皮肤绑定算法进行实践,比较算法的优缺点并提 出算法的发展方向;在这个方向上,第四章详细介绍了我们对算法的改进和结果; 浙江大学硕士学位论文 第五章给出了骨骼皮肤绑定系统“c h a r a c t e r ”的设计和实现;最后,在第六章中 总结全文并给出了骨骼皮肤绑定的进一步研究内容和发展方向。 嘲翮 浙江大学硕士学位论文 第二章骨骼皮肤绑定过程 2 1 引言 在对骨骼皮肤绑定技术的研究中,大多数学者都把精力放到了其中最重要的 绑定算法上,却忽略了骨骼皮肤绑定流程的设计;实践表明,每一个绑定步骤都 会影响绑定算法的实现效果,进而影响动画效果。 本章提出了一个b b 较完整的骨骼皮肤绑定流程,分析了其中每一个步骤主要 面对的问题并给出解决方法。目的就是建立完善的操作流程,减少其中出错的概 率,提高绑定效率,更好的结合绑定算法生成骨骼皮肤动画。 骨骼皮肤绑定过程包含四个主要阶段,每个阶段都为下一个阶段准备数据并 决定下一阶段能否正常迸行。这四个阶段分别是:骨骼皮肤数据的匹配阶段、皮 肤点绑定权的计算阶段、动画生成阶段和效果检测阶段;它们之间的数据流关系 见图2 1 。 图2 1 2 2 骨骼皮肤数据匹配阶段 从运动中导出的骨骼与皮肤模型数据存在两方面的差异: 1 1 第一是尺寸不同,虽然计算机模型没有绝对的刻度概念,但是模型之间在同 个坐标系下还有相对大小的区别。 2 1 第二是姿态不同,骨骼皮肤绑定的起始姿态由皮肤确定,而皮肤一般设计成 图2 6 1 中的姿态,或者手臂4 5 度角张开的姿态。 匹配阶段的主要任务就是消除这两种差异( 图2 6 1 ) :其中,大小不同可以 简单的设置比例变换函数进行调整:姿态不同则需要对骨骼进行运动学操作,操 作的方法有两种,一种是正向运动学方法( f o r w a r dk i n e m a t i c s ) ,另一种是逆向 晶 浙江大学硕士学位论文 运动学方法。 2 2 1 逆向运动学( i n v e r s ek i n e m a t i c s ) 不论是在绑定前调整骨骼姿态以配合皮肤;还是在绑定后调整骨骼姿态以查 看绑定的效果,骨骼的姿态调整都是绑定过程中不可缺少的部分,如果这些操作 使用正向运动学进行,则每一个姿态需要调整的自由度总量都会超过1 0 0 个,但 逆向运动学方法只需要用户设定根关节的位置,调整终端关节自由度即可,并且 不受骨架结构复杂度的影响,所以我们应用逆向运动学完成骨骼的姿态调整任 务。 1 1 正向运动学和逆向运动学 正向运动学:通过设置链关节的角度得到终端关节的位置进而生成运动。 逆向运动学:通过设置终端关节位置,反求链上关节角度进而生成运动。 图2 1 表示正向运动学,图2 2 表示逆向运动学 2 1 逆向运动学求解如图2 3 图2 2 图2 3 图2 3 显示两个自由度的关节链结构l t 上:,已知末端点位置p ,反求角度鼠 和0 :的过程。利用末端位置分量表达式得到两个方程如下所示。 p ;= 工1 昏o s ( 占1 ) + l 2 9 :o s ( 0 1 + 0 2 ) ;b = l l g s i n ( 0 1 ) + l 2 零i n ( o i + 臼2 ) 求解得出角度值: 协c 盟箍= c 鬈篙鬻糍, 浙江大学硕士学位论文 这种方法随着关节链的增加和自由度的提高,计算的复杂性也越来越高,比 利于实现和对计算过程进行控制。 3 ) 逆向运动学求解基于优化的方法 痧矿 酗2 4 如图2 4 所示为c y c l i c c o o r d i n a t ed e s c e n t 算法的求解过程,计算结束的标志 是:在反复求解的过程中i k 链末端达到指定位置( 满足精度要求) 或者循环次 数超过指定的次数( 达到时间复杂度要求) 。 与第一种方法相比,基于优化的方法的复杂度不随具体问题变化,并且计算 过程易于控制;而且给各个关节增加约束也比较方便。 2 2 2 三视图的二维l k 操作 但是由于在3 d 视图中进行1 k 操作具有歧异性,例如图2 5 所示的威斯康星 大学i k & b v hv i e w e r 中向上抬臂操作和向后抬臂操作无法精确完成,不利于骨 骼皮肤绑定中精确的设置关节位景;所以为了达到“所见即所得”的操作结果, 将操作放置到正交透视投影中完成,可以精确的指定目的位置。 图2 5 其实将操作本身放置到正交透视投影并不复杂,关键是如何在三个视图 间保证操作的正确性。我们在系统中的解决方法是在每个视图的c c d 链计算完 成之后,重新计算骨骼的旋转和平移分量,保证旋转为空,骨骼的旋转操作完全 由局部坐标系下的平移代替,使各个视图互不影响又能配合操作。实践中,我们 模仿p o s e r 的操作方式,让用户对i k 的根关节进行选择,结果如图2 6 - 2 所示。 浙江大学硕士学位论文 2 3 骨骼和皮肤对应关系设定和权值计算阶段 骨骼与皮肤的对应关系设定即关节与皮肤点之间的对应关系设定,目前主要 有两种方法,第一种是高层的控制,即使用骨骼的作用域包围盒来决定皮肤点是 否与该关节有联系;第二种是低层的控制,即可以让用户逐点的设定皮肤与关节 的对应关系。通过下面的分析介绍,我们在系统中主要使用了第一种方式,并提 浙江大学硕士学位论文 出了改进算法。 2 3 1 逐点指定绑定关系 逐点指定绑定关系是一种比较底层的方法,它允许用户处理每一个皮肤点, 指定它与哪一个骨骼相关,设定相关的权值( 相关权值表示骨骼对皮肤点的影响 程度,权值越大表示影响越大) ,例如在s o r i m a g e 软件中就提供了这样的方法。 这种方法给用户很高的控制权利,允许生成按照用户需要的任意的动画效 果,但是缺点很明显,时间复杂度太高了。 2 3 2 使用骨骼包围盒指定绑定关系( b in d in gb o x ) 从上面的介绍我们可以发现使用逐点指定绑定关系的方法虽然控制权利大 可以精确的设定每个点对应的骨骼,但是却非常耗时,性价比低。 另一种指定骨骼皮肤关系的方法是使用骨骼包围盒。骨骼包围盒,即表示骨 骼作用范围的包围体;它的实现方法有很多,比如球体包围盒、圆柱体包围盒、 轴向包围盒和非轴向包围盒等等。 选择何种包围盒来表示骨骼作用范围,需要综合考虑如下两个方面: 包围盒要能够尽可能的符合物体形状,并尽可能的小 包围盒要能够容易表达,并尽可能的简单,以简化计算 简单的包围盒表示方法,像轴向包围盒( a a b b ) 和球体包围盒可以很好的 满足第二个条件,但是它们的缺点是包围不够紧密,对角色模型来说很容易与其 他部分的包围盒相交( 图2 7 ) 。朝向包围盒( o b b ) 和圆柱体包围盒比较容易符 合第一个条件,其中o b b 比圆柱体包围盒更满足第二条,另外我们下面还会介 绍结合使用皮肤o b b 和骨骼o b b 的方法。所以我们选择o b b 作为骨骼的包围 盒( 图2 8 ) 。 浙江大学硕士学位论文 图2 7图2 8 由于骨骼是由关节表示的,骨骼影响范围即关节的影响范围,如图2 9 所示 关节的影响范围有两种选择。我们采用第二种表示方法,理

温馨提示

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

评论

0/150

提交评论