一个网友的maya python 与mel语言变量传递方式,但感觉有些细节说的还不明确。现自己测试的代码分享给大家。
1、maya python 编程环境下,变量传递互相传递的方法:
1) mel 变量 ==> python 变量: 例如: import maya.mel as mel
tjh = mel.eval(‘global string a b c ; abc; 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 a b c ; abc; abc;abc=python "tjh" ; ’ )
#之后再mel环境下,输入print $abc ; 得到 Result: hello my friends ,实现了python 到 mel 变量传递
2、maya mel 编程环境下,变量传递互相传递的方法:
1) python 变量 ==> mel 变量: 例如: // 提前在 python 环境里第一个了全局变量 tjh =‘Namo Amitabha’ string a b c ; p y t h o n ( " i m p o r t m a y a . m e l a s m e l " ) ; p y t h o n ( " m e l . e v a l ( ′ abc; python("import maya.mel as mel") ; python("mel.eval(' abc;python("importmaya.melasmel");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 a b c ; abc; abc;abc=$abc;’) ") ;
// python环境下输入 print(tjh) ,得到结果 hello my friends ,实现了maya中获取mel 全局变量传递到python的目的//
南无阿弥陀佛