人体动作的骨骼动画研究与初步实现

上传人:E**** 文档编号:114589233 上传时间:2019-11-11 格式:PDF 页数:52 大小:4.95MB
返回 下载 相关 举报
人体动作的骨骼动画研究与初步实现_第1页
第1页 / 共52页
人体动作的骨骼动画研究与初步实现_第2页
第2页 / 共52页
人体动作的骨骼动画研究与初步实现_第3页
第3页 / 共52页
人体动作的骨骼动画研究与初步实现_第4页
第4页 / 共52页
人体动作的骨骼动画研究与初步实现_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《人体动作的骨骼动画研究与初步实现》由会员分享,可在线阅读,更多相关《人体动作的骨骼动画研究与初步实现(52页珍藏版)》请在金锄头文库上搜索。

1、华中科技大学 硕士学位论文 人体动作的骨骼动画研究与初步实现 姓名:李雄 申请学位级别:硕士 专业:软件工程 指导教师:区士颀 2011-01-13 I 华华 中中 科科 技技 大大 学学 硕硕 士士 学学 位位 论论 文文 摘摘 要要 当今社会,3D 游戏和动画产业正在蓬勃发展,人们对于模型动画的要求也越来 越高,不仅仅要求动起来,更需要动作能够尽量逼真、自然。人们不再只是满足于 看现成的动画玩现成的游戏,更希望能够自己动手设计符合心中需求的动画。 通过对常用 3D 模型文件MilkShape 3D 文件进行读取分析, 充分了解了骨骼 动作模型的内部数据结构,在 VC+平台下完成建模和动画的

2、过程。结合正向动力学 (FK)和反向动力学(IK)两大动力学知识, 从两个方面来实现人体模型的关节旋转和交 互式移动,最终通过设定关键帧,使得在特定时刻设计的姿态能够形成完整的动作, 并最终记录生成新的模型文件。其中采用了四元数来处理模型的关节旋转,并利用 四元数的球面线性插值技术来进行关键帧的插值,使得人物动作显得更加平滑和逼 真。另外还对虚拟轨迹球,3D 模型文件的读写技术问题做了一定的探讨。 结合以上所述的技术, 利用 VC+开发环境开发出了基于 OpenGL 的人体动作设 计系统。通过一个简单的交互界面,能够让普通用户在没有任何动画制作知识的情 况下,通过简单的操作,设计出自己想要的人

3、体动作动画。 关键词关键词:骨骼动画 正向动力学 反向动力学 人体动作 II 华华 中中 科科 技技 大大 学学 硕硕 士士 学学 位位 论论 文文 Abstract Nowadays, 3D games and animation are developing rapidly. Peoples request to modeling animation is also growing. They not only want the model moving, but also want the moving clearly and naturally. People do not satis

4、fied with watching and playing, they also want to design animation. By means of loading and analyzing common 3D modeling fileMilkShape 3D file, coming to well understand the inside data structure of the skeleton animation model, finishing the process of modeling and animating under the VC+ developin

5、g environment. With the technology of Forward Kinematics and Inverse Kinematics, achieving the joint rotation and interactively moving of human model in two way, and finally by recording key frames, making different position into complete animating, and getting new modeling file. The technology of Q

6、uaternion is used to handle joint rotation of the model, and the Spherical Linear Interpolation of Quaternion is used to handle key frame interpolation in order to make the animation more clearly and naturally. In addition, the technology of Virtual Trackball and the question of reading and writing

7、of the 3D model file are also discussed. In conclusion, having developed human action design system based on OpenGL under the VC+ developing environment. Through a simple interactive interface, user can design human action and animation he need with simple operation without any knowledge of animatio

8、n making. Key words:Skeleton animation Forward kinematics Inverse kinematics; Human action 独创性声明独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他个人或 集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在 文中以明确方式标明。本人完全意识到,本声明的法律结果由本人承担。 学位论文作者签名: 日期: 年 月 日 学位论文版权使用授权书学位论文版权使用授权书 本学位论文作者完全了解学校

9、有关保留、使用学位论文的规定,即:学校有权 保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。 本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进行检 索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密,在_年解密后适用本授权书。 不保密。 (请在以上方框内打“”) 学位论文作者签名: 指导教师签名: 日期: 年 月 日 日期: 年 月 日 本论文属于 1 华华 中中 科科 技技 大大 学学 硕硕 士士 学学 位位 论论 文文 1 绪论绪论 1.1 选题的背景和意义选题的背景和意义 随着 3D 游戏和 3D 动画产业的蓬勃发展,玩 3D

10、 游戏和看 3D 动画已经成为当 今青少年主要的休闲娱乐方式之一。不过,人们对于这些游戏和动画的要求也是越 来越高。作为观众,自然希望观看的动画制作得更加逼真和细腻,人物的动作更加 的自然;而作为玩家,则希望自己控制的角色更加美观,能按照自己的意愿做出各 种动作。更有许多人已经不满足于观看现成的动画或是按固定的套路来玩游戏,而 是希望能够自己动手来设计人物的动作,来满足自己的需求。 然而,就目前而言,想要自己设计动画,哪怕只是一些简单的动作,不管使用 哪种软件,都是需要一定的动画制作知识和相关软件使用知识的。对于很多没有接 触过这方面知识的人来说,可能更希望有一款方便的软件,通过一些“傻瓜”式

