3ds max的MAXScript是一种面向对象的程序语言,它没有很严格的格式要求,容易掌握,所以该书非常适合于没有语言基础的读者。
本书主要内容包括:脚本的基础知识、流程控制语句、动画、用脚本创建的界面、宏脚本、插件脚本、在实用工具面板中添加的脚本、数组和集合、ActiveeX控制等。最后还专门讲解了一个实例,让学生真正体会到脚本的强大功能。
本书的配套光盘包括书中例题所涉及的素材及课后作业所需要的内容。
本书适合于初步学习脚本的读者,更适合作为大学本科相关专业的学生学习
第1章初识脚本
1.1访问脚本
1.1.1启动脚本
1.1.2使用MAXScriptListener窗口
1.1.3在固定视口中使用MAXScriptListener
1.2源代码的特点
1.3向脚本中输入信息
1.3.1在MAXScript中输入数值
1.3.2在MAXScript中输入字符串
1.3.3在MAXScnpt中输入数组
1.4变量赋值
1.5 MAXScript中的数学运算
练习与思考
第2章MAXSer中t中的3dsmax对象
2.1用脚本创建一个立方体
2.2修改脚本创建的对象
2.3修改对象的其他的方法
练习与思考
第3章创建自己的脚本
3.1MAXScdptEditor简介
3.1.1MAXScriptEditor窗口
3.1.2MAXScnptEditor窗口的功能
3.2MAXScriptEditor中的命令
3.3编辑MAXScript的基本操作
3.4学习脚本的方法
练习与思考
第4章脚本中的流程控制语句
4.1条件控制语句
4.1.1if语句的语法
4.1.2 Listener中的if语句
4.1.3if语句作为表达式的一部分
4.1.4if语句中的比较表达式
4.2循环语句
4.2.1for循环
4.2.2while和do循环
4.2.3continue语句
4.2.4 exit语句
4.3case表达式
4.4try表达式
4.5自定义函数
4.5.1全局变量和局部变量
4.5.2自定义函数
4.6结构定义以及MAX命令
4.6.1结构定义
4.6.2MAXScript中的MAX命令
练习与思考
第5章为场景中对象设置简单的动画
5.1基本动画
5.2对象可动画属性的控制器
5.3控制器的关键帧函数
5.4节点动画
5.5一个动画实例
练习与思考
第6章UI控制类型
6.1角度
6.2位图
6.2.1位图UI控制条目
6.2.2位图数值
6.3按钮
6.4复选框
6.5复选按钮
6.6拾取颜色
6.7组合框
6.8曲线控制
6.9下拉列表
6.10文本编辑框
6.11分组框
6.12超链接
6.13图片标签
6.14 标签
6.15列表框
6.16 贴图按钮
6.17 材质按钮
6.18多选列表框
6.19拾取按钮
6.20弹出菜单
6.21进度条
6.22单选按钮
6.23滑动条
6.24微调器
6.25子卷展栏
6.26定时器
6.27卷展栏UI控制共同属性
6.28卷展栏UI控制共同布局参数
练习与思考
第7章MAXScript界面创建
7.1卷展栏语法
7.1.1局部变量、函数或者结构的定义
7.1.2 UI控制条目
7.1.3事件手柄
7.2卷展栏浮动窗口
7.3卷展栏对话框
7.4作为扩展视口的MAX脚本对话框和卷展栏浮动框
7.5消息和查询对话框
7.6实用程序和卷展栏的属性、方法和事件手柄
7.6.1属性
7.6.2方法
7.6.3事件手柄
练习与思考
第8章宏脚本
8.1宏脚本简介
8.2定义宏脚本
8.3两个简单的宏脚本
8.3.1用宏脚本开发变形锁定脚本
8.3.2从场景中的对象移除所有材质的宏脚本
8.4用脚本重新命名所选对象
8.5自动指定材质
8.6移动对象到一个表面
8.7输出对象数据到文件
8.8输出几何体数据到文本文件
8.8.1输出几何体数据到文本文件(一)
8.8.2输出几何体数据到文本文件(二)
8.9从文本文件中读取几何体数据
8.9.1从文本文件中读取几何体数据(一)
8.9.2从文本文件中读取几何体数据(二)
8.10创建快速预览
8.11按字母JD顷序排序
8.12变平样条图形
8.13手动绘制样条
8.14内存渲染
8.15渲染时修改对象
练习与思考
第9章插件脚本
9.1插件脚本简介
9.2创建自定义mesh对象
9.3创建脚本几何体插件
9.4简单对象插件
9.5简单的修改器插件
9.6创建Dalmatian纹理贴图插件
9.7创建单色渲染效果
练习与思考
第10章实用工具脚本
10.1实用工具简介
10.2简单的实用工具脚本
练习与思考
第11章数组和集合
11.1参考赋值
11.2内存分配和垃圾收集
11.2.1内存分配
11.2.2自动垃圾收集
11.2.3人工垃圾收集
11.3数组数值
11.4位数组数值
11.5集合
练习与思考
第12章深入学习脚本
12.1动作管理者
12.2MAXScript卷展栏中的ActiveX控制
12.3普通事件驻留机制
12.4访问2深度通道
12.5访问Windows系统数据
练习与思考
第13章3dsmax参考
13.1节点的通用属性
13.2子串和拾取对象
13.2.1子串
13.2.2通过单击拾取场景对象
13.3射线值、撤销操作和对象集数值
13.3.1射线值
13.3.2撤销操作
13.3.3对象集数值
13.4文件操作
13.4.1标准的打开和保存文件对话框
13.4.2加密文件
13.4.3外部文件操作方法
练习与思考
第14章脚本综合应用实例
附录可视化脚本编辑器
随着国内3ds max应用水平的不断提高,许多动画爱好者已经不再仅仅满足于手工交互调整动画,他们在不断寻找更好、更快、更方便的动画制作途径。其实,3ds max为动画工作者提供了这样的工具,就是3ds max的脚本语言——MAXScript。使用MAXScript可以通过简单的语句制作复杂的动画。
3dsmax的脚本语言随着3dsmax的发展而发展,3dsmaxl就提供了功能相对简单的脚本语言,其后脚本语言的功能不断增强。尤其是3ds max 4以后,脚本语言的功能和编辑环境都有很大改进,为脚本语言的实际应用奠定了很好的基础。
脚本语言是使用3ds max制作动画和进行设计的方便工具,能够使用手工调整制作的动画和模型基本都能使用脚本语言完成,而且,使用脚本语言实现起来要简单得多。特别是制作中的重复性工作,使用脚本语言就更为方便。目前在建筑、机械以及游戏设计的高端用户都在使用脚本语言,这方面已经有很多很好应用案例。
本书由浅入深地介绍了MAXScript,并且附加很多生动的例子。通过本书的学习,可以让读者更深入地理解3ds max这个软件,并且能够帮助读者实现用基本操作无法实现的功能。
全书分为14章。
第1章介绍脚本的基本知识。告诉读者怎样去访问脚本,如何使用MAXScriptListener窗口;并且介绍了如何在MAXScriptListener窗口中编辑简单脚本。
第2章介绍如何利用脚本来创建和操作3ds max对象(改变对象属性,对对象进行修改),这是3dsmax脚本语言具有特色的部分,脚本可以与用户操作交互使用。
第3章介绍MAXScriptEditor窗口及其功能,这是用来编辑脚本的主要界面。本章同时介绍学习脚本的主要方法,让读者轻松地进入脚本学习。
第4章介绍脚本中的流程控制语句,包括if语句、循环语句(for循环,while循环等)、case表达式和try表达式,这些类似于其他语言中的语句。同时还介绍编程中必须涉及到的函数,这是每一个程序的精华部分:本章也涉及到结构,它在某种意义上类似于C++的类。
第5章向读者展示脚本语言更生动的一面,那就是用脚本来制作复杂的动画。当读者想对大量对象进行动画制作,或者想为对象设置复杂动画时,用操作实现起来是很困难的,而用脚本来实现可能就是一件轻而易举的事情。
第6章介绍软件中用户界面的制作。通过本章的学习可以创建类似于3dsmax软件中任意界面的部件,例如按钮、复选框、下拉菜单和文本编辑框等。
第7章介绍卷展栏、卷展栏浮动窗口、卷展栏对话框及对话框等主要用户界面和界面属性以及事件手柄。
第8章介绍3ds max中的宏脚本,包括宏脚本的定义及使用方法。本章用大量的实例向读者演示宏脚本的强大功能。3dsmax软件中几乎所有功能都可以通过宏脚本实现。
第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章)。
由于时间关系和作者能力所限,书中难免有错误或者不妥之处,敬请读者批评指正。
作 者
2004年2月