Make Www.Edu-cn.Com Your Home Page!
用户名: 密码: 验证码: 注册
  当前位置: > 中国教程网>图形图像>三维立体>maya> Maya Mel基础教程

Maya Mel基础教程

作者:   来源:中国教程网   点击:   日期:2007-04-01

一个脚本语言结点是一个包括了一个 MEL脚本语言程序的结点。
当该结点产生或者当该结点被破坏时,该程序被执行,它取决于脚本结点的类型。

本章包括以下内容:
1、了解脚本语言结点;
2、产生脚本语言结点;
3、测试脚本语言;
4、编辑脚本语言结点;
5、设立脚本语言结点的执行;
6、删除脚本语言结点。

3、测试脚本程序

可以使用表达式编辑器对脚本程序进行测试。

为测试一个脚本程序:

1--选择Window > Expression Editor。

2--在表达式编辑器中选择Select Filter > By Script Node Name。

3--在Script window中输入脚本程序,或从Script Nodes 表中。

4--点击Test Script键。

错误显示在脚本语言编辑器中。


4、编辑脚本语言结点

可以使用表达式编辑器对脚本语言结点进行编辑。

为了对脚本语言的编辑定义一个编辑器:

1--选择Window > Expression Editor。

2--在表达式编辑器中选择Select Filter > By Script Node Name。

3--从编辑器下拉菜单中选择一个编辑器。

为了编辑一个脚本语言结点:

1--选择Window > Expression Editor。 中国教程网

2--在表达式编辑器中选择Select Filter > By Script Node Name。

3--选择你想在Script Nodes list中要编辑的脚本语言结点。

4--在Script window中编辑该脚本语言结点。

5--如果你想撤消你的改变,点击Reload。Maya重装原来的脚本语言结点。

6--为了清理Script window,点击Clear键。


5、设立脚本语言结点的执行

为了设立脚本语言结点的执行:

1--选择File > Open Scene。或选择File > Open然后在Open Scene window中点击Options。

2--点击复选框将Execute Script Nodes打开或者关闭。


6、删除脚本语言结点

可以使用表达式编辑器删除脚本语言结点。

为了删除一个脚本语言结点:

1--S选择Window > Expression Editor。

2--在表达式编辑器中选择Select Filter > By Script Node Name。

3--选择你想在Script Nodes list中要删除的脚本语言结点。

4--点击Delete按键。

中国教育网

定义数据

本章描述 MEL的数据类型它们之间的转换:
1、变量;
2、常数;
3、数据类型转换;
4、限制。

1、变量

所有变量名以$开始。变量名不包括空格和特殊字符。你可以使用下划线和数字作为变量名但开头不能是数字。
识别大小写,如$temp不同于$Temp。

例:

