我基本上是在创建一个渐变着色器,并尝试找到一个正确的方法来从节点的compute()
函数中的ramp属性中获取值。
我知道可以用
完成 MObject oThis = thisMObject();
MRampAttribute rampAttribute(oThis, aRamp); // aRamp is our ramp MObject.
但在compute
中执行此操作是否安全?
Maya文档在一些地方提到,在compute
中,我们应该只使用MDataBlock
中的属性来获取输入数据,但我找不到从{获取ramp属性的方法{1}}。我在MDataBlock
中使用MRampAttribute
找不到任何官方代码示例。
答案 0 :(得分:1)
这样做很好。我认为您无法从数据块访问MRampAttribute。我有一些插件节点完全按照你的写法使用它,我没有注意到任何问题。
这不是唯一需要使用MObject来插入compute()的场合。