自由者CG

标题: 零起点入门MAXScript(第二节) [打印本页]

作者: 有空    时间: 2015-11-16 10:59
标题: 零起点入门MAXScript(第二节)
MAXScript可以对MAX的Node(节点)进行操作,它也是程序语言。对于没接触过程序的人来说,有必要了解一下程序的基本知道。
MAXScript数据类型
计算机处理的是数据,而数据是以某种特定的形式存在的(如整数、浮点数、字符等形式),不同的数据之间往往还存在某些特定的联系,如数组。MAXScript除了具备其他程序的数据类型外,还有自己独特的数据类型,具体用到再进行讲解。

常量
常量的值是不变的,如23,1.2,"cg",一般从字面形式就能判断是否是常量。
float浮点型常量,有的程序叫实形常量,MAXScript的浮点数值都是单精度类型,占用内存4个字节,可以简单的理解为带有小数点的常量,如2.3, 89.66, 0.058, 1.0e-6, 100., .123等等,其中着重讲一下:
1.0e-6这是科学计数法,等同于1.0乘以10的-6次方,即0.000001。
100.就是一个整数后面加个点,没写错,MAXScript会默认为浮点数,在后面自动加零,即100.0。
同理,.123,程序会自动记为0.123,这样的常量可以节省时间。MAXScript输入浮点数时可以省略小数点前面或者后面的数,但是不能两个都省略。
现在打开MAXScript侦听器,看看这些具体数是怎么显示的。如图:
(, 下载次数: 9)

MAXScript侦听器分上下两个界面,上下均可以输入语句并执行(但建议在上面输入语句),只有下面才能显示结果,上面的区域还可以记录你的max操作,即宏记录,这里暂不详细说明。
现在清除两个区域,分别点击上下两个空白区域,按快捷键ctrl+D可快速清除。
可以选择性执行语句
(, 下载次数: 10)

Integer整形常量,就是我们通常说的整数,MAXScrip的整形常量的范围是-2147483647~+2147483647,如果超出这个范围,则自动转成浮点型常量float,试试看执行2147483648,返回结果是?


string字符常量,在MAXScript侦听器执行如下字符“cg”和cg可以看到,cg返回undefinde(未定义),"cg"则返回cg",这就是正确的字符常量。
(, 下载次数: 13)
MAXScript里面,用半角字符"字符"双引号括起来的都是字符常量。反斜杠"\"为转义字符,能跟不同字母组合成不同效果。以后用到再详述。

time时间常量,单位有m|s|f|t分别对应分|秒|帧|滴,一秒钟相当于4800滴。以下均为时间常量:
5.5s —— 5.5seconds
1m15s —— 1分15秒
5m30s12f3t —— 5分30秒12帧3滴
125f —— 125帧
17.25f —— 17.25帧
1f20t —— 1帧20滴
2:10.0 —— 2分10秒0帧
0:0.29 —— 29帧

color颜色常量
以后所有maxscript里面的颜色都由这个来表示,如线框色,固有色,灯光颜色等。
颜色构造式color<r><g><b>[<a>],r是红色通道,g是绿色通道,b是蓝色通道,a是alfa通道。alfa通道可以省略。例如:
color 255 255 0
color 0 0 255 128 —— 包含通道
color 128 128 0


maxscript预定了几个颜色关键词,只要单独出现就表示相应单词的颜色,颜色关键词有:
red, green, blue, white, black, orange, yellow, brown, gray
如果执行red就返回红色的颜色信息,如下:


(, 下载次数: 9)


booleanclass布尔常量,只有两种值,true(真),false(假)。maxscript还提供另外两种表示形式:on —— 等同于true,off —— 等同于false,比如一个灯光的开关可以用on,off控制,也可以用true,false控制。
undefined未定义,在maxscript里面,一个变量要先定义了才能使用,就是说先要给一个变量一个名份,不然就会返回undefined。比如上面讲到的cg就是undefined,如果输入 cg=1就是对的,变量赋值后面会讲到。


maxscript还有其他丰富的常量,如Name, Point2, Point3, Ray, Quat, AngleAxis, EulerAngles, Matrix3, BigMatrix, Box2, BitArray, ArrayParameter


————————本节完————————




欢迎光临 自由者CG (https://bbs.zhise168.com/) Powered by Discuz! X3.4