欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

[Maya API]lesson21_Maya API 的全局操作方法 - MGlobal

程序员文章站 2022-03-19 14:59:34
...

MGlobal全局操作类函数

MGlobal

功能:提供通用API全剧功能的静态类

特性:无需实例化,直接可以使用静态方法

我们可以使用它的方法去做一些不是针对性特别强的,只是公用的一些功能,他的方法都是静态方法,我们直接调用即可,

1.首先我们导入maya.OpenMaya中的MGlobal

from maya.OpenMaya import MGlobal

2.可以使用apiVersion来获得他的api版本

from maya.OpenMaya import MGlobal

MGlobal.apiVersion()

[Maya API]lesson21_Maya API 的全局操作方法 - MGlobal

3.我们要获得场景里面的选择的物体,类似于我们的ls命令

这个命令就会把我们当前选择的内容存储到这个sel里面,如图选中了一个物体,这个MSelection的列表中的元素就是1个。

from maya.OpenMaya import MGlobal

sel = OpenMaya.MSelectionList()
OpenMaya.MGlobal.getActiveSelectionList(sel)

sel.length()

[Maya API]lesson21_Maya API 的全局操作方法 - MGlobal

4.我们可以setActiveSelectionList(),直接选择物体也就等于我们的选择命令,也就类似于select后面跟一组列表,里面是一组物体的名字。

from maya.OpenMaya import MGlobal

sel = OpenMaya.MSelectionList()
OpenMaya.MGlobal.getActiveSelectionList(sel)

OpenMaya.MGlobal.setActiveSelectionList(sel)

[Maya API]lesson21_Maya API 的全局操作方法 - MGlobal

5.我们还可以使用它来执行一个python命令,比如OpenMaya.MGlobal.excuteCommand("createNode 'joint'")

默认没有输出结果,所以我们需要使用一个变量来接受输出的结果

如果有时候我们的插件里面需要调用的她原有的命令的时候,就可以在AP里面调用这些东西,在API里面,我们可以使用excuteCommand后面加上MEL或者Python命令,那么调用python命令,用的事excutePythonCommand,我们还可以使用它判断场景里面的状态。

比如说判断是Y轴向上,还是Z轴朝上,返回一个bool值

使用它显示一部分信息,显示输出警告或者错误信息,可以使用displayInfo

显示正常提示信息:OpenMaya.MGlobal.displayInfo('info msg.....')

显示警告信息: OpenMaya.MGlobal.displayWarning('info msg.....')

显示错误信息: OpenMaya.MGlobal.displayError('info msg.....')

更改帧的位置:OpenMaya.MGlobal.viewFrame(30)

相关标签: Maya API