max脚本_3dmax脚本 -概述
简介
MAXScript是用来扩展MAX功能的工具,用户可以使用它添加新的特征或设置自定义的MAX,这样它被定制成符合你的要求的样式。还可以用MAX记录用户的动作,这样以后可以使用它们减少重复的动作。还可以用Script告诉MAX你需要的场景的类型让MAX提供合适的场景,或者告诉MAX你所的事,或着输入你希望执行的指令的时候告诉它希望发生什么事情。
max脚本_3dmax脚本 -MAX Script语言的基础知识
变量
MAXScript中的变量代表其他的值。当在公式中提到一个变量时,实际上指的是变量存储的值。而且除了数字以外,MAXScript中的变量还可以存储其他的内容。变量命名可以用任何名称。最好把它们命名成能帮助你记住变量代表什么含义的名称。
要把一个值赋予一个变量需要使用符号。MAX计算符号右边的表达式并把结果存储在名为X的变量中。然后只要在listener窗口中输入X,按下Enter,就能看到X的值是多少。
例如:X=25
变量可以存储字符串,字符串是一组字符。例如:student36=”zhouyi”或者grouchy=”Mynameis”+student36
Point3数据类型代表三维点。下面是使用点的几个例子和注释:
POS=[0,0,0]――在(0,0,0)创建新的点
POS.X=7――把X坐标改成7
POS=POS+(6,6,6)――把它移动(6,6,6)
除了这些基本数据类型外,场景中的每个对象都有自己的数据类型。在较大对象内的数据片段被称为成员或属性。大多数场景对象都有name。Position两个变量描述对象的名称。MAX还有一个内置的特殊变量,它代表当前被选定的任何对象。这个变量用$表示。
流程图
当MAX开始执行脚本时,它从脚本的第一行开始处理它,然后移到下一行。对脚本的执行一直继续下去直到在脚本文件中再也没有代码行为止。MAX允许你在脚本文件中嵌入注释或注解,帮助理解正在发生的事情。要插入注释,需要文件中加两个连字符(――)。当MAX遇到双连字符时,它跳过注释和该行上的其他任何内容,移到脚本下一行。
常用的流程结构如下:
条件:
条件是控制脚本中的程序流程的一个方法。正常情况下,MAX处理每一行,无论这一行是什么,然后退出。但是当有了条件,如果表达式是Ture,则MAX只执行某些行。
条件语句遵循下面的格式:
If<expr>then<stuff>
<expr>是要计算的表达式,<stuff>是表达式等于True时要执行的一些MAXScript。还可以用关键字else指定,如果表达式等于false,则发生什么事件。如:
if(student36=”zhouyi”)then
(
score=100
)
else
(
score=80
)
循环
循环是另外一种MAXScript语言结构(呵呵,好象无论哪一种计算机语言都有循环语句啊),让你能无视正常的执行流程。而不是每次处理脚本中的每一行,然后退出,而是MAXScript循环结构对一件事情重复做几次。例如下面所有不及格学生的成绩可以改为及格:
student=1
forscore<60do
(
score=60
)
集合阵列
MAXScript有一些非常有用的特性用来帮助用户操纵一组对象。一组对象被称为一个集。集中的变量没有特别的顺序,只是被组合在一起。下面设置了所有的名字为box开头的物体的颜色为蓝色:
A=$box*
A.wirecolor=bule
表达式
表达式是MAX用来做出决定的内容。表达式比较两样东西,根据比较的结果做出简单的结论。
表达式”10>1”是一个简单的表达式,它询问:“10大于1吗?”,表达式总是在提问“是or不是”类型的问题。当你在MAXScript一窗口中(或脚本内)输入表达式时,MAX计算表达式。如果表达式是正确的,则打印Ture,如果不正确,则打印false
有时需要一个对不仅有两个数据的表达式进行判断。MAXScript有and、or和not运算符帮助你构建这样的表达式。
and运算符组合两个表达式,询问“这两个表达式都是Ture吗?”如果两个都为Ture,则整个表达式等于Ture。但只要其中一个表达式为False,则整个表达式是False。而且可以使用括号来组合表达式,所以有and运算符的表达式可能是下面的样子(a<b)and(a<b)。
or运算符类似于and,但是如果其中一个表达式为Ture或两个都是Ture,则表达式的结果为Ture。如:(a==b)or(a<b)
not运算符把表达式的值从ture翻转成false或者从false翻转成ture。
函数的使用
MAXScript一个特性是函数。函数是小的MAXScript块,像是建立分程序的程序。例如,如果你想计算所有数值的平均值,使用函数不仅在需要计算许多数字的平均值时使脚本非常短,而且也使它更容易被阅读。如果函数不正确,那么可以在脚本的顶端对它进行修改,如果没有使用这个函数就必须查找你的脚本,找到计算平均值的每处代码,然后解决问题。
脚本的制作和使用
记录脚本
在Listener窗口中,进入MicroReconder菜单,选定Enable。MacroReconder现在是打开的,可以准备开始编写MAXScript。对场景中的物体进行为了一系列的操作以后,完成脚本了,在MAXScriptListener窗口中,选定MicroReconderEnable,关闭MicroReconder。
执行脚本
我们开始检查MAXScript成果。给场景添加一个其他物体,确保在进行下一步之前选定它。MAXScriptListener窗口顶端的面板中,选定所有的文本然后按下“shift=enter”告诉MAX执行MAXScript。你制作的Script就可以起作用了。