2017-07-22 4 views
1

私はいつもAttribute Editorに入ることなく、カメラで作業できるようにMayaでスクリプトを作成しています。現在、私はメニューアイテムを持つメニューを持っており、そのメニューアイテム内にはチェックボックスフラグもアクティブになっています。チェック・ボックス・ボタンを押すと、チェック・ボックスの結果を表示するコマンドが実行されます。私がしたいのは、カメラのdof属性をトグルするif statementですが、チェックボックスフラグの結果を読むことでこれを行います。私はif statementsで正しく動作する方法を知っており、正しいカメラを見つけることもできますが、結果を照会する方法はわかりません。スクリプトのいくつかは下にあり、4行目のif statementは私が問題を抱えている場所です。ご協力ありがとうございました!MayaでPythonで結果を参照する

import maya.cmds as cmds 
print(cmds.camera('cameraShape1', q=True, dof=True)) 

カメラ使用のDOFにこのコマンドを無効にするには:

cmds.camera('cameraShape1', e=True, dof=False) 

だからあなたif statementは次のようになります。カメラ使用のDOFにこのコマンドを取得するために

#Window Functions go here 

def dofToggle(self): 
    print(cmds.menuItem("dof", q=1, cb=1)) 

    # query the result 
    if (cmds.menuItem("dof") == 1): 
     cmds.setAttr(camera1.dof=True) 

    # window settings go here 
    if (cmds.window("Camera Tools", exists=True)): 
     cmds.deleteUI("Camera Tools") 

    cmds.window(title="Camera Tools", nestedDockingEnabled=True, rtf=True, sizeable=False, menuBar=True, menuBarResize=True, menuBarVisible=True) 

    cmds.menu(label="dof") 

    cmds.menuItem("dof", label="on/off", checkBox=True, command=dofToggle) 

答えて

1

if(cmds.camera('cameraShape1', q=True, dof=True) == 1): 
    cmds.camera('cameraShape1', e=True, dof=False) 
関連する問題