MaxScript Reference导读
Frequently Asked Questions 常见问题
Practical Questions 直译是实践问题
其中 working with vector讲叙关于向量(也有称为矢量的)的一些基础
其余的分别是关于MaxScript里面的变量、物体属性,图形界面等问题,FAQ这一节建议看过一些基础之后再来回顾。
Frequently Asked Questions回顾的时候要留意Writing Better And Faster Scripts这一部分,尤其为程序出身的人需要注意一下,有这一部分介绍了一些语句因为速度较慢不适合使用(比如return),也介绍了替代的方式。除去语句之外也有一些使MaxScript更快的技巧介绍,例如关闭视图刷新。
HowTo 如何做
就是范例章节,其中有将物体移动到另一个物体表面、输出预览,还有直接在模型表面画贴图等范例,也属于熟悉之后再回来看的部分。
MaxScript Language Reference Max脚本参考
重中之重,MaxScript的基础部分全在这里
MAXScript Grammar And Class Hierarchy
该节是Max参考中的语法格式和类的继承关系,初学时可以略过,有些基础后再回来看
Reserved Keywords, Symbols, Punctuation and Variables
关于MaxScript中的保留字运算符以及全局变量之类的玩意,其中也是大部分不用看,需要注意的是 3ds Max System Globals 和 MAXScript System Globals两页,是关于Max与MaxScript的全局变量的。有一些设置或者max的值不知道怎么设置或者读取,可以到这两页搜索一下。
Variables - Assignment and Scope
本章节是关于变量的定义以及作用范围,值得看的部分不多,有两个部分需要留意,一个是Global And Persistents Global variable Methods 这部分有关于如何将一个全局变量保存在Max文件中的方法,另一个是Memory Allocation And Garbage Collection 这部分是关于内存的分配与垃圾收集的,比如分多少内存给MaxScript以及如何释放不需要的内存。
Names,Literal Constants, and Expressions
这一部分是关于变量名、常量和表达式。实际可以不看,在使用中去体会无非就是a = b、 a = b * c一类。
Controlling Program Flow
程序流程控制,很重要,各种语句类型,if、for、while、case、判断循环、跳出以及异常处理都在这部分,每一页都应该花时间看一下。
Creating Functions
创建函数,如果想真正省时省力,这一部分也要每页都花时间看看,其中By Reference Parameter Passing要留意,这里有关于值类型和引用类型的讲解和范例,max有些函数的参数会标有&即为引用类型。不明白时可以返回来看看。
Const And MaxScript Functions
可以略过,是一些关于max内部定义的类型,平时用不到这部分,等需要用的时候往往已经理解了。
Structure Definition
结构定义,这部分值得一看,与函数、流程控制同等重要。
Values
MaxScript中基本的数据类型,包含整数、浮点数、时间、位图、关键帧等数据类型
Collections
集合,简单的说就是多个Value中的变量类型集合在一起,和基本数据类型一样是需要花时间看的。实际上MaxScript Language Reference这一部分,不需要看的不多。
3ds Max Objects
激动吧,终于轮到max当中的物体了,茶壶就在这一部分,需要留意其中的Interfaces部分这一部分包含了很多接口,其次需要注意的是 Node:MaxWrapper --> Node Common Properties,Operators And Methods,这一部分是物体的通用属性和方法,比如旋转移动缩放、冻结、隐藏、选择,轴心设置等等。其他的部分实际上需要的时候现查就可以,不用特意花时间浏览。
MaxScript Tools And Interaction With 3dsMax Max脚本工具以及与Max交互
这一部分也很常用,但个人感觉不需要花太多精力,属于在了解基础之后边查边写的部分
Create MaxScript Tools 这一部分包含了脚本界面的编写,宏脚本,鼠标工具等内容。
Interacting With The 3ds max User Interface
只要是关于max自身的东西,统统在这一部分找,像材质编辑器,动画记录的开启之类的,统统在此。
File Access
关于Max的文件操作,Max文件的保存打开,max的系统目录,其中External Files Access有读取和设置INI文件来保存和读取配置、从文件名中提取文件目录,以及打开和保存文件的对话框的函数。如果需要数据导出导入,需要留意其中的 Text And Binary File Input And Output,有关于二进制文件的导入导出,至于文本文件的导入导出,可以查看前面的How To部分,有相应范例。
Change Handlers and Callbacks
这部分很重要,关于事件的侦听和回调函数就在这里,比如需要在max新建文件打开文件或者视图刷新,或者删除物体这类事件发生时执行相应的脚本,查阅这一章节。
Miscellaneous Functions
这一部分有些杂七杂八,其中 Executing External Commands部分有调用外部文件的方式DosCommand和ShellLaunch,后者相当于用鼠标双击,然后是Exiting and Resetting 3ds Max这一页有一些max自身的东西,比如检查文件是否保存过。Pausing Script Execution这一页有sleep 来让max等待一段时间,Time Stamping一页有TimeStamp来对时间采样。
OLE Automation
OLE自动化的支持,是个很老的东西了,MAXScript.reg - Registery file 这一页有在系统中注册max的OLE对象的注册表文件,注册后可以从外部调用Max。其他页则是对OLE的一些介绍,一般用在微软的产品上,例如Excel、word这些office的软件可以通过OLE来调用。
DotNet In MaxScript
Max9开始新增的东西,对MaxScript的强力补充。但如果想用明白这部分,我建议了解一下C#。这这一部分Max参考介绍的大部分是界面,实际上.net可以做很多东西,这一部分如果要介绍,需要另开贴。
Interaction With The Operating System
MaxScript与操作系统的交互,像对剪贴板的访问(2008新增,但是max9可以使用.Net来做,所以说.Net是MaxScript的强力补充),获取操作系统的日期、获取Windows的目录等操作。
MAXScript Debugger
MaxScript的调试操作,怎么说呢,我个人不太喜欢这个东西....,不顺手,但又没别的东西可用。
MaxScript Extensions
这一部分都是关于max的某个插件方式的东西的内容,比如说CS、CAT、ParticleFlow、Reactor、Cloth、ProBoolean
最后一个不介绍,至此结束