'# 错误:第 1 行:名称
错误:文件 第 38 行:未定义名称"Person1"# '
虽然如果我看我的大纲,Person1 存在。我做错了什么?它应该很简单..
#create one person
import maya.cmds as cmds
import random
personGroup = cmds.group( empty=True, name='Person1' )
Body = cmds.polyCube(n = 'Body', w =0.8, h=1.1, d=0.3)
cmds.move(0,0.5,0)
cmds.parent( Body, personGroup )
Arm1 = cmds.polyCube(n= 'Arm1', w=0.2 ,h=0.2, d=0.9)
cmds.move(0.5, 0.75, 0.35)
cmds.xform(os=True, rp=[0,0,-0.3])
cmds.parent( Arm1, personGroup )
Arm2 = cmds.duplicate(n = 'Arm2')
cmds.move(-0.5, 0.75, 0.35)
cmds.xform(os=True, rp=[0,0,-0.3])
#cmds.parent( Arm2, personGroup )
Head = cmds.polySphere(n= 'Head', r = 0.28)
cmds.move(0, 1.3, 0)
cmds.parent( Head, personGroup )
#create multiple instances in a row
for i in range (1,40):
cmds.duplicate(personGroup)
cmds.select('Person%d' %(i+1))
cmds.move(1.5*i,0,0, relative=True)
if (i >= 10) and (i <= 20):
cmds.select('Person%d' %(i+1))
cmds.move(1.5*i,1.5,-1.5, relative=True)
pHeight = Person1.translateY
您需要使用 getAttr
函数来获取组的属性。
pHeight = cmds.getAttr('Person%d.translateY' %(i+1))
或
pHeight = cmds.getAttr('Person1.translateY')
或者,如果您使用的是 PyMel,那么:
import pymel.core as pc
person = pc.PyNode('Person%d' %(i+1))
pHeight = person.translateY.get()
# Or
person = pc.PyNode('Person1')
pHeight = person.translateY.get()
Person1 可能存在于项目中的其他位置,但它不存在于该文件中。如果它是在其他文件中定义的类,则需要导入它。