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

c++ - 断开/连接插头会导致 compute() 出现内部故障

在 MPxNodecompute()方法期间断开/连接插头的正确方法是什么?

我有一个修改过的插件,它的插件已经连接到其他一些对象转换节点,当我想在该compute()方法期间更新其插件连接时,它总是给我内部故障错误。MDGModifier 连接和断开都失败。为什么我不断收到此错误?

如果这是不可能的,有没有办法在启动之前更新连接compute()?我已经尝试过这样做,setDepenedentsDirty()但在该方法中,脏插头仍然保持旧值。脏塞在 setDependentsDirty() 期间仍然具有旧值

有什么想法吗?

0 投票
1 回答
864 浏览

python - 在maya python插件中创建临时曲线

我想沿着由位置列表定义的 nurbs 曲线获取特定参数的世界位置。目前我正在插件中创建一个临时曲线,只是为了沿着这条曲线获得一系列位置:

有没有更好的方法来做到这一点(即没有创建曲线的开销)?也许一些数学库?如果不是,我该如何删除这条曲线,这样我就不会在每次评估插件时都创建曲线(MDGModifier 似乎有点崩溃)

此外,有没有办法找到给定参数值沿曲线的长度。Maya 2016 Extension 2 有一个功能:MFnNurbsCurve::findLengthFromParam()

但是,我们还没有这个扩展。:(

提前致谢!

0 投票
1 回答
302 浏览

maya-api - 在 compute() 中获取斜坡属性

我基本上是在制作一个渐变着色器,并试图找到从compute()节点函数中的渐变属性获取值的正确方法。

我知道它可以做到

但是这样做安全compute吗?Maya 文档在一些地方提到,在 中compute,我们应该只使用 中的属性MDataBlock来获取输入数据,但我找不到从MDataBlock. 我也找不到任何官方代码示例MRampAttributecompute()

0 投票
2 回答
357 浏览

c++ - Maya C++ 插件 MPxImagePlane

我正在 Maya 的 c++ api 中创建一个 MPxImagePlane 插件。它在旧视口中效果很好,但我没有找到任何将其扩展到视口 2.0 的参考。

示例: http ://help.autodesk.com/view/MAYAUL/2016/ENU/?guid=__cpp_ref_custom_image_plane_2custom_image_plane_8cpp_example_html

如何扩展我当前的 MPxImagePlane 以在视口 2.0 中绘制?我认为它类似于使用 MPxDrawOverride,但我宁愿不完全重新实现图像平面节点。

0 投票
1 回答
971 浏览

python-2.7 - Maya - 中心对象枢轴到定位器/集群

我正在尝试将选定的对象枢轴移动到选定顶点的中心。

我已经到了xform定义的地步,但似乎无法将对象(定义为obj)枢轴移动到这一点

这就是我所拥有的,任何可以发现我所缺少的东西的额外眼睛将不胜感激。

0 投票
1 回答
787 浏览

maya-api - Maya C++ 创建自定义材质

如何在 Maya C++ 中创建自定义着色器/材质?

显然,我还需要将着色器代码附加到此材质上。

我知道如何使用刚刚创建的 API 访问材料似乎很困难。

0 投票
2 回答
1003 浏览

maya - How to get the arclen between two curve points in Maya?

In Maya 2015, I can get the arclen of a curve using this command:

But now I want to get the arclen of two points in my curve. Is there anyway to get this?

0 投票
0 回答
243 浏览

c++ - 将 NURBS 曲线绑定到 Maya 插件并更新 CV

我想通过 MEL 脚本在 Maya 中创建 NURBS 曲线,将其绑定到我的插件并简单地更新插件(和视口)中的 CV。问题是我认为不可能读取和写入相同的形状。这是 MEL 代码:

插件中输入属性的位置和input_curve位置。output_curve尝试创建时失败,MFnNurbsCurve因为curve_obj为空。如果我写入另一个形状作为输出,它工作得很好。

有任何想法吗?

0 投票
1 回答
1058 浏览

python - 如何使用 Maya Python API 2.0 在网格中添加边缘

我使用 maya.api.OpenMaya.MFnMesh.subdivideEdges() 函数。边被顶点分割,但相应的新边不会出现。如何在分割边缘上添加边缘?或者如何创建从一个顶点到另一个顶点的边。使用 Maya Python API 2.0?

在此处输入图像描述 #这是我的 Maya Python API 2.0 代码

0 投票
0 回答
129 浏览

c++ - 将几何着色器片段添加到 MShaderInstance

Maya ( ) 中的渲染项目MRenderItem由着色器 ( MShaderInstance) 绘制,其中包含在绘制之前编译为一个大着色器的片段(gpu 着色器片段)。MShaderInstance允许您添加自己的片段,首先通过 xml 声明它们。我的问题是,如何将几何着色器插入MShaderInstance?我知道它们是受支持的,因为 xml 模式有一个 element geometryShader,但是没有关于如何实际定义自己的示例。例如,我有这个简单的几何着色器,只是为了测试,它实际上甚至不会生成任何东西:

的相关方法MShaderInstanceaddOutputFragmentaddInputFragment。在我的情况下,它们都不起作用(都返回失败代码)。

我在 sdk 中也找不到这种特殊情况(geom 着色器)的任何示例。任何帮助表示赞赏。