《Maya脚本应用手册 表达式与MEL语言》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:王澄宇编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2013
  • ISBN:9787115305435
  • 页数:511 页
图书介绍:本书作者为Autodesk公司授予的Maya Training Master, 多年来一直从事Maya软件的教学与生产活动,有多部相关箸作。本书全面讲解表达式+Mel语言模块在脚本方面的应用,全书共分为12章。

第1章 表达式、脚本和Plug-in 1

1.1超越Maya界面 1

1.2 Maya表达式 2

1.2.1表达式与动画 2

1.2.2表达式与材质 6

1.2.3表达式与动力学 6

1.3脚本 7

1.3.1脚本应用 7

1.3.2脚本与表达式 10

1.3.3 MEL脚本 11

1.4 Plug-in 12

1.5内容回顾 13

第2章 第一个表达式——直升机螺旋桨 14

2.1例2-1:螺旋桨的旋转 14

2.1.1案例制作 14

2.1.2实例说明 16

2.1.3匀速变化的动画曲线与运动规律 17

2.2例2-2:螺旋桨启动——加速运动 19

2.2.1案例制作 19

2.2.2实例说明 19

2.2.3螺旋桨的完成动作——重新构造表达式 22

2.3表达式编辑窗口 23

2.3.1表达式操作过程 24

2.3.2表达式编辑窗口菜单 25

2.4 Maya的预定义函数 25

Maya预定义函数的类型 26

2.5内容回顾 27

第3章 滚动的箱子(一) 28

3.1任务分析 28

3.2例3-1:用表达式控制骨链动画 30

3.2.1案例制作 30

3.2.2表达式分析说明 36

3.3数据变量 40

3.3.1变量的类型 40

3.3.2变量的定义 40

3.3.3变量的匹配 41

3.3.4变量的表示 42

3.4运算 43

3.4.1数学运算 43

3.4.2关系运算 46

3.4.3逻辑运算 47

3.5条件语句 48

3.5.1 if语句 48

3.5.2 switch语句 49

3.6重新构造表达式 51

3.7内容回顾 53

第4章 滚动的箱子(二) 54

4.1任务分析 54

4.2用表达式控制箱子滚动 55

4.2.1转动第一个90° 55

4.2.2找到通用公式 56

4.2.3修改动画 57

4.3滚动五棱柱 58

4.3.1分析五棱柱的滚动过程 58

4.3.2用表达式控制五棱柱的滚动 59

4.4滚动六棱柱 61

4.5内容回顾 61

第5章 推拉门 62

5.1任务分析 62

5.2用locator的移动控制推拉门 64

5.2.1一个推拉单元 64

5.2.2两个推拉单元 66

5.2.3分析N个单元的推拉门 68

5.2.4表达式控制的完整推拉门 69

5.2.5重写控制推拉门的表达式 73

5.2.6对新表达式的说明 74

5.3数组变量 75

5.4循环语句 76

5.4.1循环语句的基本形式 76

5.4.2 while循环 76

5.4.3 do-while循环 78

5.4.4 for循环 79

5.4.5 for-in循环 81

5.4.6 continue语句和break语句 82

5.5表达式与MEL命令 84

5.6内容回顾 86

第6章 音响指示灯 87

6.1任务分析 87

6.2例6-1——简单音响灯效果 87

6.3案例说明 92

6.4例6-2——音响设备指示灯组 93

6.5案例补充说明 100

6.6内容回顾 101

第7章 动力学表达式——龙卷风 102

7.1粒子系统的特性 102

7.1.1多态性 103

7.1.2生命值 103

7.1.3过程控制与初始状态 103

7.1.4粒子系统的表达式 103

7.2任务分析 105

7.3例7-1——龙卷风的制作过程 106

7.4表达式分析 113

7.4.1运动分解 113

7.4.2例7-2——粒子沿曲线运动 115

7.4.3圆周运动的数学描述 118

7.4.4例7-3——粒子的圆周运动 119

7.4.5例7-4——沿螺旋线运动的粒子 120

7.4.6例7-5——沿渐开螺旋线运动的粒子 121

7.4.7描述龙卷风的外轮廓线 122

7.4.8例7-6——龙卷风雏形 125

