计算机动画设计指南
作者:Rick Parent
出版时间:2013-5-1
【图书简介】
《计算机动画设计指南:运动捕捉、角色特征、点图及MayaWinning技术》详细阐述了与计算机动画相关的高效解决方案及相应的数据结构和算法,主要包括计算机动画概述、技术背景、运动捕捉入门、运动数据、面部特征动画、实体空间的动画、流体和气体的动画化、动画生物学、基于点的动画、Maya内部原理解析、MEL动画、MEL的刚体动力学范例、MEL的角色装配范例、建立你的角色以及MEL命令基础等内容。此外,书中还提供了相应的算法、代码以及伪代码,以帮助读者进一步理解相关方案的实现过程。《计算机动画设计指南:运动捕捉、角色特征、点图及MayaWinning技术》适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学教材和参考手册。
【本书目录】
1.1 感知 1 1.2 动画的变迁 3 1.2.1 早期设备 3 1.2.2 早期的传统动画 5 1.2.3 迪斯尼(Disney) 6 1.2.4 其他贡献者 7 1.2.5 其他动画媒介 8 1.2.6 动画的原理 8 1.2.7 电影制作的原理 9 1.3 动画的生产 12 1.4 计算机动画的生产 16 1.4.1 计算机动画的生产任务 17 1.4.2 数字编辑 19 1.4.3 数字视频 21 1.4.4 数字音频 22 1.5 计算机动画简史 23 1.5.1 早期的活跃者(1980年以前) 23 1.5.2 中间的几年(1980年左右) 25 1.5.3 动画时代(20世纪80年代中期至今) 27 1.6 本章总结 30 参考文献 30 第2章 技术背景 33 2.1 空间与变换 33 2.1.1 显示流水线 34 2.1.2 齐次坐标和变换矩阵 38 2.1.3 变换的合成:级联变换矩阵 38 2.1.4 基本变换 39 2.1.5 任意方位的重新表达 41 2.1.6 从矩阵中分解变换 44 2.1.7 显示流水线中的变换操作 45 2.1.8 误差估计 46 2.2 方位的表达 49 2.2.1 固定角度(Fixed-Angle)表示法 50 2.2.2 欧拉角度(Euler Angle)表示法 52 2.2.3 角度与轴(Angle and Axis)表示法 53 2.2.4 四元数(Quaternion)表示法 54 2.2.5 指数映射(Exponential Map)表示法 56 2.3 本章总结 56 参考文献 56 第3章 运动捕捉入门 57 3.1 运动捕捉与表演动画 57 3.2 表演动画在娱乐业的发展历史 57 3.2.1 转描(Rotoscope) 57 3.2.2 Brilliance 58 3.2.3 Pacific Data Images 60 3.2.4 deGraf/Wahrman 63 3.2.5 Kleiser-Walczak公司 63 3.2.6 Homer and Associates 64 3.3 动作捕捉的类型 66 3.3.1 光学动作捕捉系统 66 3.3.2 电磁追踪器 69 3.3.3 机电设备 72 3.3.4 数字电枢 73 3.3.5 其他动作捕捉系统 75 3.4 动作捕捉在各行各业中的应用 77 3.4.1 医学界 77 3.4.2 体育界 78 3.4.3 娱乐界 78 3.4.4 法律界 79 第4章 运动数据 81 4.1 运动数据类型与格式 81 4.1.1 Acclaim文件格式 82 4.1.2 .asf文件 83 4.1.3 .amc文件 85 4.1.4 .bva文件格式 87 4.1.5 .bvh文件格式 88 4.1.6 .trc文件格式 91 4.1.7 .htr文件格式 94 4.2 编写运动捕捉解析工具 102 第5章 面部特征动画 132 5.1 人脸 132 5.1.1 面部结构解析 132 5.1.2 面部表情编码系统(FACS) 132 5.2 面部模型 134 5.2.1 构建连续的表面模型 135 5.2.2 纹理 139 5.3 制作面部动画 139 5.3.1 参数化模型 139 5.3.2 融合变形 140 5.3.3 肌肉模型 140 5.3.4 表情 143 5.3.5 总结 144 5.4 口型同步动画制作 144 5.4.1 发音器 144 5.4.2 音素 145 5.4.3 协同发音 146 5.4.4 韵律学 146 5.5 本章总结 146 参考文献 146 第6章 实体空间的动画 149 6.1 动画路径 150 6.2 实体纹理(solid texture)的动画化 150 6.2.1 大理石生成 151 6.2.2 大理石运动 153 6.2.3 实体纹理透明(solid-textured transparency)的动画 154 6.3 气体体积的动画 155 6.4 三维晶格体 162 6.4.1 访问晶格体数据 163 6.4.2 功能流程形式的晶格体 163 6.4.3 功能流程函数 164 6.4.4 功能的集合 167 6.5 超纹理(hypertexture)的动画化 170 6.6 粒子系统:另一种过程动画技术 171 6.7 本章总结 174 参考文献 174 第7章 流体和气体的动画化 176 7.1 特殊的流体类型 176 7.1.1 水的模型 176 7.1.2 云的模型(作者:David Ebert) 185 7.1.3 火的模型 192 7.2 计算流体力学 194 7.2.1 建模流体的一般方法 195 7.2.2 计算流体力学方程 196 7.3 本章总结 200 参考文献 200 第8章 动画生物学 203 8.1 概述 203 8.2 动画和电影的感知 203 8.2.1 视觉的简述 203 8.2.2 运动和动画的视觉 205 8.3 动画师的工作流程 206 8.4 工作流程三段论 207 8.4.1 流程阶段1:预生产 208 8.4.2 流程阶段2:生产 213 8.4.3 流程阶段3:生产后处理 220 8.4.4 放在一起考虑 220 8.5 动画 221 8.6 Maya 221 8.6.1 过程式动画与关键帧动画 221 8.6.2 关键帧与内存 222 8.6.3 Animation菜单集 222 8.6.4 设置关键帧 223 8.6.5 自动关键帧 224 8.6.6 图示动画 224 8.6.7 删除关键帧 226 8.6.8 时间单位 226 8.6.9 回放设置 226 8.7 教程08.01:关键帧动画 227 8.7.1 准备工作 227 8.7.2 设置关键帧 228 8.7.3 播放、拖动和停止动画 229 8.7.4 编辑动画曲线 229 8.7.5 Graph Editor 230 8.7.6 Graph Editor的Graph View 230 8.7.7 Graph Editor工具栏 231 8.7.8 移动关键帧项 232 8.8 Hypergraph和Attribute Editor中的动画节点 232 8.9 教程08.02:简单的过程式动画 233 8.9.1 动画表达式概述 233 8.9.2 创建动画表达式 233 8.9.3 动画表达式节点 235 8.10 本章总结 235 参考文献 236 第9章 基于点的动画 237 9.1 导言 237 9.2 无网格的有限元 237 9.2.1 概述 237 9.2.2 连续弹力 238 9.2.3 无网格的离散化 241 9.2.4 移动最小二乘法 242 9.2.5 更新应变与应力 243 9.2.6 通过应变能量计算受力 244 9.2.7 弹性物体的动画化 245 9.2.8 塑料 247 9.2.9 被动的表面点集(surfel)对流 248 9.2.10 总结 248 9.3 碎裂材质的动画 248 9.3.1 概述 249 9.3.2 历史背景 250 9.3.3 不连续的建模 250 9.3.4 表面模型 252 9.3.5 裂缝的初始化和增殖 253 9.3.6 拓扑控制 253 9.3.7 体积采样 255 9.3.8 破碎的控制 257 9.3.9 模拟流水线 257 9.3.10 结论 258 9.4 流体模拟 258 9.4.1 概述 258 9.4.2 模拟方法 258 9.4.3 平滑粒子的流体动力学 260 9.4.4 表面表达 264 9.4.5 使用采样点进行表面跟踪 265 9.4.6 总结 268 参考文献 268 第10章 Maya内部原理解析 272 10.1 为什么要剖析Maya内部原理 272 10.2 从属图、属性、属性连接 272 10.3 范例1:使用Hypergraph浏览从属图 277 10.4 变换层次与父子关系 280 10.5 检查层次结构 281 10.6 变换节点(Transform)和形状节点(Shape) 282 10.7 范例2:了解变换节点和形状节点、实例化,以及历史节点 282 10.8 MEL和Maya用户界面 285 10.9 Maya场景的后台处理备忘录 285 第11章 MEL动画 286 11.1 动画 286 11.1.1 时间 286 11.1.2 实时回放 288 11.1.3 动画曲线 289 11.1.4 骨骼系统 305 11.1.5 运动路径(motion path) 317 第12章 MEL的刚体动力学范例 320 12.1 范例1:粒子碰撞 320 12.1.1 创建场景 320 12.1.2 与粒子碰撞 323 12.1.3 对碰撞进行控制 325 12.1.4 geoConnector中的其他控制手段 325 12.1.5 在MEL中完成场景 326 12.2 范例2:碰撞事件 327 12.2.1 概述 328 12.2.2 添加发射器和粒子 328 12.2.3 动力学关系 330 12.2.4 限制粒子数目,添加重力 331 12.2.5 添加更多的碰撞 332 12.2.6 事件 332 12.2.7 篮子的表达式 334 12.2.8 编辑设置来修复问题 336 12.2.9 速度 337 12.3 范例3:刚体动力学的物体间碰撞 337 12.3.1 编写复制和定位的脚本 339 12.3.2 组装字符串变量时的常见错误 340 12.3.3 创建碰撞盒