问题标签 [pymel]

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 回答
695 浏览

python - 通过 PyMel 获取、存储、设置和修改转换属性

我正在研究获取和存储用户移动的对象的变换,然后允许用户单击按钮以返回用户设置的值。

到目前为止,我已经弄清楚了如何获取属性并进行设置。但是,我只能获取和设置一次。有没有办法在运行一次的脚本中多次执行此操作?还是我必须继续重新运行脚本?这对我来说是一个至关重要的问题。

基本上:

我不是 100% 知道如何正确地做到这一点,或者我是否走对了路?

谢谢

0 投票
0 回答
346 浏览

maya - 育儿不会导致翻译偏移 - 奇怪的行为

我将对象设置为另一个对象的子对象。

通常它的 [0,0,0] 平移点被设置为父对象的枢轴,并且子对象在位置上获得一些偏移以保持位置。我不知道它在我的场景中是不是这样。子对象保持位置,但平移仍设置为 [0,0,0] 并且枢轴不会移动到父对象的枢轴位置。

为什么?为什么对象显示一些奇怪的位置而不是世界?为什么没有应用偏移并且位置不会更改为父级?

问候

0 投票
1 回答
82 浏览

python - Pymel:如何从复杂的 .TXT 文件中提取这些矢量浮点数?

我很难理解如何从 Pymel 中的复杂文本文件中提取浮点值。我不是程序员,我是艺术家,但是我需要为特定的工作流程创建脚本,并且我对 python 有初级知识。

我的目标:使用从另一个程序的特定文本文件解析的 (x,y,z) 坐标在 3D 空间中创建对象。

前任。文本文件:

点 1 8.740349 -4.640922 103.950059
点 2 8.520906 3.447561 116.580496
点 3 4.235010 -7.562914 99.632423
等等等等

在我的文本文件中,点 # 和向量浮动之间有更多空间。

我想创建一个字典,用于在我的 3D 程序中创建对象。

例如,

myDictionary = {(第 1 点),[8.740349,-4.640922,103.950059]) 等}。

到目前为止,这是我的代码片段:

正如您在代码中看到的,信息之间的间隔很长。我想如果我可以删除那个空间,我可以获得两个更容易使用的数据集。文本文档中还有更多我不关心的行,因此 if 语句仅过滤以“point”开头的行。当我运行 createLocator() 来测试它是否将行拆分到我的两个列表中时,它运行良好,但对我来说打印看起来是空的。

前任。

[''] ['']

我已经尝试在 SO 上搜索和搜索答案,并在 Pymel 和常规 python 文档中搜索我做错了什么或更好的方法,但我不得不承认我的知识范围到此为止。

我究竟做错了什么?有没有更好、更有效的方法来提取我需要的我丢失的数据?

谢谢阅读!

0 投票
3 回答
5792 浏览

python - 在python中设置默认日志记录级别

我遇到了一个似乎会更改默认日志记录级别的模块(特别是 Maya 中的 pymel.core)。当我导入 pymel 时,我正在使用的模块中的所有不同记录器突然设置为调试并开始喷出大量我不想看到的东西。在我看来,pymel 正在更改日志模块中的默认日志级别,但我不太确定在哪里。我查看了日志记录文档,但不确定如何将其设置回以前的状态,我只能看到如何在单个记录器上设置级别。

谁能建议我如何切换默认日志记录级别?

我希望能够以某种方式将该默认级别设置回 30,因此当我的所有记录器从日志记录模块的默认值继承该级别时,它们都会恢复到以前的状态。抱歉,如果我误解了日志记录模块的工作原理,我对它很陌生。

0 投票
1 回答
937 浏览

python - 使用 python/MEL 在 Maya 中加载预设目录?

我有一个文件夹,其中存储了一些 Maya 预设(特别是 nCloth 预设),并且我想让这个目录可供当前网络上的所有用户使用。为此,我希望在启动时将此文件夹添加到 MAYA_PRESET_PATH。但是,我无法创建/修改 maya.env 文件(网络权限受限)。那么,有没有办法使用 python 或 MEL 将目录附加到 Maya 的环境变量中,以便我可以在启动时调用脚本来动态加载我的所有预设?

我在我的启动 MEL 脚本中尝试了以下操作,但无济于事......

0 投票
5 回答
4576 浏览

python - 如何使用 Python 收集 Maya 中的所有相机?

如何收集 Maya 场景中的所有摄像机,不包括默认的“透视、顶部、正面、侧面”摄像机?

我只想收集用户创建的相机。

我需要listRelatives出于任何原因吗?我最终只想打印每个相机的世界矩阵。

0 投票
0 回答
49 浏览

python - Pymel insertInput 方法丢失连接

我正在尝试使用 Maya 2015 下 pymel 1.0.6 中 Attribute 类的 inserInput 方法。但它没有按预期工作:

它应该在 nodeA 和 nodeB 之间插入 nodeC。但它会引发错误:

属性“transform2.translateX”无法连接到“multiplyDivide1.outputX”

我究竟做错了什么?

0 投票
1 回答
267 浏览

python - pymel.core.workspace.getcwd() 未按预期返回项目目录

我尝试在 Maya 中制作简单的工具。我使用这个脚本来获取当前的项目目录:

pymel.core.workspace.getcwd()

有时这个脚本进展顺利。但有时结果不合适,像这样:D:\MyProject\Movie\EP01\SQ010\SH001

我的 Maya 文件位于:D:\MyProject\Movie\EP01\SQ010\SH001\scenes

好吧,有时会丢失一个文件夹(这很奇怪)

在谷歌搜索后,我得到这个链接:https ://github.com/LumaPictures/pymel/issues/32

他们说,我应该使用

获取路径()

getcwd()

我试过了,但是这个脚本仍然不起作用,因为结果是:C:\Users\aditya\Documents\maya\projects\default

有什么建议么?或者我错过了什么?顺便说一句,我正在使用maya 2016..

0 投票
1 回答
43 浏览

maya - 选择对象组时 mel2pyStr 失败

我正在尝试在 Maya 2015 中将一堆 MEL 代码转换为 Python,如下所示:

哪里melCmd是多行代码。

但是在转换以下行时失败:

错误状态:是意外的:

我正在尝试一次选择(然后修改)多个边缘。我应该如何在 Python 中做到这一点?为什么 mel2py 会失败?
欢迎任何建议。

这是完整的 MEL 代码:

0 投票
1 回答
276 浏览

python - 如何从 PyNode 列表访问 PyNode?

我在场景中使用 2 个 polyCube 运行了这个示例代码。

这是我的输出

我知道这个列表中的元素是 PyNode,但是打印它们会给出节点的字符串类型名称。无论如何可以直接从此列表中访问 PyNode 吗?