[Maya]Mel基础教程之二
发布: 2007-1-26 14:15 | 作者: admin | 来源: 不详 | 查看: 101次
使用脚本语言结点
一个脚本语言结点是一个包括了一个MEL脚本语言程序的结点。
当该结点产生或者当该结点被破坏时,该程序被执行,它取决于脚本结点的类型。
本章包括以下内容:1、了解脚本语言结点;2、产生脚本语言结点;3、测试脚本语言;4、编辑脚本语言结点;
5、设立脚本语言结点的执行;6、删除脚本语言结点。
--------------------------------------------------------------------------------
1、了解脚本语言结点
脚本语言结点是把一个MEL脚本语言程序存储到一个Maya场景文件中的一种方法。
脚本语言结点也包含了用于产生用户界面的所有MEL指令,并被用MAYA文件保存。
你可以用不同的方法执行脚本语言程序。可以指明一个脚本程序结点执行它的程序:
当该结点是从一个文件中读出的;
在渲染一桢图像的之前或者之后;
在渲染一个动画的之前或者之后。
当一个文件关闭着时使用File > Open或者File > New
一个脚本语言程序结点有三个属性:
Before、After和Type。决定于脚本程序的类型,当执行该程序时,说明Before和After属性。
-------------------------------------------------------------------
2、产生脚本语言结点
可以使用表达式编辑器产生脚本语言结点。
为了产生一个脚本语言结点:
1--选择Window > Expression Editor。
2--在Expression Editor中选择Select Filter > By Script Node Name。
任何现存的Script Nodes显示在Script Nodes表中。
3--在Expression Editor的Script window中输入脚本程序。
4--在Script Node Name框中输入一个名字。
5--定义你想要使脚本成为一个之前或者之后的脚本程序。
6--点击Create键。
这产生脚本结点。现在你可以定义它的类型。
7--从Execute On 下拉菜单里选择以下的一个脚本程序结点类型:
Demand
当你使用scriptNode指令,隐含地需求它时,运行脚本文件(看在线指令文件的scriptNode指令的信息)。
忽略这种类型的脚本文件的之前和之后的属性。
Open/Close
如果你已经指定了该脚本文件作为之前的脚本文件,当以批处理模式读文件时脚本被执行。如果你把它
作为之后的脚本文件,当文件被关闭或者没有以图示用户界面模式提供,或者当该结点被删除时,它被执行。
GUI Open/Close
如果你已经指定了该脚本文件作为之前的脚本文件,当以图示用户界面模式运行MAYA,在读文件时脚本文件
被执行。如果你把它作为之后的脚本文件,当文件被关闭,或者没有以图示用户界面模式提供,或者当该结
点被删除时,它被执行。
UI Configuration (内部)
之前的脚本文件包括了用户界面设置的信息。它是由Maya或者一个plug-in为了保存面板排列和编辑状态信息
而自动的产生的。当你打开一个文件时,这个脚本结点执行它的脚本文件。在执行之后,该结点被删除掉。之
后的脚本是不会运行的。如果一个文件被提供或被输入,这个结点将会不存在。
软件渲染
如果你选派好脚本作为之前的脚本,脚本的执行在一个动画之前被渲染。如果你选派好脚本作为之后的脚本,
脚本的执行在一个动画之后被渲染。
软件桢渲染
如果你选派好脚本作为之前的脚本,脚本的执行在一个桢之前被渲染。如果你选派好脚本作为之后的脚本,脚
本的执行在一个桢之后被渲染。
8--点击Edit键给脚本结点赋类型。
9--如果你想增加另外一个脚本结点,点击New Script Node键。
Script窗口和Script Node Name框被清除,你可以输入一个新的脚本结点。
-------------------------------------------------------------------
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外,都可以是一个阵列。如,一个三元素的整数阵列是一个跟一个的三个整数。
声明和标注变量
声明一个变量是说明变量的名字和类型;标注一个变量是给已生命的变量一个专有的值。下例是将声明和标注合为一步:
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."};
|
【已有0位网友发表了看法,点击查看全部评论】
图片资讯
最新报道
|
