我对api非常陌生,最近我学习了如何创建一个节点,然后我想创建3个属性,这些属性应该是一个属性的父属性,就像我们在maya中通过“添加属性”创建向量属性,然后我们得到3个属性(x,y,x),它们将成为一个属性的父属性。那么,我该如何创造它们呢?我正在使用此代码,但我无法得到预期的结果。在
nAttr = OpenMaya.MFnNumericAttribute()
cAttr = OpenMaya.MFnCompoundAttribute()
node.old = cAttr.create('oldValue', 'old')
node.oldX =nAttr.create('oldValueX', 'oldX', OpenMaya.MFnNumericData.kFloat)
node.oldY =nAttr.create('oldValueY', 'oldY', OpenMaya.MFnNumericData.kFloat)
node.oldZ =nAttr.create('oldValueZ', 'oldZ', OpenMaya.MFnNumericData.kFloat)
cAttr.setArray(True)
cAttr.addChild(node.oldX)
cAttr.addChild(node.oldY)
cAttr.addChild(node.oldZ)
cAttr.setKeyable(True)
node.addAttribute(node.old)
谢谢你。。。在
你走对了,只是有点不稳。创建一个复合属性,然后创建子属性,将所有这些添加到节点类,然后将子属性添加到复合中。在
您是否记得使用
attributeAffects()
来设置属性之间的依赖关系?另外,对于表示空间位置的向量属性,您可能希望使用MFnUnitAttribute.kDistance
而不是kFloat
值。在除此之外,你所说的“得不到你所期望的”到底是什么意思在
相关问题 更多 >
编程相关推荐