maya python window_Maya 中的 Python

Python 脚本可用于 Maya 中的许多任务(从运行简单命令到开发插件),并针对不同的任务提供了几个与 Maya 相关的不同库。以下是 Maya 附带的 Python 库的简短概述:

maya.cmds

这是 MEL 命令的 Python 包装,可以代替 MEL 使用。详细信息请参见

使用 Python 和

Python 命令参考.

pymel.core

Pymel 是 MEL 的替代包装,由第三方开发。它随 Maya 提供,但是 Autodesk 不支持它。它以不同方式组织命令,与过程方法相比,它采取面向对象的方法

maya.cmds. 详细信息请参见

使用 PyMEL 和

PyMel 参考.

maya.OpenMaya

这是 Maya C++ API 的 Python 包装,称为 Python API 1.0。它适合开发插件和需要 MEL 未公开的功能的其他任务。若要了解已公开的类,应该参考概念主题和“C++ API 参考”

Maya 开发人员帮助. 详细信息请参见“Maya Python API 1.0”

Maya 开发人员帮助。

maya.api.OpenMaya

这是 Maya C++ API 的 Python 包装,称为 Python API 2.0。此包装具有比 Python API 1.0 更佳的性能且更“适合 Python”。它也是较新的 API,仍在开发中,因此并非 1.0 中公开的所有类都可用。详细信息请参见“Maya Python API 2.0”和“Maya Python API 2.0 参考”

Maya 开发人员帮助。

使用 maya.cmds

Autodesk Maya 支持在任何用于使用 MEL 命令的地方使用 Python 样式的脚本。通过在 Maya 中实施 Python 脚本,可以提供与通过 MEL 提供的到本地 Maya 命令的相同访问权限。也就是说,所有的内置 Maya 命令(如 sphere、ls 等)都可以通过 Python 访问。

对于作为 MEL 脚本编写的命令(实际上是 MEL 全局程序 (procs)),可以通过对访问 MEL 的调用 (maya.mel.eval) 访问。有关详细信息,请参见 MEL/Python 通信。

Maya 附带了 PySide 2.0 版。它是使用 Python 2.7 和 Maya Qt 5.6.1 版构建的。

注: 存在 Python 中不可用的某些 MEL 内置函数,尽管它们通常具有 Python 对应项。其中包括数学函数(

abs、

sin、

cos...)和字符串函数(

match、

gmatch、

tokenize...)。(可以将一组 MEL 内置函数视为 MEL 运行时库。)

Python 附带多种标准模块,它们可提供类似的功能。请参见 Python 文档,了解有关可用函数以及如何在 Python 脚本中使用这些函数的信息。

为 Maya 2018 构建 PyQt

为 Autodesk Maya 2018 构建 PyQt 时,必须使用 Microsoft 2015 Visual Studio Update 3 编译器。

有关如何构建 PyQt 模块的副本的说明,请参见 autodesk.com/maya-docs 下的 PyQt 部分。

Python 命令参考(Python Command Reference)

Python 命令参考类似于 MEL 命令参考。有关所有 Python 命令的详细信息,请参见“Maya 帮助”(Maya Help)中的 Python 命令参考文档。

可以通过选择“帮助 > Python 命令参考”(Help > Python Command Reference)访问帮助或打开“Maya 帮助”(Maya Help)(“帮助 > Maya 帮助”(Help > Maya Help)),当“帮助”(Help)打开后,请单击导航框架底部的 CommandsPython。

版本

Maya 通过 Maya 安装程序安装 Python。Maya 在所有受支持的平台上使用 Python 2.7.11 版。Maya 的独立 Python 壳在 Windows 上的名称为 mayapy.exe,在 Linux 和 Mac OS X 上为 mayapy。

外部资源

有关 Python 快速入门的信息(包括参考资料和资源),请访问以下网址:

在 Python 中和为 Python 初始化 Maya 环境

Maya 无论何时启动,都在 userSetup.py 文件中运行 Python 命令。可以使用该文件设置您的工作环境或执行常用 Python 命令,例如导入 maya.cmds 模块。

在 Maya 的初始化和设置阶段执行 userSetup.py 脚本;因此,只有用于设置工作环境并且与 Maya 功能没有依存关系的命令才能在该脚本中成功运行。

注:

您可以使用 maya.utils.executeDeferred() 延迟代码执行,直到初始化 Maya 场景之后再执行。有关详细信息,请参见 maya.utils。

在以下文件夹中创建名为 userSetup.py 的文件:

Windows:\My Documents\maya\\scripts

Mac OS X:~/Library/Preferences/Autodesk/maya//scripts

Linux:~/maya//scripts

在 userSetup.py 文件中,键入您希望 Maya 在启动时运行的命令;例如 import maya.cmds as mc。

注:

请确保使用正确的扩展名 (.py) 保存该文件。

将项目添加到 Python 路径中

若要将项目添加到 Python 的路径中,请执行下列操作之一:

在运行 Maya 之前设置 Maya.env 文件或您环境中的 PYTHONPATH

Maya 运行后,附加到 userSetup.py 或其他脚本中的 sys.path。

以下是一个附加 sys.path 的示例

import sys sys.path.append( '/Users/jdoe/maya/Scripts' )

注:

userSetup.py 必须位于初始的 Python 路径 (

sys.path) 中才能在启动时自动运行。可以通过设置环境变量 PYTHONPATH 将其添加到默认的 Python 路径。

MEL 和 Python 导入

如果您的路径中存在 MEL 脚本,则在访问该脚本包含的任何一个同名全局程序之前,您不需要获得它的来源。但是,Python 需要您在访问它包含的任何类或函数之前显式导入脚本;例如:

# This will access the function "bar" in the file "foo.py"

import foo

foo.bar()

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值