使用aimConstraint时出现错误 Maya Python Pymel

0 投票
2 回答
612 浏览
提问于 2025-04-17 18:35

我有一片聚光灯,想用 pm.aimConstraint 把它们的目标链接到一个叫“光点”的定位器上。这里是我遇到问题的部分,以及它给我的错误信息:

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”是一个循环中灯光的数量,转换成字符串。这也出现了同样的错误。

我对python还是很陌生,但之前用过第一个脚本,现在很困惑为什么它在任何情况下都不工作,甚至连聚光灯也不行。

2 个回答

0

我知道这是一篇较旧的帖子,但如果其他人看到的话,想告诉大家,PyMEL有一个叫做 PyNode() 的函数。也就是说,如果你把“Light Point”传给这个函数,它会返回场景中的那个对象。

也就是说:

from pymel.core import *

PyNode("myCube")
# Result: nt.Transform(u'myCube') # 
1

“Light Point” 不是一个有效的对象名称。

在Maya中创建节点时,你需要保存你创建时给定的对象,否则就不能保证它是你想象中的那个对象。

撰写回答