0

スポット ライトのフィールドがあり、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" は for ループの範囲内のライトの数で、文字列に変換されます。これは同じエラーになります。

私はまだ python に非常に慣れていませんが、以前に最初のスクリプトを使用したことがあり、スポットライトだけでなく、なぜそれが機能しないのか非常に混乱しています。

4

2 に答える 2

1

「ライト ポイント」は有効なオブジェクト名ではありません。

Maya でノードを作成するときは、作成時に指定したオブジェクトをキャプチャする必要があります。そうしないと、それがあなたが思っているオブジェクトであるという保証はありません。

于 2013-03-10T15:47:11.840 に答える