《Maya MEL动画编程从入门到精通》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:罗汉编著
  • 出 版 社:北京:兵器工业出版社
  • 出版年份:2005
  • ISBN:7801722493
  • 页数:345 页
图书介绍:本书介绍了三维动画制作软件Maya Mel从入门到精通的过程,共分13章。

第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.3.1 建模 12

1.3 实例1——红苹果 12

1.2.2 浮动菜单 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.1 脚本编辑器简介 79

2.1.1 打开方式 79

第2章 编辑器和语法规则 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.1 三种基本结构 105

3.4 N-S流程图 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.2 全局变量 121

4.6 常量 121

4.5.1 局部变量 121

4.5 全局和局部变量 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.1 if语句 141

6.1.1 if语句 141

第6章 MEL的选择结构 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.2 函数调用的方式 197

9.4 函数的调用 197

9.4.1 函数调用的一般形式 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.1 rand()函数 222

10.2 随机函数 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.7 指数函数 233

10.7.1 pow函数 233

10.6.3 max函数 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.3.1 拷贝文件 242

11.3 ballLight()的安装 242

11.2.7 渲染属性renders() 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.2.1 导入 277

12.2 镜像圆滑 277

12.1 lhsmooth插件思路图 277

第12章 镜像光滑插件lhsmooth 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.3.1 蓝军坦克的运动 298

13.2.2 坦克作战思路图 298

13.3 蓝军坦克的运动 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