【发布时间】:2019-08-02 12:00:42
【问题描述】:
我想使用 maya python api 来获取网格控制点属性并设置一个新值。但我不知道。 像 mel 命令 setAttr 'pCubeShape1.pnts[3].pntx' 2; 但我想使用 api 或一些更快的方式.. 谢谢!
【问题讨论】:
标签: python-2.7 maya
我想使用 maya python api 来获取网格控制点属性并设置一个新值。但我不知道。 像 mel 命令 setAttr 'pCubeShape1.pnts[3].pntx' 2; 但我想使用 api 或一些更快的方式.. 谢谢!
【问题讨论】:
标签: python-2.7 maya
你可以用完全相同的方式来做......
from maya import cmds
cmds.setAttr('pCubeShape1.pnts[3].pntx', 2.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 插件/变形器示例。只需 1 个 compute()/deform() 函数,您就可以完成非常酷的事情。
【讨论】: