uiConfigurationScriptNode を作らせなくするためには、Preferences の UI Elements から、Panel Configurations の項目を編集しなければいけません。※参照
このノードを作成させなくするために、スクリプトで対処しようとしてグローバル変数なんかをいじったりもしていましたが、もっと簡単に回避する方法があったようです。
mayaのコマンドヘルプにある fileコマンドで、こんなフラグを見つけました。
-uiConfiguration(-uc)
boolean
uiConfiguration スクリプト ノードにシーンと一緒に UI 設定を保存します(たとえば、panes)。現在の既定はオンで、initialStartup.mel に設定されます。
さっそくテスト。
まず、設定が初期状態であることを確認します。
この赤枠の部分にチェックが入いっていれば初期状態です。
[Save]で設定を確定したら、polyCube を作成し、シーンを保存します。
保存したファイルのプロパティを見るとバイナリ形式でも 50KB になっています。
テキストエディタとかで開くと、バイナリファイルなのに、こんな感じのレイアウトコマンドが見つかります。
Panel Configuration のチェックをオフにすれば、この部分が無くなるのですが、仕様書に書いてあったとしてもオフにされていることが、まずありません。
で、同じシーンで fileコマンドを実行します。
そして、ファイル保存。
同じシーンなのに 8KBまで小さくなりました。٩(ˊᗜˋ*)و
逆に40KBもレイアウトコマンドが記述されているなんて、そりゃマルウェア仕込まれますわ。
この fileフラグは、mayaを終了するまで有効のようです。次回起動時には元に戻ってしまうため、起動スクリプトに組み込むか、userSetupに記述しておくと捗りますかね。
ほかに、-preSaveScript(-prs), -postSaveScript(-pos)
と、魅力的なフラグを見つけたので、セーブする前になにかスクリプトを実行させられるのかと思ったら、-save
フラグと一緒に使用しないといけないらしく、結局は [Ctrl]+[s] や
[Ctrl]+[Shift]+[s] のプロシージャを上書きしないとダメっぽい。
プロシージャを上書きするくらいなら、直接スクリプトを埋め込むよなぁと思ってしまうけど、使い方が違うのか・・・?
0 件のコメント:
コメントを投稿