问题标签 [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.
python - 测试一个对象是否依赖于另一个对象
有没有办法通过父母、约束或与另一个对象的连接来检查一个对象是否依赖?我想在养育一个对象之前做这个检查,看看它是否会导致依赖循环。
我记得 3DsMax 有一个命令可以准确地执行此操作。我检查了OpenMaya
但找不到任何东西。有cmds.cycleCheck
,但这仅在当前有一个周期时才有效,这对我来说太晚了。
棘手的是这两个对象可能位于场景层次结构中的任何位置,因此它们可能有也可能没有直接的父子关系。
编辑
检查层次结构是否会导致任何问题相对容易:
不过,检查约束或连接是另一回事。
python - 如何从 Maya 脚本中更改变形器的权重?
如何从 Maya 脚本中更改变形器的权重?
这个问题非常适合Pymel
in Maya 2013
,但如果不可能,我仍然有兴趣知道Python
,MEL
或使用 的答案C++ Maya-API
。
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
c# - 将 Maya C# api 与现有脚本集成的正确方法是什么?
我有一组 Python 库(Maya Python API),我想在 C# 中有一些包装器。目前能够通过构造字符串并将它们发送到 python 引擎来调用 python 代码,但更愿意在 C# 中使用智能感知/正确的 python 函数签名。这样的工具存在吗?或者有没有更好的方法将 python 集成到 C# 工作流中?
raycasting - getClosestPoint 从鼠标光标位置到光线投射命中的第一个对象(maya mel 脚本)
研究从鼠标光标位置到光线投射命中的第一个对象的世界点。也许 api func getClosestPoint 或 rayIntersect 可以完成这项工作?如果是这样怎么办?(谢谢你)
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 导入子进程
c++ - 等效于 MEL setKeyframe 的 Maya C++ API
setKeyframe
Maya C++ API 中是否有等效的 MEL命令?它似乎存在于 python ( maya.cmds.setKeyframe
) 但我 grepped C++ 包含目录并没有找到任何相关的东西。我也没有在 SDK 文档中找到任何提示。
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 命令(我真的不想做的事情)来完成这件事?
谢谢!
python - 使用 maya python api - 如何将选定的对象名称更改为大写?
我有以下代码:
但是,即使它在最后的 print 语句中打印出大写名称,它也不会更改对象的名称。
python - 在任何 3 维表面上生成随机点
我想知道,从数学上讲,您将如何在 3D 表面上的随机位置生成 x 点,知道组成表面的三角形多边形的数量(它们的尺寸、位置、法线等)?您将分几步进行?
我正在尝试在 Maya 中创建一个“分散器”(使用 Python 和 API),但我什至不知道从概念方面开始。我应该先生成点,然后检查它们是否属于表面吗?我应该直接在表面上创建点(以及如何,在这种情况下)?
编辑:我想尽可能不使用 2D 投影或 UV 来实现这一点。