1

这句话来自《实用玛雅编程》一书。作者后来继续使用 xform 和 shape 作为我理解的参数type()和函数。dir()

>>> xform, shape = pmc.polySphere()

为什么/如何xform 和 shape等于 pmc.polysphere?...它们不是多余的吗?因为在实例化球体时无论如何都会创建变换和形状节点?这会在以后创建其他形状时引起并发症吗?

xform 在脚本编辑器中是蓝色的,这是什么意思以及如何将它用作变量的名称?

4

2 回答 2

1

再扩大一点答案。

你会期望执行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]
于 2015-11-26T02:19:38.177 回答
1

pmc.polySphere()返回一个包含两个元素的序列。第一个分配给xform,第二个分配给shape

>>> a, b = [1, 2]
>>> a
1
>>> b
2
于 2015-11-25T11:18:32.457 回答