
3ds max的MAXScript是一种面向对象的程序语言,它没有很严格的格式要求,容易掌握,所以该书非常适合于没有语言基础的读者。
本书主要内容包括:脚本的基础知识、流程控制语句、动画、用脚本创建界面、宏脚本、插件脚本、在实用工具面板中添加脚本、数组和集合、ActiveX控件等。最后还专门讲解了一个实例。让学生真正体会到脚本的强大功能。
本书配套光盘包括书中例题所涉及的素材及课后作业所需要的内容。
本书适合于初步学习脚本的读者,更适合作为大学本科相关专业的学生学习。
随着国内3ds max应用水平的不断提高,许多动画爱好者已经不再仅仅满足于手工交互调整动画,他们在不断寻找更好、更快、更方便的动画制作途径。其实,3ds max为动画工作者提供了这样的工具,就是3ds max的脚本语言--MAXScript。使用MAXScript可以通过简单的语句制作复杂的动画。
3ds max的脚本语言随着3ds max的发展而发展,3ds max 1就提供了功能相对简单的脚本语言,其后脚本语言的功能不断增强。尤其是3ds max 4以后,脚本语言的功能和编辑环境都有很大改进,为脚本语言的实际应用奠定了很好的基础。
脚本语言是使用3ds max制作动画和进行设计的方便工具,能够使用手工调整制作的动画和模型基本都能使用脚本语言完成,而且,使用脚本语言实现起来要简单得多。特别是制作中的重复性工作,使用脚本语言就更为方便。目前在建筑、机械以及游戏设计的高端用户都在使用脚本语言,这方面已经有很多很好应用案例。
本书由浅入深地介绍了MAXScript,并且附加很多生动的例子。通过本书的学习,可以让读者更深入地理解3ds max这个软件,并且能够帮助读者实现用基本操作无法实现的功能。
全书分为14章。
第1章介绍脚本的基本知识。告诉读者怎样去访问脚本,如何使用MAXScript Listener窗口;并且介绍了如何在MAXScript Listener窗口中编辑简单脚本。
第2章介绍如何利用脚本来创建和操作3ds max对象(改变对象属性,对对象进行修改),这是3ds max脚本语言具有特色的部分,脚本可以与用户操作交互使用。
第3章介绍MAXScript Editor窗口及其功能,这是用来编辑脚本的主要界面。本章同时介绍学习脚本的主要方法,让读者轻松地进入脚本学习。
第4章介绍脚本中的流程控制语句,包括if语句、循环语句(for循环,while循环等)、case表达式和try表达式,这些类似于其他语言中的语句。同时还介绍编程中必须涉及到的函数,这是每一个程序的精华部分;本章也涉及到结构,它在某种意义上类似于C+ +的类。
第5章向读者展示脚本语言更生动的一面,那就是用脚本来制作复杂的动画。当读者想对大量对象进行动画制作,或者想为对象设置复杂动画时,用操作实现起来是很困难的,而用脚本来实现可能就是一件轻而易举的事情。
第6章介绍软件中用户界面的制作。通过本章的学习可以创建类似于3ds max软件中任意界面的部件,例如按钮、复选框、下拉菜单和文本编辑框等。
第7章介绍卷展栏、卷展栏浮动窗口、卷展栏对话框及对话框等主要用户界面和界面属性以及事件手柄。
第8章介绍3ds max中的宏脚本,包括宏脚本的定义及使用方法。本章用大量的实例向读者演示宏脚本的强大功能。3ds max软件中几乎所有功能都可以通过宏脚本实现。
第9章介绍插件脚本及如何利用插件脚本创建自己的插件,以扩展3ds max软件的功能。通过本章的学习,读者可以创建一些简单的几何体插件等。
第10章介绍实用工具,因为实用工具的界面类似于卷展栏,所以只做了简单的介绍。
第11章介绍MAXScript中的数组和集合,以及内存分配和垃圾收集等基本概念。通过本章的学习,可以通过数组和集合来实现大量场景对象的操作。
第12章对MAXScript做了较为深入的介绍,包括MAXScript中的动作管理、ActiveX控制、普通事件驻留机制、访问Z深度通道及访问Windows系统数据。
第13章用做MAXScript的参考,包括节点的通用属性、字符串、拾取场景对象、文件对话框的打开和保存及文件加密。
第14章通过一个用脚本制作树的例子生动地向读者展示脚本的强大功能。该例涉及到前13章介绍的几乎所有的内容,是一个综合性的实例。深入地理解这个实例有助于更好地学习脚本。
附录介绍了脚本编辑器的具体实现方法。
本书的配套光盘包括书中例题所涉及的素材和课后作业所需要的内容。
本书适用于爱好计算机动画的大专院校学生、科技工作者和动画制作者。如果作为课程的教材,建议教学总学时为50学时,其中理论教学20学时,上机实践30学时。如果作为读者自学的教材,建议读者边看边练,直到熟练掌握主要内容为止。
本教材得到北京市高等学校教学内容及教学方法改革项目"关于电脑艺术设计课程教学内容和教学方法的探讨"和北京林业大学教改项目"关于计算机艺术设计专业方向教学内容和教学方法的探讨"的资助,并由黄心渊教授主编。参加编写的还有古梅老师(第1章至第7章)、戈建涛老师(第8章至第12章)和李小青老师(第13章,第14章)。
由于时间关系和作者能力所限,书中难免有错误或者不妥之处,敬请读者批评指正。
第1章?初识脚本 1
1.1?访问脚本 1
1.1.1?启动脚本 1
1.1.2?使用MAXScript Listener窗口 2
1.1.3?在固定视口中使用MAXScript Listener 3
1.2?源代码的特点 4
1.3?向脚本中输入信息 5
1.3.1?在MAXScript中输入数值 5
1.3.2?在MAXScript中输入字符串 6
1.3.3?在MAXScript中输入数组 6
1.4?变量赋值 7
1.5?MAXScript中的数学运算 8
练习与思考 10
第2章?MAXScript中的3ds max对象 11
2.1?用脚本创建一个立方体 11
2.2?修改脚本创建的对象 12
2.3?修改对象的其他的方法 17
练习与思考 18
第3章?创建自己的脚本 20
3.1?MAXScript Editor简介 20
3.1.1?MAXScript Editor窗口 20
3.1.2?MAXScript Editor窗口的功能 22
3.2?MAXScript Editor中的命令 23
3.3?编辑MAXScript的基本操作 25
3.4?学习脚本的方法 26
练习与思考 29
第4章?脚本中的流程控制语句 30
4.1?条件控制语句 30
4.1.1?if语句的语法 30
4.1.2?Listener中的if语句 31
4.1.3?if语句作为表达式的一部分 31
4.1.4?if语句中的比较表达式 31
4.2?循环语句 32
4.2.1?for循环 32
4.2.2?while和do循环 36
4.2.3?continue语句 37
4.2.4?exit语句 37
4.3?case表达式 38
4.4?try表达式 39
4.5?自定义函数 41
4.5.1?全局变量和局部变量 41
4.5.2?自定义函数 45
4.6?结构定义以及MAX命令 50
4.6.1?结构定义 50
4.6.2?MAXScript中的MAX命令 51
练习与思考 52
第5章?为场景中对象设置简单的动画 55
5.1?基本动画 55
5.2?对象可动画属性的控制器 56
5.3?控制器的关键帧函数 59
5.4?节点动画 62
5.5?一个动画实例 63
练习与思考 66
第6章?UI控制类型 69
6.1?角度 69
6.2?位图 71
6.2.1?位图UI控制条目 71
6.2.2?位图数值 72
6.3?按钮 79
6.4?复选框 79
6.5?复选按钮 81
6.6?拾取颜色 84
6.7?组合框 85
6.8?曲线控制 88
6.9?下拉列表 93
6.10?文本编辑框 95
6.11?分组框 96
6.12?超链接 96
6.13?图片标签 96
6.14?标签 97
6.15?列表框 98
6.16?贴图按钮 99
6.17?材质按钮 102
6.18?多选列表框 103
6.19?拾取按钮 105
6.20?弹出菜单 106
6.21?进度条 107
6.22?单选按钮 108
6.23?滑动条 110
6.24?微调器 111
6.25?子卷展栏 114
6.26?定时器 116
6.27?卷展栏UI控制共同属性 117
6.28?卷展栏UI控制共同布局参数 118
练习与思考 119
第7章?MAXScript界面创建 122
7.1?卷展栏语法 122
7.1.1?局部变量、函数或者结构的定义 123
7.1.2?UI控制条目 123
7.1.3?事件手柄 123
7.2?卷展栏浮动窗口 124
7.3?卷展栏对话框 126
7.4?作为扩展视口的MAX脚本对话框和卷展栏浮动框 129
7.5?消息和查询对话框 130
7.6?实用程序和卷展栏的属性、方法和事件手柄 131
7.6.1?属性 131
7.6.2?方法 132
7.6.3?事件手柄 132
练习与思考 135
第8章?宏脚本 137
8.1?宏脚本简介 137
8.2?定义宏脚本 139
8.3?两个简单的宏脚本 150
8.3.1?用宏脚本开发变形锁定脚本 150
8.3.2?从场景中的对象移除所有材质的宏脚本 150
8.4?用脚本重新命名所选对象 151
8.5?自动指定材质 153
8.6?移动对象到一个表面 155
8.7?输出对象数据到文件 157
8.8?输出几何体数据到文本文件 160
8.8.1?输出几何体数据到文本文件(一) 160
8.8.2?输出几何体数据到文本文件(二) 163
8.9?从文本文件中读取几何体数据 166
8.9.1?从文本文件中读取几何体数据(一) 166
8.9.2?从文本文件中读取几何体数据(二) 168
8.10?创建快速预览 171
8.11?按字母顺序排序 173
8.12?变平样条图形 175
8.13?手动绘制样条 177
8.14?内存渲染 181
8.15?渲染时修改对象 191
练习与思考 193
第9章?插件脚本 196
9.1?插件脚本简介 196
9.2?创建自定义mesh对象 198
9.3?创建脚本几何体插件 200
9.4?简单对象插件 206
9.5?简单的修改器插件 211
9.6?创建Dalmatian纹理贴图插件 213
9.7?创建单色渲染效果 217
练习与思考 221
第10章?实用工具脚本 224
10.1?实用工具简介 224
10.2?简单的实用工具脚本 225
练习与思考 230
第11章?数组和集合 232
11.1?参考赋值 232
11.2?内存分配和垃圾收集 234
11.2.1?内存分配 234
11.2.2?自动垃圾收集 234
11.2.3?人工垃圾收集 235
11.3?数组数值 236
11.4?位数组数值 242
11.5?集合 245
练习与思考 248
第12章?深入学习脚本 249
12.1?动作管理者 249
12.2?MAXScript卷展栏中的Active X控制 250
12.3?普通事件驻留机制 257
12.4?访问Z深度通道 265
12.5?访问Windows系统数据 267
练习与思考 269
第13章?3ds max参考 270
13.1?节点的通用属性 270
13.2?子串和拾取对象 276
13.2.1?子串 276
13.2.2?通过单击拾取场景对象 276
13.3?射线值、撤销操作和对象集数值 278
13.3.1?射线值 278
13.3.2?撤销操作 278
13.3.3?对象集数值 281
13.4?文件操作 282
13.4.1?标准的打开和保存文件对话框 282
13.4.2?加密文件 286
13.4.3?外部文件操作方法 287
练习与思考 288
第14章?脚本综合应用实例 290
附录?可视化脚本编辑器