2019年7月29日月曜日

自作ツールでGUIの状態をプリファレンスへ保存する※応用

前回は、[Close]ボタンで optionVar を実行するプロシージャを実行すようにしていましたが、ウィンドウを閉じる [X] ではプリファレンスに保存できていない状態となっていました。これをなんとかして回避したい!

今回はサンプルとして、こんなウィンドウを作ります。

プロシージャに飛ばすための[Close]ボタンを無くしました。
さらに checkBox では分かりにくいので intSlider で値の変化がしっかり保存されているかを確認し易くします。

2019年7月22日月曜日

自作ツールでGUIの状態をプリファレンスへ保存する※基本

自作のツールを作ると、checkBoxや~Fieldの値を次回起動時に復帰させたくなることがあります。
例として、こんなウィンドウを作ってみます。


この Flag の checkBox のオン・オフ状態を記憶させます。
そこで必要なコマンドが optionVar です。
このコマンドが mayaのプリファレンスファイルへ記録や読み出しを実行します。

2019年7月8日月曜日

uiTemplateを使ってみる

uiResを使用していると、ラベル用文字列を取得するためだけに結構な長さの文字数を使用することになります。
ラベルを設定できるコントローラ、特にスライダー系などでは大量のフラグが有るものばかりなので、同じコントローラを複数配置した場合、レイアウトの微調整をするときのカーソル移動とかが、かなり面倒になってしまいます。
例えば、こんなウィンドウの場合

2019年7月1日月曜日

パスの通っていない.res.melを読み込む

テストでスクリプトを組む時や、必要なスクリプトをフォルダーにまとめて配布する場合では MAYA_SCRIPT_PATH にスクリプトパスが登録されていない事があります。
そんな状況では .res.melが読み込まれていないことになってしまうので、メインのMELを source しても uiRes コマンドの部分でエラー停止してしまいます。
.res.melも source するようにすれば良いのですが、カタギさんには酷なはなしでしょう。
そんなシチュエーションを回避するためにも、メインスクリプト内に.res.melを読み込むコードを入れておくと良いかもしれません。

この記事のスクリプトのパスを調べるスクリプトを参考に、サンプルコードを書いてみます。