2019年8月5日月曜日

mayaの起動後にスクリプトを自動で実行させる

mayaの起動時にMELコマンドを実行する方法が幾つかあります。
コマンドラインから maya.exe の起動オプションに -script [file] や -command [MEL command] を付加して起動させる方法。
そして、scriptsフォルダ内に userSetup.mel というファイルを作成するという方法です。



使いどころとしては、
-script [file] は、複数人でmayaの使用環境を揃えるときに、起動バッチとスタートアップスクリプトを作成してバージョン管理システムで共有するみたいにする場合。

-command [MEL command] は、mayabatch.exe でインターフェイス無しで中間ファイルへのコンバートをするときとか。

userSetup.mel は個人で使用するスクリプトを記述しておき、バージョン管理システムでは共有させない。


で、userSetup.mel は、mayaが自動で実行するわけなのですが、件のscriptsフォルダはマイドキュメントフォルダ内に2カ所(Documents\maya\scripts と Documents\maya\maya version\scripts と Documents\maya\maya version\ja_JP\scripts)、さらに起動バッチを作っていた場合には、それで設定したパスにもあるわけです。

どの userSetup.mel が実行されるのか公式ヘルプには特に詳しく書かれていないのですが、自分なりに調べてみたところ、環境変数の最初に出てきたパスのものが実行されているんじゃないかと推察。

確認方法としては、こんな風にコマンドラインで環境変数をプリントさせます。

実行するコマンドは、こんな感じ
print(stringToStringArray(`getenv MAYA_SCRIPT_PATH`,";"))

すると、スクリプトエディタの履歴に scripts フォルダが列挙されます。

このリストの最初に出てきた scriptsフォルダの userSetup.mel が実行されている感じがします。


そういえば、mayaLTでは、起動オプションの -script も -command も使用できなかったので、自動実行させるにはuserSetup.melを使用するしか手段がないのです。


0 件のコメント:

コメントを投稿