int $radical7Mark; // 有效
int HEYchief; // ERROR: 开头缺"$"
int $ nine; // ERROR: 开头不是"$"
int $_VAL_ID___AIT_; // 有效
int $howdyYa`ll; // ERROR: 含有无效字符
int $1Bill; // ERROR: 开头不能是数字

有以下五种变量类型:

类型 意义 例子
int 整数 (...-2, -1, 0, 1, 2...)10, -5, 和 0
float 小数 392.6, 7.0, and -2.667
string 一个或更多的字符 "What's up, chief?"
vector 三个浮点数 <<3,?7.7,?9.1>>
matrix 浮点数阵列 <<1.1, 2, 3; 6.7, 5, 4.9>>

以上类型除matrix外,都可以是一个阵列。如,一个三元素的整数阵列是一个跟一个的三个整数。

声明和标注变量

声明一个变量是说明变量的名字和类型;标注一个变量是给已生命的变量一个专有的值。下例是将声明和标注合为一步:

www.edu4u.com.cn


int $temp = 3;
float $Temp = 222.222;
string $tEmp = "Heya kid.";
vector $teMp = <<1, 2.7, 3.2>>;
matrix $temP[2][3] = <<4.5, 1, 0.2; -13, 9911, 0.007>>;

当生命矩阵变量时,必须包括二维阵列的尺寸。

下例说明对整型、浮点、字符串和矢量阵列型变量阵列的声明和标注:

int $TEmp[5] = {100, 1000, -70, 2, 9822};
float $TeMp[4] = {43.3, -10.7, 0, 82.5};
string $TemP[3] = {"Lord", "Flies", "cool brown fox2."}; < p>

vector $tEMp[2] = {<<0, 0, 0>>, <<0.01, -2, 16>>};

如果一个变量被声明但未被标注,它的所有的值是0;字串变量则?quot; "。

float $teMP; // 赋值: 0;
string $TEMp[3]; // 赋值: {"", "", ""};
vector $TEmP[2]; // 赋值: {<<0, 0, 0>>, <<0, 0, 0>>};
matrix $TeMP[3][2]; // 赋值: <<0, 0; 0, 0; 0, 0>>;

如果一个变量被声明或者被使用而没有定义它的类型,它被隐含声明为将要赋值给它的那种类型。

$tEMP = 0.0; // 浮点数
string $TEMP[]; // 零元素字符串阵列 AOE3 STUDIO
$trip = "heya Buddy"; // 字符串
$rip = {1, 2, 3, 4}; // 四元素整型阵列
$lip = <<1, 2.1; 3, 4>>; // 2X2 矩阵
$flixp = $TEMP; // 零元素字符串阵列

注意值0.0是一个浮点数,而一个0值是一个整型数。这决定了在隐含声明时是产生一个浮点数还是产生一个整型数。
不建议使用隐含声明,因为它不象变量的隐含声明那样的清楚。

保留字

MEL的保留字可以是一个变量类型、控制逻辑或是表达一个值。以下是MEL的保留字:

break case continue default do else
false float for global if in
int matrix no off on proc
return string switch true vector while
yes

数据类型关键字

int float vector string matrix

布尔常数关键字

yes no on off true false

流动控制关键字

if else for while do in break continue default switch case

其他关键字

global return source catch alias proc

保留字也区分大小写。所以int是整型,Int不是。实际上alias、source、catch 也是保留字,但它们起指令作用,
因此没有被包括在上述表内。

字符串
中国教育网


字符串可用"+"运算连接。

string $what = "Whale";
string $title = "Great" + " White " + $what;

这将使title变量的内容为Great White Whale。

矢量

为寻址一个vector的各个成分,使用"."。

vector $LOS = <<1, 2, 7>>;
float $firstComponent = $LOS.x; // 赋值为 1
float $secondComponent = $LOS.y; // 赋值为 2
float $thirdComponent = $LOS.z; // 赋值为 7

标注矢量的成分:

vector $LOCK = <<7, -4, 9>>;
$LOCK = <<$LOCK.x, $LOCK.y, 3>>; // Assigned <<7, -4, 3>>

但不能直接给一个成分标数字:

$LOCK.z = 3000; // 错误

但是通常当访问一个矢量成分时,你应该象下面例子那样围绕它使用括号:

例子:
print $LOCK.x; // 错误
print($LOCK.x);
setAttr persp.scaleX $LOS.x; // 错误
setAttr persp.scaleX ($LOS.x); 中国教程网

中国教育网


共5页: 上一页 [1] [2] [3] 4 [5] 下一页
文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【论坛讨论

   最新文章:
·MAYA女孩头像的建模过程(04-02)
·MAYA毛发教程(04-02)
·Maya 实现透明贴图|(04-02)
·Maya 菜单中英文对照(04-01)
·Maya UV 编辑实例系列(04-01)
·MAYA实现美女泡泡(04-02)
·Maya 脸部布线建模|(04-02)
·Maya Nurbs 汽车坐椅建模(04-01)
·Maya 硬件渲染粒子与软件渲染元素结(04-01)
·Maya 花的建摸(04-02)
   相关文章:
·Maya 硬件渲染粒子与软件渲染元素结合 ·表达式动画之Functions
·Maya Mental Ray 的Final Gathering| ·Maya 6.0 新功能之Hair
·MAYA节点连接问题 ·Maya 4.0 粒子系统-力场
·Maya 制作鱼的模型 ·Maya 4.0 动画的基础知识-编辑关键帧
·Maya 菜单中英文对照 ·Maya 4.0 表面材质-编辑材质

   文章评论:(0条)
  
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。

 §最新评论:

  责任编辑:中国教程网  

© 2007 Copyright 中国教育网
DesignBy:AOE3 STUDIO & ROCOCO