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)