我是 Maya 脚本编写新手,系统要求我将以下 MEL 转换为 Python。
我一直在 Mel 中搜索所有命令,一切似乎都很好,除了下面脚本中的两个术语 ## followObject_setup 和 followObjectExpr ## 。
谁能给我解释一下,这是什么。
提前致谢
global proc newPointBlast_Follow()
{
/*
Function to get the point from selection and camera from view.
Attach the camera to point.
*/
global string $followingCamera[];
global string $object_to_Follow[];
undoInfo -swf off;
string $currentPanel = `getPanel -wf`;
string $type = `getPanel -typeOf $currentPanel`;
if ( $type == "modelPanel" )
{
$followingCamera[0] = `modelPanel -q -camera $currentPanel`;
}
$object_to_Follow = `ls -sl`;
if ( `size( $object_to_Follow )` == 0 )
{
confirmDialog -title "No Object selected" -message "Please select an Object or Vertex to Follow" -button "OK"; }
else
{
newPointBlast_unlockImagePlanes();
if ( `objExists followObject_setup` )
{
delete followObject_setup;
}
if ( `objExists followObjectExpr` )
{
delete followObjectExpr;
}
最后一个 if 语句的含义是什么?
这是一些已在其他地方定义的变量。
在 Maya 中,如果您输入 MEL:
whatIs followObjectExpr
whatIs followObject_setup
如果它返回None,则它不是一个过程或属于maya的东西
否则,如果你无法在 python 中粗略地转换你的命令,你可以使用下面的命令来转换 mel 字符串:
import pymel.tools.mel2py as mel2py
text = raw_input()
print(mel2py.mel2pyStr(text, pymelNamespace='pm'))
或者您可以使用它来转换 mel 文件:
import pymel.tools.mel2py as mel2py
mel2py.mel2py('/path/maya20XX/scripts/others/doWrapArgList.mel',
'/path/myfolder/doWrapArgList/')
我是一名优秀的程序员,十分优秀!