问题标签 [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 投票
2 回答
2351 浏览

python - 测试一个对象是否依赖于另一个对象

有没有办法通过父母、约束或与另一个对象的连接来检查一个对象是否依赖?我想在养育一个对象之前做这个检查,看看它是否会导致依赖循环。

我记得 3DsMax 有一个命令可以准确地执行此操作。我检查了OpenMaya但找不到任何东西。有cmds.cycleCheck,但这仅在当前有一个周期时才有效,这对我来说太晚了。

棘手的是这两个对象可能位于场景层次结构中的任何位置,因此它们可能有也可能没有直接的父子关系。


编辑

检查层次结构是否会导致任何问题相对容易:

不过,检查约束或连接是另一回事。

0 投票
1 回答
4382 浏览

python - 如何从 Maya 脚本中更改变形器的权重?

如何从 Maya 脚本中更改变形器的权重?

这个问题非常适合Pymelin Maya 2013,但如果不可能,我仍然有兴趣知道Python,MEL或使用 的答案C++ Maya-API

0 投票
2 回答
138 浏览

c++ - 这是什么 C++ 函数声明

我是 C++ 的新手,我在文档上工作的内容告诉我只看示例代码,它没有解释任何内容,所以我试图破译它。

我遇到了这个函数声明,但我不完全理解。

只是第一个功能

我得到下面部分我没有得到的是在 MHWRender::MPxShaderOverride(obj) 之后,然后它作为参数列表开始(或者我不知道它叫什么)

我猜我会在哪里找到指定的输入。

我再次不知道这是在做什么,所以我有点迷失了如何解释它。

完整的代码可以在这里找到: http ://help.autodesk.com/view/MAYAUL/2016/ENU/?guid=__cpp_ref_hw_phong_shader_2hw_phong_shader_8cpp_example_html

0 投票
1 回答
726 浏览

c# - 将 Maya C# api 与现有脚本集成的正确方法是什么?

我有一组 Python 库(Maya Python API),我想在 C# 中有一些包装器。目前能够通过构造字符串并将它们发送到 python 引擎来调用 python 代码,但更愿意在 C# 中使用智能感知/正确的 python 函数签名。这样的工具存在吗?或者有没有更好的方法将 python 集成到 C# 工作流中?

0 投票
2 回答
2604 浏览

raycasting - getClosestPoint 从鼠标光标位置到光线投射命中的第一个对象(maya mel 脚本)

研究从鼠标光标位置到光线投射命中的第一个对象的世界点。也许 api func getClosestPoint 或 rayIntersect 可以完成这项工作?如果是这样怎么办?(谢谢你)

0 投票
0 回答
459 浏览

python - 来自 Maya 的 python 解释器的 easy_install

我想从 mayas python 解释器中下载并安装 setup_tools、easy_install 和 tinydb。

查看下面代码中的 setup()。

我已经很接近了,但是运行 ez-setup.py 的系统命令似乎没有将 easy_install 包下载到 mayas site_packages 目录,这很奇怪,因为相同的命令在 shell 中完美运行。

因此系统调用如下所示:/Applications/Autodesk/maya2016/Maya.app/Contents/bin/mayapy /Users/paxtongerrish/downloads/ez_setup.py

我将 mayas python 解释器指向 ez_setup.py

当我将此命令打入 shell 时,它会将 setup_tools 下载到 mayas python site_packages 目录...太棒了!:D

但是..我需要从 mayas python 解释器内部发生这一切,并且从 os.system 或 subprocess.call 调用时它不起作用

谢谢!导入 os 导入 sys 导入 urllib2 导入子进程

0 投票
1 回答
375 浏览

c++ - 等效于 MEL setKeyframe 的 Maya C++ API

setKeyframeMaya C++ API 中是否有等效的 MEL命令?它似乎存在于 python ( maya.cmds.setKeyframe) 但我 grepped C++ 包含目录并没有找到任何相关的东西。我也没有在 SDK 文档中找到任何提示。

0 投票
0 回答
420 浏览

c++ - 按名称(或字符串 - 标识符)提取/识别节点类型

你好!

我正在用 C++ 编写一个“简单”的 Maya 命令,我需要从场景中进行选择(如 MEL 中的 ls 命令)。

但我不知道如何根据“gpuCache”之类的字符串名称来识别 MFn::Type 数据。

实际上,我的(非常愚蠢的)解析器会根据两个选项识别 MFn::Type:如果节点名称是“gpuCache”,则使用 MFn::Type::kPluginShape 设置过滤器,否则使用 kDagNode(或 kShape,或任何适合我对尽可能多的节点进行广泛识别的需要,以便以后使用typeName()该类MFnDagNode)。

这是“filterByType”函数,我想用它来将 String 定义的类型转换为 MFn::Type 定义的类型。

有人可以帮助我,还是我需要从 C++ 调用 MEL/Python 命令(我真的不想做的事情)来完成这件事?

谢谢!

0 投票
3 回答
879 浏览

python - 使用 maya python api - 如何将选定的对象名称更改为大写?

我有以下代码:

但是,即使它在最后的 print 语句中打印出大写名称,它也不会更改对象的名称。

0 投票
4 回答
2578 浏览

python - 在任何 3 维表面上生成随机点

我想知道,从数学上讲,您将如何在 3D 表面上的随机位置生成 x 点,知道组成表面的三角形多边形的数量(它们的尺寸、位置、法线等)?您将分几步进行?

我正在尝试在 Maya 中创建一个“分散器”(使用 Python 和 API),但我什至不知道从概念方面开始。我应该先生成点,然后检查它们是否属于表面吗?我应该直接在表面上创建点(以及如何,在这种情况下)?

编辑:我想尽可能不使用 2D 投影或 UV 来实现这一点。