MAYA MEL 基础
1 MEL代码基础
1.1数据类型
<1>int
存放整数,一般为32位,有些平台可能为64位,默认值为0
<2>float
存放实数,类似于C中的double类型,一般为64位,但是有些平台可能也不一样,默认值为0.0
<3>string:字符串
用双引号包围起来,字符串的基本操作有:连接(使用”+”号将两个字符串连接),求长(使用size函数计算长度),分割(使用tokenize函数将字符串分割子字符串),默认值为空字符串。跟C中的字符串风格类似。
<4>vector:矢量
用于存放3个float型数据,一般用于存放顶点坐标,可以使用.x,.y,.z属性读取其中的3个数据,但是不能单独对其中的一项赋值。默认值<<0.0,0.0,0.0>>
<5>array:数组
使用具体的类型定义一个数组,用法和C中的一样使用方括号([])进行定义,使用 size函数获得数组的长度,使用下标访问数据,第一个数据的下标为0。
跟C不同的是MEL中的数组长度可以动态改变,将数组长度作为下标对其赋值,数组长度加1并存储这个新元素。假如越界的下标比数组长度还大,对这个下标的元素赋值,则数组的长度为新下标减1,中间未赋值的元素为这个数组类型的默认值。
使用clear函数清空数组
<6>matrix:矩阵
是一个二维矩阵,存放float类型的数据,使用C中的二维数组访问方式,第一个数据的下标为[0][0],矩阵的大小定义之后不能再改变。
矩阵初始化示例:
matrix$mat[2][4] = <<1,2,3,4;5,6,7,8>>;//没行用分号分隔
使用whatIs可以查询变量或函数的类型
1.2 变量定义及类型转换
(DataType) $varName;
每个变量名前面都要带一个美元符($),定义变量可以不设定变量类型,而是直接声明,它的类型根据后面给它所赋的值来确定。
假如一个变量使用一个类型确定后(定义时未使用类型名时由系统确定),在后面