python和maya的联系_MEL 与 Python 之间的重要差异

返回结果

MEL 在执行脚本时会返回最后执行的语句的结果(如果有)。将值指定给变量和返回结果的过程调用的语句属于返回结果的语句类型。例如,以下代码块将有一个结果,MEL 会将该结果回显到脚本编辑器和命令行消息区域:

if ( $foo == 1 ) $bar = 42; else $bar = 7;

相比之下,在 Python 中指定值的语句不返回结果,尽管 Python 执行该指定。

使用 Python 的语法,只需引用一个变量即可返回其值。MEL 的语法不允许只是编写变量的名称作为一条完整的语句。

在 Python 中可以将上述 MEL 代码片段编写为以下内容。最后一行 (bar) 会返回结果。

if foo == 1: bar = 42 else bar = 7 bar

如果需要在一种语言的上下文中使用在另一种语言中计算的值,那么了解该差异是很重要的。例如,如果希望在 MEL 中使用 Python 值,只需执行以下命令:

$myMELvariable = python ("myPythonVariable");

反之,如果希望在 Python 中使用 MEL 变量,则需要执行类似以下的命令:

import maya.mel myPythonVariable = maya.mel.eval ('global $myMELvariable; $temp=$myMELvariable;' )

可以这样做是因为赋值语句会返回一个结果,该语句是脚本中传递到 eval 命令的最后一条语句。

在 Python 中只能访问全局范围的 MEL 变量。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值