我如何使用Maya Python API设置网格控制点值

时间:2019-07-16 09:36:09

标签: python-2.7 maya

我想使用maya python api获取网格控制点属性并设置一个新值。但是我没有任何线索。 就像mel命令setAttr'pCubeShape1.pnts [3] .pntx'2; 但我想使用api或更快的方法.. 谢谢!

2 个答案:

答案 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()函数就可以完成非常酷的事情。