一个网友的maya python 与mel语言变量传递方式,但感觉有些细节说的还不明确。现自己测试的代码分享给大家。
1、maya python 编程环境下,变量传递互相传递的方法:
1) mel 变量 传递给==> python 变量:
例如:
全局变量$abc 为提前在 mel编程环境下,定义的全局字符串变量,命令为
global string $abc ; $abc="Namo Amitabha";
python 脚本中输入:
import maya.mel as mel
tjh = mel.eval('global string $abc;$abc=$abc;')
print(tjh)
#返回结果为 Result: Namo Amitabha,从而实现了夸环境提取 mel 变量到 python 环境的方法。
2) python 变量 传递给==> mel 变量:同理
例如下:
import maya.mel as mel
tjh = 'hello my friends'
mel.eval( ' global string $abc;$abc=` python "tjh" ` ; ' )
#之后再mel环境下,输入
print $abc ;
得到 Result: hello my friends ,实现了python 到 mel 变量传递
2、maya mel 编程环境下,变量传递互相传递的方法:
1) python 变量 传递给==> mel 变量:
例如:
// 提前在 python 环境里第一个了全局变量
tjh ='Namo Amitabha'
在mel输入栏中输入:
string $abc;
python("import maya.mel as mel") ;
python("mel.eval('$abc = `python \"tjh\"` ;' )") ;
// 结果得到 Result: amitabha ,实现了maya中获取python 全局变量值的目的//
2)mel 变量 传递给==> python 变量:
例如:
// 提前在 mel 环境里定义全局变量
global string $abc = "hello my friends ";
python("import maya.mel as mel") ;
python("tjh = mel.eval('global string $abc;$abc=$abc;') ") ;
// python环境下输入
print(tjh)
得到结果 hello my friends ,实现了maya中获取mel 全局变量传递到python的目的//
南无阿弥陀佛