7.4.9例7-7——分散粒子分布 126

7.4.10加入控制曲线影响 127

7.5内容回顾 127

第8章 海面 129

8.1海面制作 129

8.1.1操作步骤 129

8.1.2制作分析 132

8.1.3改进控制 136

8.1.4重新制作海面 137

8.2内容回顾 143

第9章 MEL概述 144

9.1自己的第一个脚本 144

9.1.1记录一个MEL命令 144

9.1.2 Scripts Editor操作说明 145

9.1.3深入了解sphere命令 147

9.1.4 sphere命令的其他状态 149

9.2 MEL命令的一般形式 152

9.2.1 MEL命令的使用格式 152

9.2.2 MEL命令的修饰词 153

9.2.3 MEL中的常用符号 154

9.2.4 MEL命令与脚本命令 158

9.3物体的显隐开关 158

9.3.1制作一个物体显隐切换开关 158

9.3.2简化脚本 159

9.3.3修改脚本 160

9.4内容回顾 160

第10章 建立操作窗口 162

10.1 Maya窗口元素 162

10.1.1 Attribute Editor窗口元素 162

10.1.2窗口命令的分类 163

10.2建立窗口 164

10.2.1定义新窗口命令——Window 164

10.2.2显示窗口命令——showWindow 167

10.3窗口布局 168

10.3.1 formLayout命令 168

10.3.2 columnLayout命令 174

10.3.3 rowLayout命令 176

10.3.4 scrollLayout命令 180

10.3.5 frameLayout命令 181

10.3.6 setParent命令 184

10.3.7 deleteUI命令 185

10.4控制体的一般工作方式 187

10.4.1反应方式 187

10.4.2控制过程 188

10.5颜色控制体 188

10.5.1 attrColorSliderGrp命令 189

10.5.2 colorIndexSliderGrp命令 191

10.6数字输入控制体 193

10.6.1数字输入控制体所包含的内容 193

10.6.2 floatField命令 194

10.6.3 floatFieldGrp命令 195

10.6.4 floatSlider命令 198

10.6.5 floatSliderButtonGrp命令 198

10.6.6 floatSliderGrp命令 199

10.6.7 intField命令 199

10.6.8 intFieldGrp命令 199

10.6.9 intSlider命令 199

10.6.10 intSliderGrp命令 199

10.7文字控制体 199

10.7.1 text命令 199

10.7.2 textField命令 200

10.7.3 textFieldButtonGrp命令 200

10.7.4 textFieldGrp命令 202

10.8选择控制体 202

10.8.1 radioButton命令 203

10.8.2 radioButtonGrp命令 204

10.8.3 checkBoxGrp命令 205

10.9按钮命令——button 206

10.10内容回顾 208

第11章 用户菜单文件 211

11.1制作菜单 211

11.1.1 menu命令 211

11.1.2 menultem命令 212

11.1.3 setParent命令 213

11.2自动调用的用户菜单 215

11.2.1用户菜单文件 215

11.2.2菜单文件的调用过程 216

11.3内容回顾 217

第12章 属性编辑工具 218

12.1任务分析 218

12.2录入脚本 219

12.3脚本剖析 224

12.3.1窗口内容分析 224

12.3.2调用内容分析 225

12.4操作窗口 225

12.4.1操作窗口界面代码 225

12.4.2操作窗口代码中的固定格式 228

12.4.3操作窗口代码中的容错处理 229

12.4.4操作窗口的界面元素 231

12.4.5窗口界面元素布局调整 236

12.4.6操作窗口状态切换 237

12.5场景操作 239

12.5.1脚本任务分析 239

12.5.2脚本内容 240

12.5.3脚本固定格式行 242

12.5.4读取窗口参数信息 242

12.5.5物体列表 245

12.5.6 nodeType命令 247

12.5.7节点类型判断 249

12.5.8修改属性状态操作 249

12.6编辑、保存脚本文件 250

12.6.1编辑脚本文件 250

12.6.2保存文件 250

12.7内容回顾 251

第13章 自定义符号 253

13.1任务分析 254

13.2合并物体形状节点 255

13.2.1 parent命令 256

13.2.2改变形状节点父节点 258

