おはこんばんわ! SENAです(*‘ω‘*)
最近プラグイン配布の環境を構築する機会があったので
自分で忘れないようにメモも兼ねてここにやりかたを書こうと思います!
※一応ブログトップにも書いていますが、この記事では特に
ご利用等は自己責任で!というのを押させていただきます!
Mayaでプラグインを配布したいけど人によって設定も違うし・・・
他人のカスタマイズに干渉しない方法で、プラグイン(スクリプト)配布をしたい・・・
そんな都合の良い方法があるっちゃあるので、その一例を紹介です٩( 'ω' )و
皆さんはファイルやフォルダの管理はお仕事でされていますよね?
Parforce?それとも別の階層管理ツールでしょうか?
まぁフォルダの階層をバージョンで管理されていると思いますが
その階層の Path を modファイルで指定する事で
直接Mayaに読み込ませることができます。

まず階層管理ツールのどの階層でも良いので、一つ作成します。
(今回は【Maya2017_SENA】というフォルダを作った想定にします。)
そこにまず
icons
modules
plug-ins
scripts
というフォルダを作成します。
↓ こんな感じ

次にモジュールファイルを作成します。
作成自体の詳細は過去記事に詳しく書いています
「MAYA_PLUG_IN_PATHを追加する」
http://hesperas.blog134.fc2.com/blog-entry-235.html+ Maya2017_SENA_Module 1.0 S:\MayaData\Maya2017_SENA
MAYA_PLUG_IN_PATH +:= \plug-ins
PYTHONPATH +:= \plug-ins
・modファイルの中の例↑ 作成したフォルダ階層を指定してやります
ただし、今回モジュールファイル(mod)を置く場所は
先ほど作成したmodulesフォルダの中となります!ここに置いたモジュールファイルを、バッチファイル等で
マイドキュメント→maya→2017(使っているバージョンフォルダ)直下の
modulesフォルダへ移動させます。
バッチファイルを作ろう!(ファイルコピー編)
http://hesperas.blog134.fc2.com/blog-entry-234.html
つまり、こんな感じですね。

・・・なんでこんな面倒くさい方法を取るのかというと
このmodで指定したパスで、
読み込む先を変更するからです。
ここが今回のキモですね٩( 'ω' )و
おそらく、みなさんはお仕事のプロジェクト事に使用するプラグインを変更していると思います。
ですので、このmodファイルを入れ替える(上書きコピー)ことによって
プラグインの読み込み先を変更し、使用用途に合ったプラグインを
Mayaに読み込ませる事ができるようになるのです。実際に使用するプロジェクト事(Mayaのバージョン事とかでも)にこの階層を作っておいて・・・
各フォルダの modules から modファイルを、使用したい時にコピーして
逐一使用するプラグインを入れ替える管理する側も用途ごとにフォルダ管理できるので、かなり便利ですb
配布する場合は、必要な階層以下を全取得してもらい
mod の移動 bat を渡せば良いです。batファイルも、この階層に含んでおくとスムーズですかね(*‘ω‘*)
※環境が読み込まれるのはMayaの起動時なので
実行後にMayaの再起動が必要になります。
・さらなる利点この mod ファイルで追加した pass 一つにつき
scripts フォルダ内の【userSetup.py】が使用可能になります。

useSetup.pyはMayaが立ち上がる際に自動で実行されるスクリプトで
python と mel の二種類が有ります。
pythonバージョンは上記の通り、pass分複数読み込ませることができますが
mel は最初に読み込んだ一つのみが実行されるそうです。
userSetup.py も mod のpath変更で読み込み先が変わるので
例えば
・カスタムコマンドの load 処理を書いておく。
・winods の tool に読み込んだコマンドショートカットを追加する。(↓図)
等が可能になります。

※現状のuseSetup.pyの問題点は
どの path のuserSetup.pyから実行されるか分からない点でしょうか。
順番は mod に記述した順番でも無い為、読み込み順番を制御する事は
今の私にはやり方が分かりません。
どなたかご存知の方がいらっしゃったら、是非教えていただきたいですね!(*‘ω‘*)wktk
以上が私が主にやっているプラグイン、スクリプトの配布環境になります。
ちょっと記事自体が長くて見にくいとは思いますが
やっていることは階層作って mod ファイルをコピーしているだけなので簡単です。
mod ファイルのPathはあくまでMayaの環境に追加するもので
既存の環境への影響を減らしていますが
プラグイン名の被り等は防ぐことはできません。
被らないような Nice な Name を付けるよう心掛ける事が重要です。
もっと良い方法あるアルヨ!って方はこっそり教えてください!
ではまた~
コメント
-
2019/10/15 編集