ls
会获取场景中该类型的所有元素名称。
listRelatives
函数用于列出
DAG
(
DirectedAcyclicGraph
)物体的父子级,常用来获取物体的
shape
形节点名称,之后调用形节点内的属性。
【上篇例子的改进】
maya
中,选择一个物体,默认是选择了这个物体的变形节点,也就是设置运动动画的
transform
节点。按键盘的向下键,可以拾取物体的形节点(
shape
)
:上一个例子中,通过
pickWalk
这个函数,获取并操作了物体的下游形节点。
不过如果选择了元素模式,例如点、线,
pickWalk
的命令会产生特殊的选择操作。因此,我
将使用其他函数来获取所选物体的形节点。
修改上一篇文章中的代码,将
pickWalk
函数替
换为
listRelatives
。因为
ls
是列出所选物体或元素的函数,它只能是在先执行了
pickWalk
函
数才能获得物体的形节点;而使用
listRelatives
,直接就完成了物体形节点的选择。
py.pickWalk(d='down')
mySel=py.ls(sl=True)
实际可以简化为:
mySel=py.listRelatives()
通过
listRelatives
函数获取物体的形节点,
对应的参数是
shape
,
不过在不输入参数的情况下,
默认是开启的,也就是说
listRelatives()
等同于
listRelatives(shapr=True)
。
maya
中很多函数的
内置布尔参数默认都是开启的。
优化后的脚本: