この記事はMaya Advent Calendar 2019の16日目の記事になります。
突然ですが...
ちゃんと Remove: Unknown Plugins してますか?
...と思ったのも理由がありまして...
不明なプラグインの混入率が高い
仕事の中で自分に回ってくるシーンデータに不明なプラグインが混入している確率が非常に高い...
不明なプラグインが混入してると困ること
- シーンを開くのに時間がかかる
- プラグイン情報はシーンを開いたときに最初に読み込まれる部分です。
ここでMaya環境内に存在しないプラグインを読み込もうとした際にエラーメッセージが表示されます。
このエラーを引き起こすプラグインの数が多ければ多いほどシーンを開くのに時間がかかってしまいます。
- 不明なプラグインの情報は感染します。
-
継ぎ足しされる秘伝のunknown-plugin
- 過去のモデルデータを新しいシーンにインポートしたりした場合に不明なプラグインの情報も引き継いでしまいます。
-
リファレンスで遺伝するunknown-plugin
- リファレンス元のデータに不明なプラグインが含まれている場合、リファレンス先のシーンで不明なプラグインの除去を行っても、再度シーンを開いたときに不明なプラグインの情報が復活してしまいます。
- モデルアセットの時点で感染している場合、リグ/レイアウト/アニメーション/ライトコンプ/etc...のすべての工程でシーンを開く際にエラーメッセージが表示されることになります。
- 例えば不明なプラグインによる遅延が平均で5秒かかるとした場合、1話(仮で300カット) x (レイアウト/アニメーション/ライティング/分散レンダリング(仮で10台)) = 5.4時間ほどの無駄な時間を発生させている計算になります。
-
継ぎ足しされる秘伝のunknown-plugin
不明なプラグインを除去する方法
Maya標準の機能では不明なプラグインを除去することはできない
シーン内の不要なデータを除去してくれる最適化オプションが存在しますが、Unknown Nodes
のみ除去することができ、不明なプラグインは削除できません。
-
File
>Optimize Scene Size Options
>Unknown Nodes
- 以下のノード タイプすべてを削除します。
- unknown
- unknownDag
- unknownTransform
- 以下のノード タイプすべてを削除します。
不明なプラグインを除去するにはスクリプトを書く必要がある
unknownPluginコマンドを使用します。
不明なプラグインの取得
cmds.unknownPlugin(q=True, l=True)
不明なプラグインの除去
cmds.unknownPlugin("<Unknown-Plugin>", r=True)
誰かが開発した不明なプラグインを除去するツールを使う
-
探してみたものの見つかりませんでした
- 大手のCG会社であればテクニカル系に強い人がチェックツールなんかにプラグインを除去する機能なんかを搭載していると思いますが、フリーでは見つからない...
-
見つからないなら自分で作ろう
不明なプラグインを除去するツール 作成中
というわけでツールを現在作成中です。
記事に間に合えばよかったのですが、思った以上に忙しくツールは間に合いませんでした。
アドベントカレンダー最終日までには公開できるように頑張りますので、公開された際にはご活用いただければと思います。
こんな感じのツールを想定中...
ダウンロード
ツールが完成したので公開しました。
gumroadにて無料ダウンロードできます。
https://gumroad.com/l/jXoRw
参考
2日にわたり記事を書かせて頂き、ありがとうございます。
あまり面白い内容ではなかったかと思いますが、今後のMayaライフにお役立ていただけますと幸いです。
よろしければブログの方もご一読いただけますとうれしいです。
https://rateionn.hatenablog.jp/
明日17日目はtakumi_akashiro氏の起動中のMayaに対する実用的な外部アプリケーションからの操作です。