我要做的是将属性从对象A批连接到对象B。只是转换属性,所以,我这样做了:
import maya.cmds as mc
sel = mc.ls(sl=True)
mc.connectAttr(sel[0]+'.t', sel[1]+'.t')
mc.connectAttr(sel[0]+'.r', sel[1]+'.r')
mc.connectAttr(sel[0]+'.s', sel[1]+'.s')
然后我想如果我创建一个包含(translate
,rotate
和scale
)的列表,然后迭代该列表,而不是指定".t"
,".r"
和{
所以我这样做了:
^{pr2}$…控制台说
# Error: AttributeError: file <maya console> line 7: 'unicode' object has no attribute 'attr' #
我做了一些搜索,但没有帮助我理解。有人能解释一下为什么会发生这种情况,以及我如何才能达到预期的效果?在
最后一行必须是:
您使用
.
就好像它是Python中的字符串连接错误一样,而+
则是。在相反,
.
是属性运算符,它解释了错误¹。当Python试图解释sel[0].attr
时,它首先注意到sel[0]
是一个unicode
对象,然后尝试从该对象获取属性attr
。此属性与循环中的attr
无关,尤其不存在。因此您得到了错误消息。在¹Python中的每个对象都有一些属性,您可以使用该语法访问这些属性,这些属性取决于类型对象。要熟悉这个尝试:
^{pr2}$相关问题 更多 >
编程相关推荐