1、 摘 要 近年来,虚拟人的行为再现技术成为研究热点之一,无论是在许多涉及到人类自身的应用研究上(例如载人航天、多兵种军事训练与演练、医疗手术的模拟与训练等),还是在三维游戏、计算机动画、影视制作等领域,都迫切需要实现对人类外观和动作行为的模拟仿真。因为人物运动的复杂性,无论是在人体建模和底层动作控制技术上还是在高层行为控制技术上,都存在着许多技术难题。 本文讨论研究了产生逼真人物行为动画时会遇到的问题及解决方案。将由三维模型软件制作导出的模型文件和由动作捕捉设备导出的骨骼动作文件作为输入,输出为模型动画再现 。 首先,分析了 3ds 格式的三维模型文件内容,及如何对再现的模型进行全方位观察。其
2、次,分析了 bvh 格式的骨骼动作文件内容,再现了文件中所包含的骨架信息和运动信息,形成骨骼动画。然后,将运动数据和建模得到的人体模型相结合,产生实时人体骨骼蒙皮动画。并对多种骨骼皮肤绑定技术进行介绍分析,提出了一个比较完整的骨骼皮肤绑定流程,并选择实现骨骼皮肤点绑定算法。 最终实现了一个基于 OpenGL 图形库与 MFC 程序框架的系统,对三维模型文件和骨骼动作文件进行再现,并将模型和骨骼进行匹配,获得骨骼驱动模型生成动画的效果。 关键字 : 三维模型;运动控制;骨骼蒙皮; Abstract The reproduction of a virtual humans behavior tec
3、hnology has become one of the hot research topics in recent years. The simulation of human looks and actions is in a pressing need whether in the research involving human being itself, such as manned space flight, arms military training and exercises, the simulation and training of surgical operatio
4、ns, etc, or in the fields of three-dimensional games, computer animation, film and television production. Because of the complexity of human motions, there are many technical problems whether in the modeling of human and human motion controlling technology and high-level behavior control technology.
5、 This article discusses the problems and solutions might be encountered in the research of generating realistic animated figures behavior. The input is the model file produced by three-dimensional modeling software and the skeleton file exported by motion capture equipment, and the output is a model
6、 animation. First of all, we analysis the content of three-dimensional model 3ds format file and how to provide a all-round observation of reproduced model file. Secondly, we analysis the content of skeleton file in bvh format, which reproduces the skeleton information and motion information contain
7、ed in the file, forming a skeleton animation. Then, we combine motion data and model of human body, and produce a real-time skinned skeleton animation. We analysis many kinds of skin and skeleton binding technology, and produce a complete binding process and a realization of the binding algorithm. E
8、ventually, I have developed a system based on OpenGL graphics library and the MFC Framework, which reproduces the three-dimensional model and skeleton motion, and matches the model and skeleton, generating animation effects produced by skeleton-driven model. Key words: 3D model; motion control; skel
9、eton animation 目 录 第一章 绪论 . 1 1.1 研究的背景及意义 . 1 1.2 论文组织结构 . 2 第二章 开发工具与相关技术 . 3 2.1 系统开发工具 . 3 2.1.1 Microsoft Visual C +编程平台及 MFC 库 . 3 2.1.2 图形编程库 OpenGL 的介绍 . 3 2.1.3 三维建模工具 3D Studio Max 简介 . 4 2.2 三维图形学相关知识 . 5 2.2.1 三维图形的几何变换和投影变换 . 5 2.2.2 欧拉角与四元数 . 6 第三章 三维建模技术分析 . 9 3.1 人体建模技术分析 . 9 3.1.1 线
10、框建模 . 9 3.1.2 实体建模 . 10 3.1.3 人体曲面建模 . 10 3.1.4 基于物理的建模 . 10 3.2 外部模型导入 . 11 3.2.1 3ds 结构文件分析 . 11 3.2.2 读入 3ds 模型文件 . 12 3.2.3 三维模型数据保存 . 13 3.2.4 计算模型顶点的法向量 . 14 3.3 交互式观察模型实现 . 15 3.3.1 三维模型再现 . 15 3.3.2 三维模型大小规格化 . 16 3.3.3 观察三维模型 . 17 第四章 骨骼动作文件的分析与再现 . 19 4.1 骨骼动作文件介绍 . 19 4.2 虚拟人的骨骼架构 . 19 4.
11、3 BVH 骨骼动作文件的读取 . 20 4.3.1 BVH 文件分析 . 20 4.3.2 存储 BVH 文件内容 . 22 4.4 骨骼动作行为实现 . 23 第五章 骨骼皮肤绑定技术 . 27 5.1 骨骼皮肤绑定技术综述 . 27 5.2 骨骼皮肤数据匹配 . 28 5.3 皮肤绑定权计算 . 33 5.3.1 皮肤点绑定算法介绍 . 33 5.3.2 点绑定算法实现 . 34 5.4 动画生成和效果检测 . 35 5.4.1 动画生成 . 35 5.4.2 效果检测 . 36 第六章 总结与展望 . 37 参考文献 . 38 致 谢 . 39 Contents Chapter1 In
12、troduction. 1 1.1 Background. 1 1.2 Architecture of Thesis . 2 Chapter2 Developing Tools and Environment . 3 2.1 System Developing Tools . 3 2.1.1 Microsoft Visual C + And MFC Library . 3 2.1.2 Graphical Programming Library OpenGL . 3 2.1.3 Modeling Tool 3D Studio Max. 4 2.2 Three-dimensional Graphi
13、cs Knowledge. 5 2.2.1 Geometric and Projection Transformation . 5 2.2.2 Euler Angle and Quaternion . 6 Chapter3 Analysis of Modeling Techniques . 9 3.1 Human Modeling . 9 3.1.1 Wireframe Modeling . 9 3.1.2 Solid Modeling . 10 3.1.3 Body Surface Modeling. 10 3.1.4 Physics-based Modeling . 10 3.2 Impo
14、rting External Models. 11 3.2.1 3ds File Analyzer . 11 3.2.2 3ds Model File Reading. 12 3.2.3 Model Struct . 13 3.2.4 Normal Vector calculation . 14 3.3 Interactive Observation Model . 15 3.3.1 Models Reproduction . 15 3.3.2 Standardized of The Model Size . 16 3.3.3 Observation of Model . 17 Chapter
15、4 Skeletal Motion File . 19 4.1 Skeletal Motion File Introduction . 19 4.2 Virtual Human Skeleton Structure. 19 4.3 BVH Skeletal Motion File Reading . 20 4.3.1 BVH File Analyzer . 20 4.3.2 The Content of BVH File . 22 4.4 Skeletal Animation to Achieve . 23 Chapter5 Skin Skeleton Binding. 27 5.1 Over
16、view . 27 5.2 Skin Skeleton Pair . 28 5.3 Skin Weight Calculation . 33 5.3.1 Algorithm Overview . 33 5.3.2 Vertex Blending Algorithm. 34 5.4 Animation Generation and Detection of The Effect . 35 5.4.1 Animation Generation . 35 5.4.2 Detection of The Effect . 36 Chapter6 Summary . 37 References . 38
17、Acknowledgements . 39 基于人体模型的三维角色控制 1 第一章 绪论 1.1 研究的背景及意义 进入 21 世纪,随着计算机技术高速发展与人类对于未知世界的不断探索,在许多复杂和危险的情况下运用虚拟人来代替人类进行科学研究的需求变得越来越 强烈。虚拟人技术在虚拟现实、三维计算机动画、体育系统仿真、载人航天、虚拟主持人、军事、医学等领域内得到越来越广泛的应用 1。 虚拟人( Virtual Human)是人在计算机生成空间(虚拟环境)中的几何特性与行为特性的表示 2,是多功能感知与情感计算的研究内容。三维虚拟人是指虚拟人所处环境和自身几何特性是三维的。它的技术的研究涉及到计算
18、机图形学、运动学与动力学、多功能感知、人工智能、虚拟现实等多个学科,是一个交叉应用学科。但由于这项技术起步较晚,加上人体本身的复杂性以及目前计算资源的有限性,三维虚拟人技 术仍存在许多亟待解决的问题。 从以上概念中可以看出虚拟人不仅具有几何特性,而且具有行为特性。即对虚拟人进行建模,不仅要建立几何模型,而且要建立运动模型。因此针对虚拟人技术的研究大致可以分为虚拟人的几何表达、虚拟人的运动控制、虚拟人的行为表达以及虚拟人的认知表达 4 个主要方面。前两个主要方面从虚拟人几何和行为特性逼真性的角度进行研究,而后两个方面主要从虚拟人的社会性和智能化角度进行研究。而本文主要从前两个方面对其进行探究。其中虚拟人的几何建模方式主要有线框建模、实体建模、人体曲面建模、基于物理的建模等方法,而运 动模型的建立则可基于关键帧方法、运动学方法、动力学方法