咨询电话:400-810-1418服务与监督电话:400-006-6572

如何在maya中利用MEL创作一个小球?内含MEL构造解析!

发布时间:2019-10-21 18:10:23

本节我们使用脚本创建一个NURBS小球。 因为我们刚开始学习编写代码,所以并不知道该如何编写小球的代码,但这并不要紧,可以先学习如何提取代码。

 (1)首先用最传统的方式建立一个NURBS小球,执行Create>NURBS Primitives>Sphere (创建>NURBS基本体>球体)菜单命令,如图所示。

 如何在maya中利用MEL创作一个小球?内含MEL构造解析!

 (2)打开Script Editor (脚本编辑器)窗口,我们会发现里面多出一~行脚本“sphere -p000-ax01 0 -ssw0 -esw 360 -r1 -d3 -ut0 -tol 0.01 -s8 -nsp 4 -ch 1;objectMoveCommand," ,其实这是2行代码,有用的是第1句,第2句其实就是一一个转换变换操纵工具的指令。把第1句“sphere -p000 -ax010 -swo -esw360 -r1-d3 -ut0 -tol0.01 -s8 -nsp4 -ch 1;”复制到MEL标签下的空白处,分别如图所示。

 如何在maya中利用MEL创作一个小球?内含MEL构造解析!

 如何在maya中利用MEL创作一个小球?内含MEL构造解析!

(3)运行代码,我们会发现可以创建出一个和刚才一模一样的NURBS小球,观察大纲视图,可以看到场景中有了2个小球,一个是执行命令得到的;一个是运行代码得到的,如图所示。

 如何在maya中利用MEL创作一个小球?内含MEL构造解析!

 (4)如果需要经常使用这套代码,可以制作一个快捷图标放到工具架。在Script Editor (脚本编辑器)窗口中选择代码,用鼠标中键将其拖曳到工具架中,会形成一个图标,下次只需要直接单击图标就可以执行代码,如图所示。

 如何在maya中利用MEL创作一个小球?内含MEL构造解析!

二、MEL构造

在案例中,我们得到一行代码。

sphere -p000 -ax010 -ssw0 -esw 360-r1 -d3 -ut0 -tol 0.01 -s8 -nsp4 -ch 1;

但是我们并不太清楚其中的含义,在这里可以使用对照的方法来进行分析。

(1)单击Create> NURBS Primitives> Sphere ( 创建> NURBS基本体>球体)菜单命令后面的按钮,可以打开图所示的NURBS球体选项窗口。

 如何在maya中利用MEL创作一个小球?内含MEL构造解析!

(2)修改一些我们能记住的参数值,如777、888之类,做一些随机的修改,并单击Apply (应用)按钮,如图所示。

 如何在maya中利用MEL创作一个小球?内含MEL构造解析!

 (3)得到图所示的返回代码。

sphere -p000-ax1 00 -ssW 777 -esw 888 -r 999-d1 -ut0 -tol 0.01 -s 123 -nsp 200 -ch 1;

 如何在maya中利用MEL创作一个小球?内含MEL构造解析!

(4)由此我们可以得到图所示的对应关系。

 如何在maya中利用MEL创作一个小球?内含MEL构造解析!

(5)但是代码中的-p后缀与-ch 1后缀并没有得到解释,如果有写代码比较多的读者应该不难理解,它们分别表示position (坐标)与Channel On (通道打开)。

猜测与尝试。通过分析我们得到了不同属性的不同后缀,所以在这里可以自己拟定一个想法实现它——创建一个坐标在(0, 10, 0)位置的半圆。通过对照,我们可以尝试性地写-些自己需要的后缀。

sphere -p0100-ax1 00-ssw180 -d3-ch 1;

通过运行代码,的确得到了一个在y轴10个单位坐标的半圆,如图所示,成功!

如何在maya中利用MEL创作一个小球?内含MEL构造解析!