美文网首页Maya开发
maya选择组里的所有几何体(python)

maya选择组里的所有几何体(python)

作者: MasterZhang | 来源:发表于2021-05-01 22:00 被阅读0次

    假如这么一个组层级,要选择里面的几何体。


    需要注意有几点:
    1. 使用dag标签,可以选择子层级物体
    2. 在maya里一个组其实就是一个transform类型的节点
    3. maya大纲视图显示的都是物体名称其实都是的transform节点类型
    4. 而通过type标签过滤mesh获取到的是物体的shape节点
    5. 需要使用listRelatives命令来获取shape所在的transform名称,也就是大纲视图中的物体名称。
    1.dag标签

    通过dag标签获取所有子物体,通过l标签开启节点全路径名称,通过type来过滤mesh物体。

    sn = cmds.ls(sl=1,dag=1,l=1,type=['mesh']) 
    print(sn)  
    #[u'|group2|group1|pCube1|pCubeShape1', u'|group2|pSphere1|pSphereShape1']
    
    2.选择所有子物体(transform)
    objs = cmds.listRelatives(sn , p= True)
    print(objs)
    #[u'pCube1', u'pSphere1']
    
    综合起来获取组下的物体
    sn = cmds.ls(sl=1,dag=1,l=1,type=['mesh']) 
    objs = cmds.listRelatives(sn , p= True)
    objs = list(set(objs))   #当一个物体有多个shape时,去掉重复的transform
    

    相关文章

      网友评论

        本文标题:maya选择组里的所有几何体(python)

        本文链接:https://www.haomeiwen.com/subject/aijzrltx.html