Maya开发

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

2021-05-01  本文已影响0人  MasterZhang

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


需要注意有几点:
  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
上一篇 下一篇

猜你喜欢

热点阅读