11、的操 作,就能够轻松的设计出人体动作,乃至完整的动画。 正是基于这种想法,本文开发了一个人体动作设计系统。通过一个简单的交互 界面,能够让普通用户在没有任何动画制作知识的情况下,通过简单的操作,设计 出自己想要的人体动作并最终生成动画。 1.2 相关技术以及国内外的发展现状相关技术以及国内外的发展现状 1.2.1 关键帧动画关键帧动画 本文中开发的人体动作设计系统最终是为了让用户设计自己想要的人体动画, 采用的动画形式是关键帧动画。 动画一词在英文中比较正式的翻译是 animation,动词 animate 是赋予生命,引 申为使某物活起来的意思。所以 animation 可以解释为经由创作者

12、的安排,使原本不 具生命的东西像获得生命一般地活动1。 动画是通过把人、物的表情、动作、变化等分段画成许多画幅,再用摄影机连 续拍摄成一系列画面,给视觉造成连续变化的图画。它的基本原理与电影、电视一 样,都是视觉原理2。医学已证明,人类具有“视觉暂留”的特性,就是说人的眼睛看 2 华华 中中 科科 技技 大大 学学 硕硕 士士 学学 位位 论论 文文 到一幅画或一个物体后,在 1/24 秒内不会消失。利用这一原理,在一幅画还没有消 失前播放出下一幅画,就会给人造成一种流畅的视觉变化效果。因此,电影采用了 每秒 24 幅画面的速度拍摄播放,电视采用了每秒 25 幅(PAL 制,中国电视就用此 制

13、式)或 30 幅(NTSC 制)画面的速度拍摄播放。如果以每秒低于 24 幅画面的速度 拍摄播放,就会出现停顿现象。 所谓的帧就是动画中最小单位的单幅影像画面,相当于电影胶片上的每一格镜 头3。 而关键帧则相当于二维动画中的原画。 指角色或者物体运动或变化中的关键动 作所处的那一帧。关键帧与关键帧之间的动画可以由软件来创建,叫做过渡帧或者 中间帧4,5。关键帧的概念来源于传统的卡通片制作。在早期 Walt Disney 的制作室, 熟练的动画师设计卡通片中的关键画面,也即所谓的关键帧,然后由一般的动画师 设计中间帧。在三维计算机动画中,中间帧的生成由计算机来完成,插值代替了设 计中间帧的动画师

14、。所有影响画面图象的参数都可成为关键帧的参数,如位置、旋 转角、 纹理的参数等。关键帧技术是计算机动画中最基本并且运用最广泛的方法6,7。 另外一种动画设置方法是样条驱动动画。在这种方法中,用户采用交互方式指定物 体运动的轨迹样条。 关键帧是一种很灵活的方法,但有一个严重的缺点,即动作的持续时间与逼真 程度往往与设计者所付出的劳动成正比8,9。之所以这样说,是因为设计者所设计的 关键帧越多,则动作持续时间就越长,动作越逼真。那么在帧数一定的情况下,如 何才能使动作尽可能的逼真呢?这就要靠插值算法了。 所谓插值,就是要计算关键帧与关键帧之间的中间帧。从原理上讲,关键帧插 值问题可归结为参数插值问

15、题,传统的插值方法都可应用到关键帧方法中。但关键 帧插值又与纯数学的插值不同,它有其特殊性10。一个好的关键帧插值方法必须能 够产生逼真的运动效果并能给用户提供方便有效的控制手段。一个特定的运动从空 间轨迹来看可能是正确的,但从运动学或动画设计来看可能是错误的或者不合适的。 用户必须能够控制运动的运动学特性,即通过调整插值函数来改变运动的速度和加 速度。 本文中采用的插值算法是线性插值和球面线性插值结合的方式,下一章里会有 3 华华 中中 科科 技技 大大 学学 硕硕 士士 学学 位位 论论 文文 详细介绍。 1.2.2 顶点动画与骨骼动画顶点动画与骨骼动画 对人体动作动画的设计来说,当前主要

16、有 2 种动画的方式,即顶点动画和骨骼 动画。 两种动画方式都是通过记录关键帧的数据,然后利用插值的方式来得到平滑的 动画,所以两种动画都属于关键帧动画。区别在于,顶点动画的关键帧记录的是所 有顶点的位置,而骨骼动画的关键帧记录的是骨骼或者是关节的位置,因此骨骼动 画又可以被称做关节动画11。 目前大部分的 3D 游戏都采用的是骨骼动画的方式来设计, 因为骨骼动画有更多 的优点。不同的骨骼动画可以被结合到一起12比如,模型可以转动头部、射击 并且同时也在走路。一些引擎可以实时操纵单个骨骼,这样就可以和环境更加准确 地进行交互模型可以俯身并向某个方向观察或射击,或者从地上的某个地方捡 起一个东西。而且骨骼动画可以更容易、更快捷地创建。对于骨骼动画来说,每一 个关节点会绑定一个或多个网格(Mesh),这样人体在做动作的时候,只需要控制关 节进行旋转平移的动作,上面绑定的网格就会随之进行动作,这样就不用像顶点动 画里面那样,需要对每一个顶点进行动作,从而节约

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号