这句话来自《实用玛雅编程》一书。作者后来继续使用 xform 和 shape 作为我理解的参数type()
和函数。dir()
>>> xform, shape = pmc.polySphere()
为什么/如何xform 和 shape都等于 pmc.polysphere?...它们不是多余的吗?因为在实例化球体时无论如何都会创建变换和形状节点?这会在以后创建其他形状时引起并发症吗?
xform 在脚本编辑器中是蓝色的,这是什么意思以及如何将它用作变量的名称?
再扩大一点答案。
你会期望执行pmc.polySphere()
只会给你它的变换,但它实际上返回它的变换和形状节点的列表:[nt.Transform(u'pSphere1'), nt.PolySphere(u'polySphere1')]
您可以像这样分配变量:
sphereObj = pmc.polySphere()
xform = sphereObj[0]
shape = sphereObj[1]
但是,一次解压并将列表分配给您的变量更具可读性和 Pythonic:
xform, shape = pmc.polySphere()
只要您知道列表的长度,就可以将其设为单行:
a, b, c, d = [1, 2, 3, 4]
大多数时候你可能只需要转换,所以你也可以这样做:
xform = pmc.polySphere()[0]
pmc.polySphere()
返回一个包含两个元素的序列。第一个分配给xform
,第二个分配给shape
。
>>> a, b = [1, 2]
>>> a
1
>>> b
2