以下部分介绍了一些基本概念,有助于您理解在 Maya 中使用脚本时出现的一些情况。          

命令架构

Maya 拥有一个基于命令的架构,用于处理所有的操作。所有 Maya 功能命令均通过 Maya 用户界面(菜单、工具、对话框)使用的脚本语言命令来访问;事实上,就是您在 Maya 中进行交互时所使用的一些东西。此外,您还能以 Maya 支持的脚本语言明确地输入Maya 命令。

每个 Maya 命令都有多个参数,这些参数设定了命令的执行方式。若要让命令能够执行,就需要具备参数及参数的隐式或显式值。

Maya 中的脚本语言使用标志设定参数值。标志将告知脚本语言以什么值设定了 Maya 命令的哪个参数。指定给参数的值将跟随在标志之后。

标志在 MEL 和 Python 中具有短名称和长名称。无论是使用标志的短名称还是长名称,均同样执行命令。长名称通常为描述性且适用于新用户;短名称则为缩写形式的标志名称,适用于高级用户。

Maya 中的脚本语言

Maya 支持两种脚本语言:  

  • Maya 嵌入式语言 (Maya Embedded Language, MEL) 是依据 Unix Shell 脚本建模的专用脚本语言。

  • Python 是 Maya 中最新添加的特性,可以和 MEL 一样用于访问 Maya 命令。Python 是一种广泛运用的现代编程语言。

Maya 的用户界面是使用执行(调用)Maya 命令的脚本而构建的。由于 Python 是最新添加到 Maya 中的,因而通过用户界面访问的大多数脚本都是用 MEL 编写的。

例如,如果单击工具架上的球体图标或从菜单中选择一项,Maya 将调用 MEL 命令以创建球体,或执行与菜单项关联的命令。

在 Maya 中输入命令

有多种方法可用于在 Maya 中明确输入脚本命令。  

  • 若要输入单行 MEL 和 Python 命令,请使用“命令行”(Command Line)。若要显示“命令行”(Command Line)(如果已隐藏),请选择“显示 > UI 元素 > 命令行”(Display > UI Elements > Command Line)“命令行”(Command Line)位于 Maya 界面底部边缘附近。

  • 若要输入多行 MEL 和 Python 命令,请使用“脚本编辑器”(Script Editor)“脚本编辑器”(Script Editor)显示已执行命令的历史以及命令的结果和输出。若要打开“脚本编辑器”(Script Editor),请选择“窗口 > 常规编辑器 > 脚本编辑器”(Window > General Editors > Script Editor)。                

  • “脚本编辑器”(Script Editor)的 MEL 选项卡中输入所有 MEL 命令时,这些 MEL 命令将会亮显。                

  • 同样,“表达式编辑器”(Expression Editor)使用 MEL 命令的子集在场景中创建动画。将针对动画中的每个帧对“表达式编辑器”(Expression Editor)中的 MEL 命令求值。“表达式编辑器”(Expression Editor)不支持 Python 命令。若要打开“表达式编辑器”(Expression Editor),请选择“窗口 > 动画编辑器 > 表达式编辑器”(Window > Animation Editors > Expression Editor)。                

也可以加载外部 MEL 和 Python 文件,并使用脚本编辑器运行这些文件。有关详细信息,请参见“加载脚本文件”(Loading a script file)

MEL 外观

调用 MEL 命令具有一种基本结构,即命令后跟标志和参数的组合。在 MEL 中,标志前面是连字符。

所有 MEL 命令都区分大小写;SPHEREsphere 是不同的(并返回错误消息)。

如果未提供任何标志,则命令以默认参数作为执行条件。如果未获得所需参数,命令的执行将失败。

注意                  

MEL 还有一种备用语法,其执行命令和标志的方法类似于 C 编程语言。有关详细信息,请参见《Maya 用户手册》中的“适用于编程人员的 MEL”(MEL for Programmers)。                  

获取关于 MEL 的帮助

有三种方法可用于获取关于 MEL 的帮助:  

  • 若要访问关于特定 MEL 命令的帮助信息,请通过选择“帮助 > MEL 命令参考”(Help > MEL Command Reference)打开“MEL 命令参考”(MEL Command Reference)。                

  • 也可使用 Maya 命令 help,以便从脚本编辑器中访问帮助信息。例如,输入 help sphere 将列表显示一些可与 sphere 命令一起使用的标志。                

  • 有关 MEL 命令使用的所有方面的详细信息,也可参见手册的“MEL 和表达式”部分,这是“Maya 帮助”(Maya Help) 的部分内容。打开“Maya 帮助”(Maya Help),然后选择“使用 Maya > 常规 > MEL 和表达式”(Using              Maya > General > MEL and Expressions)。                

Python 基础知识

Python 和 MEL 都是脚本语言,在 Maya 中具有相同的重要性和功能。Python 可以访问 MEL 能够访问的所有 Maya 命令。

Python 通过 Python 模块 maya.cmds 访问 Maya 命令。Python 中的模块是一组向 Python 中添加了功能的命令,必须在使用模块中的任何命令之前导入。

Python 中的标志通过 Python 的已命名参数执行。您将指定要修改的参数,并使用指定运算符 (=) 将新值指定给参数。

若要运行该命令或任何示例命令,必须先导入 Python 模块。开始输入 Python 命令之前,先输入 import maya.cmds

所有 Python 命令都区分大小写;maya.cmds.SPHEREmaya.cmds.sphere 是不同的(并返回错误消息)。

获取关于 Python 的帮助

有多种方法可用于获取关于 Python 的帮助:  

  • 若要访问关于特定 Maya (Python) 命令的帮助信息,请通过选择“帮助 > Python 命令参考”(Help > Python Command Reference)打开“Python 命令参考”(Python Command Reference)。                

  • 也可使用 Maya 命令 help (),以便从脚本编辑器中访问关于 Maya Python 命令的帮助信息。例如,键入 maya.cmds.help ("sphere") 将列表显示一些可能可与 sphere 命令一起使用的标志。                

  • 通过键入 help ("command") 可从“脚本编辑器”(Script Editor)中访问关于本机 Python 命令的帮助信息,其中 command 是想要访问其帮助信息的 Python 命令。                

  • 有关 Python 命令使用的详细信息,也可参见手册的“Python”部分,这是“Maya 帮助”(Maya Help) 的部分内容。打开“Maya 帮助”(Maya Help),然后选择“使用 Maya > 常规 > Python”(Using Maya > General > Python)。                

  • “脚本编辑器”(Script Editor)的 Python 选项卡中输入所有 Python 命令时,这些 Python 命令将会亮显。                

  • Web 上现有一些关于 Python 的参考资料和文档,以及许多可用于向 Python 中添加额外功能的可下载模块。

    • 快速入门教程:www.python.org/about/gettingstarted                      

    • Python 文档:docs.python.org                      

    • Python 模块:cheeseshop.python.org                      


,