这个PyMEL语句有什么作用?

时间:2015-11-25 11:09:46

标签: python maya pymel

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

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

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

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

2 个答案:

答案 0 :(得分:1)

avconv version 9.18-6:9.18-0ubuntu0.14.04.1, Copyright (c) 2000-2014 the Libav developers built on Mar 16 2015 13:19:10 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1) DEA.L. aac AAC (Advanced Audio Coding) (encoders: aac libvo_aacenc ) D.A.L. aac_latm AAC LATM (Advanced Audio Coding LATM syntax) 返回包含两个元素的序列。 The first is assigned to xform, and the second to shape.

pmc.polySphere()

答案 1 :(得分: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]