modo用P3Dプラグイン sy_p3d

何年か前にmodoという統合CGツールを買いました。
ですがほとんど使うことがなく、私の中では不良債権化しています。
せっかく買ったので使わなきゃ勿体ないと思ってるのですが、やはり慣れたメタセコイアのようには使えず、起動しては閉じるの繰り返しです。
メタセコイアより高機能なんだと思うのですが、あの操作を同じことをしたい時にはmodoの場合だとどうやるんだ、と調べているうちに面倒くさくなったりして、結局メタセコイアに戻ってくるというわけです。
 
OFP/ARMAシリーズでmodをやっている人には常識ですが、.p3dというファイル形式があります。モデリングされたデータファイルと言えばいいんですかね。.docや.xlsのようなものと思ってください。とても中心的なファイルです。
折角なので横道にそれますが、この.p3dというファイルには、見た目では判別できませんがmlodとodolのふたつの種類があります。
 mlod:モデリングツールで自由に編集できる状態
 odol:ゲーム用にバイナリ化した状態(編集はできない)
例えとしては正しくないのでしょうが、mlodがソースコード、odolがコンパイルされたオブジェクトのようなものです。なのでodolなp3dファイルをmlodなp3dファイルに戻すことはできない、ということになっています(ここではそういう説明とします)。
 
さてmodoの話に戻しますが、modo 601版でmdolなp3dファイルを扱えるようにしたプラグインを作ったSimon Beetham (Sy, Synide)さんという方がいました。どの程度使えるのか、いつかは試そうと思ってそのままだったのですが、この正月休みに取り掛かってみました。長くなりましたが、ここまでが今日のエントリーのイントロです。
配布元 PMC Editing Wiki
 

こちらのスクリーンショットは、BISが配布しているサンプルファイル(p3d形式)を、modo601に読み込ませた状態です。
頂点やメッシュ情報はもちろんのこと、テクスチャパスもUVもlodもセレクションもRTMも、おおよそp3dに入っているすべての情報をmodoにインポートできているようです。
 

もちろん読み込むだけでなく、p3d形式に出力することができます。

秀逸だと思ったのは、各lod名を設定する機能とそのlodに設定するプロパティを、modo内で行えることです。
メタセコイアでモデルを作った後にobj形式で出力して、変換後のサイズを電卓で計算して、別オブジェクトの同一座標の頂点がマージされないように何回かに分けてOxygenに読み込ませてく面倒なことをして、以降はOxygenでlod関係の作業をしていました。
ぎりぎりまでmodo側で作業して一発で持ってけるのだとしたら、こりゃすごいと思うプラグインです。そもそもメタセコイアにはSelectionが4つしかないし、名称の定義ができないし。
Oxygenは、OFP時代のリリース版に比べて最新版はだいぶ進化したと思いますが、正直使いにくいし、専門のモデリングソフトの方が高機能です。BISの人も、おそらく3DS Maxとかmayaとかで作業して、いよいよゲーム用の設定をする時にだけOxygenを使っているんじゃないかと思われます。
 

エキスポート機能はどんなもんだろうと思って、modoで簡単なモデルを作って、oxygenに持ってってみることにします。
円柱モデルにテクスチャを貼って、geometryとかいくつかのlodを作って、p3dで出力してみます。
 

もちろんOxygenに普通に持っくことができました。
UV情報もlod名やlodに設定していたプロパティもちゃんと反映されています。
ただメッシュ(OxygenではFace)のテクスチャパスは反映されていませんでした。とはいえ、ここまで高機能なプラグインが、こんな基本的なことができないとは思えないので、おそらく私がmodo側で行ったマテリアル設定が悪いのだと思います。この辺りは、modo側のマテリアル設定を勉強していきたいと思います。
 
Synideさんが配布しているこのプラグインは、基本的にはmodoの601用です。
配布元のPMCの記録を見ると701でも使えるように読めますが、801とか最新版の10.1だとp3dの読み込み時にmodoが落ちるみたいです。
p3dでの出力のことには触れてないので、エキスポート機能は使えるのかもしれませんが、自分が持っているのは601だけなので確かめてないです。
 
こんな素晴らしいプラグインがあるのなら、折角買ったmodoをこのまま死蔵させるのも勿体ないので、次の建物とかはメタセコイアではなく、modoで作ってみようと思います。
ありがとうSynideさん。