标题：MayaMEL动画编程从入门到精通
图书信息
出版社: 兵器工业出版社，北京希望电子出版社; 第1版 (2005年3月1日)
平装: 344页
开本: 16开
ISBN: 7801722493
条形码: 9787801722492
尺寸: 27 x 19.6 x 4.2 cm
重量: 699 g
内容简介
《MayaMEL动画编程从入门到精通》(1CD)作者在一线专攻Maya多年，积累了丰富的实战经验。全书共分13章，第1章为Maya入门之作，主要针对Maya入门级用户，3个经典实例可以让读者迅速掌握Maya的所有功能设置；第2～10章为MEL篇，主要针对Maya中高级用户，由浅入深、详细讲解了MEL语法结构和各种函数命令；第11～13章为实战篇，通过精彩实例让读者系统地运用MEL做出高级别的制作效果。《MayaMEL动画编程从入门到精通》(1CD)最大特点是抛弃大量繁琐的文字讲解，运用图形来陈述步骤。每一张图形都尽量采用全屏图，且标注了步骤流程线和操作项，简洁直观，让读者从文字讲解的苦海中脱离出来。Maya是时下一个极端流行的三维动画制作软件，MEL是Maya追求者渴望的巅峰技术，掌握MEL代表着Maya技能的全面逾越。
目录
第1章 Maya入门 1
1.1 Maya的界面 1
1.1.1 Maya的界面 1
1.1.2 菜单栏 1
1.1.3 状态栏 3
1.1.4 工具架 3
1.1.5 通道栏 4
1.1.6 时间和时间范围滑块 4
1.1.7 命令行 4
1.1.8 脚本编辑器图标 5
1.1.9 Maya的工作空间 5
1.2 Maya的基本操作 11
1.2.1 鼠标的操作 11
1.2.2 浮动菜单 12
1.3 实例1——红苹果 12
1.3.1 建模 12
1.3.2 材质 17
1.3.3 渲染 28
1.3.4 保存图像 29
1.3.5 Maya文件的保存、导入与导出 30
1.4 实例2——水晶苹果 33
1.4.1 导入 33
1.4.2 绘画水晶 34
1.4.3 水晶苹果 37
1.5 实例3——魔幻苹果 41
1.5.1 材质 41
1.5.2 苹果蒂 61
1.5.3 环境 71
第2章 编辑器和语法规则 79
2.1 脚本编辑器简介 79
2.1.1 打开方式 79
2.1.2 脚本编辑器视窗 80
2.1.3 使用脚本编辑器的菜单 80
2.2 命令行（Command Line） 96
2.3 表达式编辑器Expression Editor简介 96
2.3.1 启动Expression Editor 96
2.3.2 表达式简介 98
2.4 MEL命令、MEL脚本和Expression的区别与联系 99
2.5 MEL的基本语法规则 99
第3章 MEL的核心——算法 101
3.1 算法 101
3.2 B-J流程图表示算法 101
3.3 三种基本结构 104
3.3.1 三种基本结构图解 104
3.3.2 三种基本结构的共同特点 104
3.4 N-S流程图 105
3.4.1 三种基本结构 105
3.4.2 N-S流程图表示算法的优点 106
3.5 伪代码 107
3.6 结构化程序设计方法 107
第4章 变量和常量 108
4.1 变量 108
4.1.1 概念 108
4.1.2 语法规则 108
4.1.3 声明变量并赋值 109
4.1.4 保留字 110
4.2 六种变量类型 111
4.2.1 整型变量 111
4.2.2 浮点型变量 111
4.2.3 字符串 112
4.2.4 矢量 112
4.2.5 数组 113
4.2.6 矩阵 114
4.3 数据类型的转换 115
4.3.1 数据类型的转换结果 115
4.3.2 自动转换 116
4.3.3 手动的转换 117
4.3.4 Maya的局限性 118
4.3.5 精确度和最大数值长度 119
4.3.6 溢出错误 119
4.4 物体属性 119
4.4.1 属性 119
4.4.2 物体属性的命名 119
4.4.3 路径 120
4.4.4 物体属性的数据类型 120
4.5 全局和局部变量 121
4.5.1 局部变量 121
4.5.2 全局变量 121
4.6 常量 121
第5章 MEL的顺序结构 122
5.1 顺序结构 122
5.2 四种类型的运算 122
5.2.1 赋值运算 122
5.2.2 算术运算 124
5.2.3 关系运算 129
5.2.4 条件运算 133
5.3 运算的顺序 133
5.3.1 优先性 133
5.3.2 成组 134
5.4 习题 134
第6章 MEL的选择结构 141
6.1 if语句 141
6.1.1 if 语句 141
6.1.2 if else 语句 142
6.1.3 if else if 语句 144
6.1.4 if 语句的嵌套 146
6.2 switch语句 149
6.3 习题 151
第7章 MEL的循环结构 160
7.1 循环结构 160
7.1.1 while语句 160
7.1.2 do-while语句 162
7.1.3 for语句 163
7.1.4 for-in语句 166
7.1.5 循环嵌套 167
7.1.6 break语句 169
7.1.7 continue 语句 171
7.2 习题 172
第8章 数组 178
8.1 一维数组 178
8.1.1 一维数组的定义和引用 178
8.1.2 一维数组的初始化 181
8.2 二维数组 188
8.2.1 二维数组的定义 188
8.2.2 矩阵元素的引用 189
第9章 函数 193
9.1 函数概述 193
9.2 函数分类 193
9.3 函数定义的一般形式 194
9.3.1 无参函数的定义形式 194
9.3.2 有参函数定义的一般形式 196
9.3.3 形式参数和实际参数 196
9.4 函数的调用 197
9.4.1 函数调用的一般形式 197
9.4.2 函数调用的方式 197
9.4.3 函数的嵌套调用 198
9.4.4 函数的递归调用 199
9.5 数组作为函数参数 201
9.5.1 数组元素做函数实参 201
9.5.2 数组名做函数参数 202
9.6 习题 204
第10章 常用函数和命令 213
10.1 三角函数 213
10.1.1 正弦函数sin（） 213
10.1.2 余弦函数cos ( ) 217
10.1.3 hypot（）函数 221
10.2 随机函数 222
10.2.1 rand（）函数 222
10.2.2 noise（）函数 223
10.2.3 gauss（）函数 224
10.2.4 sphrand（）函数 225
10.3 矢量函数 227
10.4 曲线函数 227
10.4.1 linestep（）函数 227
10.4.2 smoothstep（）函数 229
10.5 数组函数 231
10.5.1 size函数 231
10.5.2 clear函数 231
10.6 界限函数 232
10.6.1 abs函数 232
10.6.2 ceil函数 232
10.6.3 max函数 233
10.7 指数函数 233
10.7.1 pow函数 233
10.7.2 sqrt 234
10.8 其他命令和函数 234
10.8.1 ls命令 234
10.8.2 tokenize命令 235
第11章 模拟全局光——球灯 237
11.1 模拟全局光插件 237
11.2 ballLight的整体构架 237
11.2.1 主程序ballLight( ) 238
11.2.2 面光源splane（） 238
11.2.3 球光源ssphere（） 239
11.2.4 柱光源scylinder（） 240
11.2.5 成组parent（） 241
11.2.6 连接属性connect（） 241
11.2.7 渲染属性renders（） 242
11.3 ballLight( )的安装 242
11.3.1 拷贝文件 242
11.3.2 更改图标 244
11.3.3 创建一个球光源 245
11.4 简单的室外全局光模拟 248
11.4.1 创建球灯 248
11.4.2 渲染和效果 253
11.5 按照需要模拟全局光 254
11.6 照片级的三维自画像 260
11.7 主程序ballLight( ) 266
11.7.1 主程序ballLight( )创意 266
11.7.2 主程序ballLight( )思路图 266
11.7.3 主程序ballLight( )流程图 267
11.7.4 主程序ballLight( )程序分析 268
11.8 子程序ssphere（） 268
11.8.1 子程序ssphere（）思路图 268
11.8.2 子程序ssphere（）流程图 269
11.8.3 子程序ssphere（）程序分析 270
11.9 子程序成组parent（） 272
11.9.1 子程序成组parent（）思路图 272
11.9.2 子程序成组parent（）流程图 272
11.9.3 子程序成组parent（）程序分析 273
11.10 子程序连接connect( ) 273
11.10.1 子程序连接connect( )思路图 273
11.10.2 子程序连接connect( )流程图 274
11.10.3 子程序连接connect( )程序分析 274
11.11 子程序渲染renders( ) 275
11.11.1 子程序渲染renders( )思路图 275
11.11.2 子程序渲染renders( )流程图 276
11.11.3 子程序渲染renders( )程序分析 276
第12章 镜像光滑插件lhsmooth 277
12.1 lhsmooth插件思路图 277
12.2 镜像圆滑 277
12.2.1 导入 277
12.2.2 镜像 278
12.2.3 光滑 285
12.2.4 撤销 287
12.3 整理MEL脚本 288
12.4 lhsmooth热键插件 288
12.4.1 打开Hotkey Editor 288
12.4.2 创建lhsmooth插件 289
12.4.3 创建lhundo 291
12.5 测试热键效果 292
第13章 坦克大战 296
13.1 战情通报 296
13.2 坦克作战规划 297
13.2.1 坦克作战思路 297
13.2.2 坦克作战思路图 298
13.3 蓝军坦克的运动 298
13.3.1 蓝军坦克的运动 298
13.3.2 BlueMove思路 300
13.3.3 BlueMove流程图 301
13.3.4 BlueMove程序分析 301
13.4 蓝军坦克的射击 302
13.4.1 创建一个发射器 302
13.4.2 调整发射器和粒子属性 304
13.4.3 创建一个碰撞 306
13.4.4 重命名新粒子，并调整属性 307
13.5 蓝军坦克的瞄准 310
13.5.1 创建Aim约束 310
13.5.2 创建Aim的表达式 311
13.6 蓝军坦克的命中与结束 313
13.6.1 创建hitRed表达式 313
13.6.2 创建redColorAndOver表达式 316
13.6.3 HitRed流程图 319
13.6.4 HitRed程序分析 320
13.6.5 RedColorAndOver程序思路 321
13.6.6 RedColorAndOver程序分析 322
13.7 红军坦克的运动 323
13.7.1 打开Hotkey Editor 323
13.7.2 设置6个热键 324
13.7.3 移动红军坦克 327
13.8 红军坦克的射击 331
13.8.1 创建一个发射器 331
13.8.2 调整发射器和粒子的属性 333
13.8.3 创建一个发射炮弹的热键 334
13.9 红军坦克的命中与结束 337
参考文献 349