modoのスクリプトやプラグインのインストール方法について書いてみたいと思います。
modoは他の3Dソフトと同様にスクリプトやプラグインで機能拡張することができます。FoundryのフォーラムやMODO Japan Group、GitHubでは便利なフリースクリプトやプラグインが公開されています。
配布形態
modoのスクリプトやプラグインにはいくつかの配布形態があります。
スクリプトファイル単体
一番多いのがスクリプトファイル単体で配布されてる場合です。.pyや.plファイルだけ公開されてる場合がそれです。
Kit
次に多いのが「Kit」として配布されている場合です。有料プラグインやFoundryが配布しているAfterFX IOやGozはKit形式です。
Kitはスクリプト、プラグイン、UI、画像など複数のファイルで構成されていて、配布に便利な仕組みです。KitはUIの「Kitボタン / キットマネージャ」から有効/無効を切り替えることができます。Mayaのモジュールと似た仕組みですね。
キットは複数のファイルで構成されているため、.lxpや.zipのような圧縮形式で公開されてることが多いです。
インストール方法と使用方法
インストール方法は簡単です。ファイルをスクリプト フォルダ、またはKitフォルダにコピーします。
スクリプトのインストールディレクトリ
modoのスクリプトは、スクリプト実行時に以下のフォルダを検索します。
C:\Users\ (ユーザー名) \AppData\Roaming\Luxology\Scripts
C:\Program Files\Foundry\Modo\ (バージョン番号) \extra\scripts
Luxologyフォルダは全てのmodoバージョンから参照されるので、基本的には Luxology\Scriptsフォルダにファイルをコピーしておけば問題ありません。
スクリプトの使用方法
スクリプトを実行するときはmodoのUI右下にあるコマンド入力に「@+ファイル名」を入力してEnterで実行します。
Kitのインストールディレクトリ
Kitをインストールするときは基本的にインストールマニュアルに従うとよいです。modoは起動時に以下のフォルダを参照し、フォルダ内のKitを自動でロードする仕組みになっています。
C:\Users\ (ユーザー名) \Documents\Luxology\Content\Kits
C:\Users\ (ユーザー名) \AppData\Roaming\Luxology\Kits
C:\Program Files\Foundry\Modo\ (バージョン番号) \resrc
Content\Kits はmodoのコンテンツファイルをインストールしてる場合に作成されるフォルダなのですが、多くのKitはContentフォルダにインストールする気がします。
Kitが.zip形式の場合は、ファイルを解凍して Content\Kits フォルダにコピーすればロードされるようになります。
.lxp形式の場合は、modoを起動してウィンドウに.lxpファイルをドラッグアンドドロップします。.lxp形式はただの.zipファイルなのですが、Kitのディレクトリに自動的にファイルをコピーしてくれる便利ファイル形式です。.lxpは拡張子を.zipに変えると、圧縮・解凍ソフトを使用してファイルを直接取り出すこともできます。
.lxはバイナリ形式のプラグインファイルですが、このファイル単体で配布してるのをほぼ見かけたことがないです。多くの場合はKitフォルダを使用してmodoに読み込ませるのが一般的だと思います。
Kitは「index.cfg」内にキットが定義が書かれていて、Kitが使用するスクリプトやプラグインへ相対パスが記述されているのが一般的です。しかし絶対パスの決め打ちでパス指定されているKitもあるため、Luxology\Kits にコピーしないと動かないKitもあります。サードパーティのKitは、インストールマニュアルにしたがった方が無難です。
Kitの使用方法
Kitの使用方法はKitごとに異なるので、Kitのマニュアルを見ましょう。ファイルメニューに項目が追加されたり、特定のフォームにボタンが追加されたり、手動でフォームを編集する必要があったり、Kitによって動作がさまざまです。
新しいmodoでKitが動かない
余談ですが、modoを12から13にメジャーバージョンアップしたら、Kitが使えなくなることがあります。
modoのプラグインやスクリプトは後方互換性があるので、新バージョンでも基本的に動きます。しかしVrayなど一部のKitはバージョンごとに読み込みを制限しているため、新バージョンで動かなくなります。これは「index.cfg」内でバージョンを指定することで制限しています。configuration の行でバージョン番号を書き換えれば、新しいバージョンのmodoでKitを使用することができるようになります。
例えばmodo 901のみで動作する場合は以下用に記述してあります。
<configuration and="rel]900" and="rel[1000">
modo 11のみで動作する場合は以下の通り。
<configuration and="rel]1100" and="rel[1200">
modo 12のみで動作する場合は以下の通り。
<configuration and="rel]1200" and="rel[1300">
バージョンの記述方法はメジャーバージョンが見てわかる物や、ビルド番号っぽいものといくつか種類があるようです。
バージョンを制限してるのには理由がある場合があります。フォーラムを見てるとmodoの問題を避ける場合や、新しく追加された機能を使用している場合に動作するバージョンを制限することがあるみたいです。
もし開発が終了してしまってメンテナンスされていないKitが動かなくなってしまったというときは、バージョン番号を書き換えると使えるようになるかも知れません。
スクリプト情報 (おまけ)
スクリプト言語
modoが対応しているスクリプト言語は以下の3つです。
- Perl スクリプト
- Pythonスクリプト
- luaスクリプト
Pythonは古くからサポートしてたPython APIの他に、modo 901で追加された TD SDK というTD向けのPython APIラッパーもあります。
modoのインストールディレクトリを見ると、.pyや.plファイルが大量にあるのがわかると思います。
C:\Program Files\Foundry\Modo\13.0v1j\extra\scripts
スクリプトについては、以下のディレクトリに日本語のスクリプト ドキュメントがインストールされています。
C:\Program Files\Foundry\Modo\13.0v1j\help\Scripting_and_Commands.pdf
最新の情報はSDK Wikiにまとまっています。
http://modo.sdk.thefoundry.co.uk/wiki/Main_Page
modoのスクリプトまとめページです。
http://www.etereaestudios.com/modoshare/tips_python_modo.html
modoの開発者のリポジトリです。
https://gist.github.com/Farfarer
https://gist.github.com/mattcox
私はスクリプトは全く書けないので、スクリプト書ける人は凄いなと尊敬しながらフリースクリプトを使わせていただいてます。