我想使用maya python api获取网格控制点属性并设置一个新值。但是我没有任何线索。 就像mel命令setAttr'pCubeShape1.pnts [3] .pntx'2; 但我想使用api或更快的方法.. 谢谢!
答案 0 :(得分:0)
您可以用完全相同的方式来做...。
from maya import cmds
cmds.setAttr('pCubeShape1.pnts[3].pntx', 2.0)
答案 1 :(得分:0)
基本上是一个python网格变形器:选择一个网格形状并运行它。 它在网格顶点迭代器上循环查询和设置顶点位置。
import maya.api.OpenMaya as om2
sel = om2.MGlobal.getActiveSelectionList()
sel_it = om2.MItSelectionList(sel)
mobj = sel_it.getDependNode()
print(om2.MFnDependencyNode(mobj).name())
cntr = 0.0
vit = om2.MItMeshVertex(mobj)
while not vit.isDone():
pos = vit.position()
pos[0] = cntr
vit.setPosition(pos)
vit.next()
cntr+=0.01
我建议研究Maya python插件/变形器示例。您仅需一个单独的compute()/ deform()函数就可以完成非常酷的事情。