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

MGlobal全局操作类函数

MGlobal

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

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

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

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

from maya.OpenMaya import MGlobal

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

from maya.OpenMaya import MGlobal

MGlobal.apiVersion()

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

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

from maya.OpenMaya import MGlobal

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

sel.length()

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

from maya.OpenMaya import MGlobal

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

OpenMaya.MGlobal.setActiveSelectionList(sel)

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)

猜你喜欢

转载自blog.csdn.net/weixin_41363156/article/details/104157121