问题标签 [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.
c++ - 断开/连接插头会导致 compute() 出现内部故障
在 MPxNodecompute()
方法期间断开/连接插头的正确方法是什么?
我有一个修改过的插件,它的插件已经连接到其他一些对象转换节点,当我想在该compute()
方法期间更新其插件连接时,它总是给我内部故障错误。MDGModifier 连接和断开都失败。为什么我不断收到此错误?
如果这是不可能的,有没有办法在启动之前更新连接compute()
?我已经尝试过这样做,setDepenedentsDirty()
但在该方法中,脏插头仍然保持旧值。脏塞在 setDependentsDirty() 期间仍然具有旧值
有什么想法吗?
python - 在maya python插件中创建临时曲线
我想沿着由位置列表定义的 nurbs 曲线获取特定参数的世界位置。目前我正在插件中创建一个临时曲线,只是为了沿着这条曲线获得一系列位置:
有没有更好的方法来做到这一点(即没有创建曲线的开销)?也许一些数学库?如果不是,我该如何删除这条曲线,这样我就不会在每次评估插件时都创建曲线(MDGModifier 似乎有点崩溃)
此外,有没有办法找到给定参数值沿曲线的长度。Maya 2016 Extension 2 有一个功能:MFnNurbsCurve::findLengthFromParam()
但是,我们还没有这个扩展。:(
提前致谢!
maya-api - 在 compute() 中获取斜坡属性
我基本上是在制作一个渐变着色器,并试图找到从compute()
节点函数中的渐变属性获取值的正确方法。
我知道它可以做到
但是这样做安全compute
吗?Maya 文档在一些地方提到,在 中compute
,我们应该只使用 中的属性MDataBlock
来获取输入数据,但我找不到从MDataBlock
. 我也找不到任何官方代码示例MRampAttribute
。compute()
c++ - Maya C++ 插件 MPxImagePlane
我正在 Maya 的 c++ api 中创建一个 MPxImagePlane 插件。它在旧视口中效果很好,但我没有找到任何将其扩展到视口 2.0 的参考。
如何扩展我当前的 MPxImagePlane 以在视口 2.0 中绘制?我认为它类似于使用 MPxDrawOverride,但我宁愿不完全重新实现图像平面节点。
python-2.7 - Maya - 中心对象枢轴到定位器/集群
我正在尝试将选定的对象枢轴移动到选定顶点的中心。
我已经到了xform
定义的地步,但似乎无法将对象(定义为obj
)枢轴移动到这一点
这就是我所拥有的,任何可以发现我所缺少的东西的额外眼睛将不胜感激。
maya-api - Maya C++ 创建自定义材质
如何在 Maya C++ 中创建自定义着色器/材质?
显然,我还需要将着色器代码附加到此材质上。
我知道如何使用刚刚创建的 API 访问材料似乎很困难。
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?
c++ - 将 NURBS 曲线绑定到 Maya 插件并更新 CV
我想通过 MEL 脚本在 Maya 中创建 NURBS 曲线,将其绑定到我的插件并简单地更新插件(和视口)中的 CV。问题是我认为不可能读取和写入相同的形状。这是 MEL 代码:
插件中输入属性的位置和input_curve
位置。output_curve
尝试创建时失败,MFnNurbsCurve
因为curve_obj
为空。如果我写入另一个形状作为输出,它工作得很好。
有任何想法吗?
c++ - 将几何着色器片段添加到 MShaderInstance
Maya ( ) 中的渲染项目MRenderItem
由着色器 ( MShaderInstance
) 绘制,其中包含在绘制之前编译为一个大着色器的片段(gpu 着色器片段)。MShaderInstance
允许您添加自己的片段,首先通过 xml 声明它们。我的问题是,如何将几何着色器插入MShaderInstance
?我知道它们是受支持的,因为 xml 模式有一个 element geometryShader
,但是没有关于如何实际定义自己的示例。例如,我有这个简单的几何着色器,只是为了测试,它实际上甚至不会生成任何东西:
的相关方法MShaderInstance
是addOutputFragment
和addInputFragment
。在我的情况下,它们都不起作用(都返回失败代码)。
我在 sdk 中也找不到这种特殊情况(geom 着色器)的任何示例。任何帮助表示赞赏。