该陈述来自实用的Maya编程书。作者后来继续在我理解的type()dir()函数中使用xform和shape作为参数。

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


为什么/如何使xform和shape都等于pmc.polysphere?..它们不是多余的,因为在实例化球体时仍然创建了transform和shape节点吗?以后在创建其他形状时会引起复杂性吗?

xform在脚本编辑器中是蓝色的,这意味着什么,如何将其用作变量名?

最佳答案

再扩大一点答案。

您可能希望执行pmc.polySphere()仅会给您其变换,但实际上会返回其变换和形状节点的列表:[nt.Transform(u'pSphere1'), nt.PolySphere(u'polySphere1')]

您可以像这样分配变量:

sphereObj = pmc.polySphere()
xform = sphereObj[0]
shape = sphereObj[1]


但是,一次性将列表解压缩并分配给变量的代码更具可读性和Python风格:

xform, shape = pmc.polySphere()


只要您知道列表的长度,就可以将其设置为单行:

a, b, c, d = [1, 2, 3, 4]


大多数时候,尽管您可能只需要转换,所以您也可以始终这样做:

xform = pmc.polySphere()[0]

10-08 19:24