2017-05-10 7 views
0

私はPythonで新しく、Mayaライトシェイプにアトリビュートを追加しようとしています。スクリプトは、そのように動作しますする必要があります。各light.shapeのために私は「mtoa_constant_lightGroup」属性を追加選択した:pythonを使ってライトにアトリビュートを追加する方法

import maya.cmds as pm 

lightSelect= pm.ls (sl=True, dag=True, leaf=True) 

for elem in lightSelect: 
    pm.addAttr (elem, ln='mtoa_constant_lightGroup', at=long, dv=0) 
    pm.setAttr (e=True, keyable=True, elem +'.mtoa_constant_lightGroup') 

をしかし、私はこのエラーを持っているスクリプトを実行すると:

Error: line 1: non-keyword arg after keyword arg 

をどんな提案もお願いします。

+0

助けのため

import maya.cmds as pm lightSelect= pm.ls (sl=True, dag=True, leaf=True) for elem in lightSelect: pm.addAttr (elem, ln='mtoa_constant_lightGroup', at="long", dv=0) pm.setAttr(elem +'.mtoa_constant_lightGroup', e=True, keyable=True) 

感謝。 'dv-0'ではなく' dv = 0'が必要です。 – timgeb

+0

はいそれは書いた間違いでした。とにかくd = 0でも同じエラーがあります –

+2

2番目のエラーは、最後の行のキーワード引数の後ろに位置引数を使用できないことです。私はエラーメッセージを再表示していることを知っていますが、あなたがそれについて理解していないものはわかりません。 – timgeb

答えて

1

コードの次の行には、キーワード引数の後ろに位置指定の引数がありますが、これは意味をなさないものです。

pm.setAttr (e=True, keyable=True, elem +'.mtoa_constant_lightGroup') 
# ---- here ----------------------^ 
0

修正してください! マーティンは、キーワードの最後を に移動しなければならないと言ったので、 "#Error:1行目:RuntimeError:ファイル行6:新しい属性に指定されたタイプは不明です。 at=longを文字列として設定する必要がありました。

`pm.addAttr (elem, ln='mtoa_constant_lightGroup', at="long", dv=0)` 

最終スクリプトはこれです:すべてのそれはタイプミスです

関連する問題