我有一个Spot Lights领域,我正在尝试使用pm.aimConstraint
将目标链接到定位器(称为“Light Point”)。这是我正在努力的部分以及它给我的错误:
import pymel.core as pm
aimTarget = "Light Point"
selection = pm.ls(sl = True)
for each in selection:
pm.aimConstraint(aimTarget, each)
Error: MayaNodeError: file C:\Program Files\Autodesk\Maya2013\Python\lib\site-packages\pymel\internal\pmcmds.py line 140: #
显然选择的是所有聚光灯。
理想情况下,我想这样做而不必选择所有灯光,我认为这样看起来像这样:
pm.aimConstraint("Light Point", "spotLight"+light)
“light”是for循环范围内的灯数,转换为字符串。这会得到同样的错误。
我仍然是python的新手,但之前使用过第一个脚本,我很困惑为什么它不能用于任何事情,甚至不是聚光灯。
答案 0 :(得分:1)
“Light Point”不是有效的对象名称。
在Maya中创建节点时,您需要捕获创建时给定的对象,否则无法保证您认为它是对象。
答案 1 :(得分:0)
我意识到这是一篇较老的帖子,但其他人应该看到它,
PyMEL具有PyNode()
功能。因此,如果您要通过“Light Point”,它将返回场景中的对象。
即
from pymel.core import *
PyNode("myCube")
# Result: nt.Transform(u'myCube') #