【问题标题】:how can i set a mesh control point value use maya python api如何使用 maya python api 设置网格控制点值
【发布时间】:2019-08-02 12:00:42
【问题描述】:

我想使用 maya python api 来获取网格控制点属性并设置一个新值。但我不知道。 像 mel 命令 setAttr 'pCubeShape1.pnts[3].pntx' 2; 但我想使用 api 或一些更快的方式.. 谢谢!

【问题讨论】:

标签: python-2.7 maya


【解决方案1】:

你可以用完全相同的方式来做......

from maya import cmds
cmds.setAttr('pCubeShape1.pnts[3].pntx', 2.0)

【讨论】:

    【解决方案2】:

    这基本上是一个 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() 函数,您就可以完成非常酷的事情。

    【讨论】:

      猜你喜欢
      • 2022-10-08
      • 1970-01-01
      • 1970-01-01
      • 2017-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多