13.3撰写脚本 259

13.3.1脚本工作方式 259

13.3.2脚本工作内容列表 259

13.3.3脚本逻辑过程 260

13.3.4脚本内容 260

13.3.5 测试脚本 261

13.3.6 Freeze Transformations操作 262

13.3.7 makeIdentions命令 262

13.3.8修改脚本 267

13.3.9脚本剖析 267

13.4内容回顾 269

第14章 尾巴控制系统 270

14.1任务说明 270

14.1.1控制方式 270

14.1.2控制系统关联关系 272

14.1.3脚本操作方式 274

14.1.4脚本任务列表 275

14.2相关命令 276

14.2.1 createNode命令 276

14.2.2 listRelatives命令 277

14.2.3 ikHandle命令 277

14.2.4 spaceLocator命令 277

14.2.5 xform命令 278

14.2.6 group命令 280

14.2.7 move命令 281

14.2.8 stringArrayRemove命令 281

14.2.9 aimConstraint命令 281

14.2.10 pointConstraint命令 281

14.2.11 orientConstraint命令 281

14.2.12 connectAttr命令 281

14.3脚本内容说明 282

14.3.1脚本代码 282

14.3.2脚本结构 289

14.3.3创建控制器模块 289

14.3.4创建IK系统模块 291

14.3.5制作控制关系模块 293

14.3.6操作窗口模块 296

14.3.7工具起动模块 296

14.4脚本不足之处 297

14.5内容回顾 298

第15章 绘制玫瑰线 299

15.1任务说明 299

15.2 curve命令 300

15.3 eval命令 301

15.4脚本剖析 302

15.4.1编辑脚本 302

15.4.2调用脚本 304

15.4.3脚本分析 305

15.4.4脚本改进 307

15.5内容回顾 307

第16章 文件检查 308

16.1任务说明 308

16.2字符串操作命令 312

16.2.1 substituteAllString命令 312

16.2.2 tokenize命令 313

16.3文件操作命令 314

16.3.1 fopen命令 314

16.3.2 fprint命令 315

16.3.3 fgetline命令 315

16.3.4 fclose命令 315

16.3.5 workspace命令 316

16.3.6 file命令 316

16.3.7 filetest命令 317

16.4其他命令 318

16.4.1 symbolButton命令 318

16.4.2 confirmDialog命令 319

16.4.3脚本命令setWorkingDirectory和fileBrowser 321

16.5文件检查脚本 321

16.5.1脚本内容 321

16.5.2脚本剖析 325

16.5.3特殊模块说明 332

16.6内容回顾 333

第17章 物体批量改名 334

17.1脚本的工作方式 334

17.2脚本说明 344

17.2.1脚本内容 344

17.2.2操作窗口 352

17.2.3改名操作主程序 356

17.2.4给指定物体加前缀 359

17.2.5给指定物体加后缀 360

17.2.6替换物体名中的字符 361

17.2.7物体形状节点改名 362

17.2.8重新命名指定物体 363

17.2.9文件结构 364

17.3内容回顾 364

附录A Maya函数 365

A.1限制函数 365

A.1.1取整函数 365

A.1.2 ceil向上取整 365

A.1.3 floor向下取整 366

A.1.4 trunc截断取整 366

A.1.5 int取整 367

A.1.6 abs绝对值函数 368

A.1.7 clamp夹函数 368

A.1.8 min函数 369

A.1.9 max函数 369

A.1.10 sign符号函数 370

A.2幂函数 370

A.2.1幂函数的数学含义 370

A.2.2 exp函数 371

A.2.3 log函数 372

A.2.4 log10函数 372

A.2.5 pow函数 373

A.2.6 sqrt函数 373

A.3三角函数 374

A.3.1三角函数概述 374

A.3.2 cos函数 375

A.3.3 cosd函数 376

A.3.4 sin函数 377

A.3.5 sind函数 378

A.3.6 tan函数 379

A.3.7 tand函数 380

A.3.8 acos函数 380

A.3.9 acosd函数 381

A.3.10 asin函数 382

A.3.11 asind函数 382

A.3.12 atan函数 383

A.3.13 atand函数 384

A.3.14 atan2函数 384

A.3.15 atan2d函数 385

A.4向量函数 385

A.4.1 mag模函数 385

A.4.2 unit单位函数 386

A.4.3 angle夹角函数 386

A.4.4 cross叉积函数 387

A.4.5 dot点积函数 387

A.4.6 rot旋转函数 388

A.5转换函数 389

A.5.1 deg_to_rad 389

A.5.2 rad_to_deg 389

A.5.3 hsv_to_rgb 390

A.5.4 rgb_to_hsv 390

A.6阵列函数 391

A.6.1 size函数 391

A.6.2 sort函数 392

A.6.3 clear函数 393

A.7随机函数 393

A.7.1 gauss函数 393

A.7.2 noise函数 396

A.7.3 dnoise函数 397

A.7.4 rand函数 397

A.7.5 sphrand函数 399

A.7.6 seed 402

附录B 常用MEL命令 404

B.1通用MEL命令 404

B.1.1 ls命令 404

B.1.2 select命令 406

B.1.3 getAttr命令 407

B.1.4 setAttr命令 408

B.1.5 parent命令 409

B.1.6 makeldentity命令 409

B.1.7 group命令 410

B.1.8 move命令 411

B.1.9 spaceLocator命令 412

B.1.10 xform命令 412

B.2用户窗口命令 413

B.2.1定义新窗口命令——window 413

B.2.2显示窗口命令——showWindow 414

B.3窗口布局 414

B.3.1 formLayout命令 414

B.3.2 columnLayout命令 416

B.3.3 rowLayout命令 418

B.3.4 scrollLayout命令 422

B.3.5 frameLayout命令 423

B.3.6 setParent命令 426

B.3.7 deleteUI命令 426

B.4颜色控制体 427

B.4.1 attrColorSliderGrp命令 427

B.4.2 colorIndexSliderGrp命令 429

B.5数字输入控制体 432

B.5.1数字输入控制体所包含的内容 433

B.5.2 floatField命令 434

B.5.3 floatFieldGrp命令 435

B.5.4 floatSlider命令 439

B.5.5 floatSliderButtonGrp命令 440

B.5.6 floatSliderGrp命令 444

B.5.7 intField命令 449

B.5.8 intFieldGrp命令 450

B.5.9 intSlider命令 454

B.5.10 intSliderGrp命令 455

B.6文字控制体 460

B.6.1 text命令 460

B.6.2 textField命令 461

B.6.3 textFieldButtonGrp命令 462

B.6.4 textFieldGrp命令 466

B.7选择控制体 470

B.7.1 radioButton命令 470

B.7.2 radioButtonGrp命令 472

B.7.3 radioCollection命令 478

B.7.4 checkBoxGrp命令 478

B.8按钮命令——button 480

B.9菜单命令 481

B.9.1 menu命令 481

B.9.2 menuItem命令 482

B.10其他窗体命令 484

B.10.1 symbolButton命令 484

B.10.2 confirmDialog命令 485

B.10.3脚本命令setWorkingDirectory和fileBrowser 487

B.11 NURBS相关常用命令 487

B.11.1 pointOnCurve命令 487

B.11.2 pointOnSurface命令 488

B.12节点操作命令 489

B.12.1 createNode命令 489

B.12.2 nodeType命令 490

B.12.3 listRelatives命令 490

B.12.4 connectAttr命令 490

B.13字符处理 491

B.13.1 tokenize命令 491

B.13.2 stringArrayRemove命令 491

B.14设置操作命令 492

B.14.1 ikHandle命令 492

B.14.2 aimConstraint命令 492

B.14.3 pointConstraint命令 492

B.14.4 onentConstraint命令 492

B.14.5 expression命令 492

B.14.6 dynExpression命令 493

B.15 文件操作命令 493

B.15.1 fopen命令 493

B.15.2 fprint命令 494

B.15.3 fgetline命令 494

B.15.4 fclose命令 494

B.15.5 workspace命令 495

B.15.6 file命令 495

B.15.7 filetest命令 496

附录C 常用MEL命令列表 497

附录D 向量的点乘与叉乘 510

D.1向量的点乘 510

D.2向量的叉积(矢性积) 511