Mayaのレンダーレイヤータブを変更するスクリプトがあります。ユーザーがレンダリングタブの状態や、Mayaの組み込みインターフェースを使って他のものを変更した場合、フローティングUIを動的に更新する方法があるかどうかは疑問でした。例えば、ユーザが組み込みのインタフェースでレンダリングレイヤを変更した場合、スクリプト化されたタブのレンダーレイヤは更新されます。残りのMayaの設定を変更してMayaのpython GUIアップデートを行う方法はありますか?
1
A
答えて
1
これは実行可能ですが、自明ではありません。
scriptJob
を使用して、変更を監視し、それに応じてGUIを更新します。
一部の変更は直接公開されます。たとえば、playbackRangeChanged
イベントに反応するscriptJobを使用して再生範囲を変更するユーザーに反応できます。上記のリンクされているドキュメントページには、リッスンできる変更イベントのリストが含まれています。
属性の変更を監視している場合は、特定の属性が変更されたとき(UIなどで)attributeChange
scriptJob型を使用してスクリプトを実行できます。変更の
import maya.cmds as cmds
def test():
print "focal length:", cmds.getAttr('perspShape.focalLength')
cmds.scriptJob(ac = ("perspShape.focalLength", test))
他の種類(それらの大部分)予め定義されたイベントとしては使用できません:パースビューカメラの焦点距離の変更はいつでも、例えば、これは、メッセージを印刷します。 condition
commandを使用して独自のイベントを作成することもできますが、変更を検出するコードを記述する必要があります。多くの人が、Mayaがアイドル状態のときに実行され、変更を探すscriptjobを使用して物事を簡素化します。これはうまくいきますが、複雑なスクリプトではMayaの処理速度が低下する可能性があるため、注意深く記述する必要があります。ユーザーがUIとやり取りしていないときはいつでも実行されます。
関連する問題
- 1. レンダリングレイヤーをMaya Pythonで設定する
- 2. 親パスPython Maya
- 3. Maya 2016タンブルツール軸の変更
- 4. GUIウィンドウを閉じるPython MAYA
- 5. Maya Python skinCluster戻り値の型は文字列ではありませんか?
- 6. Maya-Python manipMoveContext
- 7. Resizeable windowコマンドpython-maya
- 8. Maya Pythonのノード名の変更について
- 9. maya pythonのリストのsetAttr
- 10. オブジェクト内の各シェルにクラスタを割り当てる - Maya Python
- 11. Maya - Maya MELで文字のすべての節点を選択
- 12. 幾何学的オブジェクトをプログラムでmayaの値として表現する方法はありますか?
- 13. Maya Python。 parentConstraint by distance
- 14. Maya Pythonコールモダルクラス関数
- 15. Maya Python:サウンドファイルをオフセットする
- 16. Maya Python:リストを整数に変換する方法
- 17. ウェブアプリケーションのMayaアニメーション
- 18. カメラをMayaのVrayレンダーに設定します
- 19. Maya Pythonは属性を更新します
- 20. Maya Python API 2.0を使用してClutserデフォーマのウェイトを設定する方法は?
- 21. Pythonを使用したMayaの「レンダーカレントフレーム」
- 22. Error:RuntimeError:オブジェクトの名前 'Done'が一意ではありません。 Maya Pythonで
- 23. mayaのベースモードのショートカット
- 24. Maya API:UI時間作業ユニットの変更方法
- 25. サブプロセスコール中にMaya GUIがフリーズする
- 26. Python/MELを使用してプリセットディレクトリをMayaにロードしますか?
- 27. Maya Pythonがリファレンスパスを取得
- 28. Maya Python:グラデーションアトリビュートエディタのポイントを編集する
- 29. Mayaのpythonスクリプトからテクスチャファイル名を取得しますか?
- 30. floatSliderGrpの値をPythonに格納する方法Maya