myara CG blog

CG Design Blog. Thoughts, experiments and experiences.

SI | mObject Cleaner (チェック・整理ツール) β

Softimageではデータをいじればいじるほど汚くなっていきますね。ハードエッジを作るたびに要らないエッジクラスタが残ったり、ポイントとかいじっていて空っぽのクラスタができたり、Crosswalkで他のソフトからインポートする時も不要なプロパティができたりします。毎回これを整理するのは面倒くさい!

ゲーム系の場合はデータ的なところが重要です。汚いデータでエラーが出たり、実機上で表示がおかしくなったりすることもあります。

モデルを作りながら心掛けて整理していても見逃すところもあって、そのままクライアントに提出しちゃって結局チェックバックで怒られます。

他人のデータを貰う時も汚くて整理しなきゃいけない場合も多いし、チームのデータをまとめる時も結構面倒な作業になります。チェックより制作の方に時間をかけたいしね。

スクリプトが出来るようになってから(つい最近だが)毎回簡単なチェックスクリプトを作ったりしていますが、もう少し一般的なチェックと整理ツールがあればいいのにね~とずっと思っていました。誰か作ってくれないかなとずっと思っていました。

誰も作ってくれないから、自分でやってみるしかないですね。

最初はJunkiさんの秒殺クラスタを自分用にカスタマイズしていて、以前作ったツールと合併させてみました。その後に、この機能があればもっと楽になるよなーと思いながら暇な時に色々追加していって、気づいたらそれっぽいツールになっていました。

もちろんある程度コード整理もしていたつもりですが、こういう適当な作り方で書いてみたので、パフォーマンス的にはちょっと微妙かもしれません。個人的にはこれで十分ですけど。

一応これで使えるプラグインなのでとりあえずこれでベータ版的な。


mObject Cleaner
地味なプラグイン名ですいません。

Softimage バージョン対応: XSI 7.0以降
「GetAllShaders」というコマンドを使っているため7.0以前のSoftimageは非対応です。UV名のリネーム機能を使わなければ、5.11とかでも大丈夫だと思います(未確認)
※ XSI5と6のハードエッジにエッジクラスタは必要なので、注意下さい。

インストール方法:
プラグインです。
SoftimageのApplication\Plugins フォルダに入れて、プラグインマネージャー更新か、Softimage再起動。
右下のEditメニューから「mObject Cleaner」というオプションが出ているはずです。
そこにクリックするとGUIが出てきます(プリファレンスにこの設定が残ります)。
※ CTRL+クリックすると、GUIが出ずに最後の設定で実行されます。

機能設定方法:
・クラスタ削除:削除したいクラスタを選べます。
クラスタマージは同じマテリアルを共有しているクラスタをマージする。
・テクスチャUV名リネームは、リネームしてから自動にマテリアルのUVもアサインし直されます。(特殊なシェーダーを使う場合上手く行かない可能性もあります)
・UVリネームやエンベロープリネーム機能は複数クラスタに非対応です。
・未使用UV削除の取得方法は、オブジェクトの全UV情報をマテリアルに繋がっているシェーダーの使用中のUVと比べて、マッチしないUV情報を削除コレクションに入れます。特徴なシェーダーを使う場合正しく取得出来ない可能性もあるので注意ください。
・ポリゴン数チェックは2000~10000になっていますが、手動で0~90000まで大丈夫です。それ以上のポリゴン数はチェック必要ないでしょうね・・・。ありますかね?
フリーズモデリング以下のオペレーターはりんぷるさんのコードです。自分はJscriptに変えてみただけです。

あとは結構分かりやすいと思います。

・「チェックのみ」は、データに何も変更しないで、スクリプトエディターに結果がでます。何も出ないと、全部OKということです。
・「データ整理」は選択したオプションを整理します。

カスタムタブに自分のプリセットを保存できます。
プリセットをファイルに保存すればいいだけって話だけど、あったら便利かなと思いました。
そんなに便利じゃないかもしれないけど一応ね。

DOWNLOAD

新しいバージョン: mCleaner 

English || Japanese

mObjCleaner01.gifmObjCleaner02.gif

いつかちゃんとした説明を書いてxsiaddonにしてみます。
一応色々は試してみて自分の作業にも使っていますが、バグがまだ残ってる可能性もあるので、なにかがあったら連絡ください。もちろん、あなたのデータが壊れたり、消えたりする場合に責任はもてませんが、プラグインのバグぐらいは直します。

PS:英語だけじゃ分かりづらいかなと思って一応日本語版も書いてみたけど、Softimageの日本語版はあんまり使ったことないし、日本語も母国語じゃないので間違ってるところもあるかもしれません。教えていただければ直しますので、気軽に声を掛けてください。

PS2:Junkiさん、ありがとうございました。法線を直しました!