问题标签 [maya-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3496 浏览

python - 如何在 maya python api 中获取翻译值?

实际上我是 api 的新手,我正在尝试获取翻译值(x,y,z),但问题是当我只指定“translate”而不是“translateX”、“translateY”、“translateZ”时我无法获得每个单独的行。有什么办法可以得到我真正想要的吗?

这是代码:

谢谢你...

0 投票
1 回答
3709 浏览

python - Maya Python:检查属性是否有任何关键帧

我正在尝试为 Maya 编写一个 python 脚本,它将关键帧从一个装备复制到另一个装备。我找到了对象并将它们匹配起来。如果原始对象有要复制的键,我现在要做的是从原始对象中复制键。我希望使用 Keyframe 命令来检查对象是否有键。

示例:如果 cmds.keyframe(oldObjPath 属性=oldAttr,sl=True, q=True, tc=True ) > 0:

然而,这总是返回错误。当我打印出 oldObjPath 的属性时,我确实打印出了所有属性。知道我在这里做错了什么吗?完整代码如下

关键帧命令文档:http: //download.autodesk.com/global/docs/maya2014/en_us/index.html ?url=files/Python_Python_in_Maya.htm,topicNumber=d30e813275

0 投票
1 回答
319 浏览

c++ - Maya API (C++) - 类静态成员变量及其在其他实例中的个性

这些天我在 Maya API (C++) 中编码,我有点困惑的第一件事是,当你在头文件中定义一个类时,显然你只需要制作静态成员变量(属性),所以所有实例共享公共数据。同时在 Maya 中,例如,当我创建插件名称“Sphere”的实例时,它会创建它,我可以更改属性并且一切正常。但是当我在 Maya 场景中创建另一个 Sphere 对象时,静态属性也有它们的本地值。就像我更改“ Sphere2.radius ”一样,它根本不会更新第一个实例“ Sphere1.radius ”。

这是执行相同行为的代码:

和初始化函数:

所以我想知道你们是否对这个 API 有任何经验,还是我没有正确理解静态概念,或者 Maya 正在以自己的方式处理该部分?

谢谢,

0 投票
2 回答
737 浏览

python - 使用 mel 或 python 更改架子上的 mel 脚本上的图标

我在 MEL 中使用了 addNewShelfTab 和 scriptToShelf 命令为我的迷你 mel 脚本创建了一个图标。我希望能够使用 MEL 或 Python 像在书架编辑器中一样从默认值更改此按钮的图标。我该怎么做呢?

0 投票
3 回答
366 浏览

python - 相同的 python 代码在不同的 Maya 上的工作方式不同(2012 - 2015)

这个简单的代码

在 Maya 2012 中完美运行,给了我这个结果:

在此处输入图像描述

相反,在 Maya 2015 中,相同代码的结果如下:

在此处输入图像描述

所有的圆都移动到原点。

似乎该命令的cmd.makeIdentity工作方式不同,但阅读 Maya 文档该命令是相同的。构建历史设置也相同。我不明白玛雅在幕后做了什么。

为什么这行代码的工作方式不同?

0 投票
1 回答
125 浏览

maya - Maya 2015:创建自定义节点时适合视图问题

我有一个像这样的简单场景:

在此处输入图像描述

其中 CTRL_set 和 CTRL_setsubControl 是两个自定义节点。当我按 F 选择焦点时,它给了我这个:

在此处输入图像描述

如果我在按 F 之前选择网格(而不是自定义节点),网格也会走得很远。当我按 A 时也会出现此问题。

如何解决它保持相同的节点结构?

0 投票
1 回答
446 浏览

c++ - 将自定义数据传递给 MPxLocator (Maya API) 的属性

在使用 Maya API 的 cpp 类中,我启动了一个名为 myLocatorNode 的自定义 MPxLocator 实例,并为其属性传递了一些变量:

自定义定位器类:

我想将指向自定义类的指针传递给属性/插入。定位器类中的哪个属性类型可以帮助我做到这一点?谢谢

0 投票
1 回答
546 浏览

maya-api - Maya:在 API/C++ 中复制 AnimCurve

是否有任何简单的方法可以复制任何类型的 AnimCurve?我看到使用 MFnAnimCurve 它可能会变得非常臃肿。

PS:现在使用 Maya 2013。

0 投票
1 回答
1231 浏览

python - 自定义 Maya 的 addCheckCallback 弹出消息

当用户保存文件时,我希望在保存之前进行检查。如果检查失败,则不会保存。我使用 mSceneMessage 和 kBeforeSaveCheck 进行了这项工作,但我不知道如何在弹出消息失败时自定义弹出消息。这可能吗?

现在它显示

用户提供的回调取消了文件操作。

0 投票
2 回答
241 浏览

python - Maya Python API:运行脚本时程序未关闭

我有一个简短的 Maya 脚本,它只是将相机连续旋转一圈。问题是,当我尝试运行脚本时,一旦它运行,我无法关闭应用程序,直到我终止脚本。我正在使用 cmds.refresh() 但这只会刷新 UI 并且仍然会延迟其他操作(例如关闭程序)。我知道我可以手动杀死脚本,但我希望能够通过回调或其他类似的东西以编程方式完成它。

这是我的代码现在的样子:

基本上有什么我可以在 while() 而不是“True”中放入的东西,当你关闭程序时会自动终止脚本?或者我可以做一些完全不同的事情?