2019年12月2日月曜日

mayaでシーンファイルを開く

 mayaでシーンファイルを開くには、いくつか方法があると思いますが、それら開き方によって mayaが行う処理は異なっているので、不具合確認の時には、シーンファイルを開くところから手順を見せてもらわないと、対処するのに余計な手間を取られてしまいます。


 まず、他のスタッフの席へ赴きシーンファイルを開いてもらったとき、エクスプローラから mayaファイルをダブルクリックして開いたときには度肝を抜かれました。
 windows OSが拡張子からファイルに関連付けられた.exeを実行して開いてくれます。ドキュメント系の場合、ファイルのアイコンをダブルクリックして開くことは良くありますね。まぁ便利な機能です。
 けれど、この方法でmayaファイルを開くと maya.exeは素の状態で起動する事になります。起動スクリプトで環境変数やシーンの初期化を行っている場合、それらが実行されないので、色々と不具合が出易くなります。
 複数のスクリプトを連携させているツールを使用している場合、「動かないんですけど~」といわれることが良くあります。


 次に、mayaを起動してエクスプローラからファイルをドラッグアンドドロップで開く方法。
 photoshopとかで大量の画像を開くときなんかに良くやりますが、mayaでも出来ます。
 この時、mayaはドロップされたファイルをインポートと同じ扱いで処理します。なので、インポートオプションが適用されます。
 ネームスペースの扱い方やルートノードの有無など環境設定によって変わってきます。
 空のシーンにドロップするならば被害は少ないですが、何かシーンを開いていた時にドロップされるとゴミが追加されるので掃除が厄介です。


 で、大部分の人は mayaのメインメニューの、File(ファイル)> Open Scene(シーンを開く)もしくは、[Ctrl]+[o]で、シーンファイルを開いていると思うのですが、ここでも差があったりするんですよね。
 とくに Set Project(プロジェクトの設定)をしていない場合が多い。
 各種ファイルの参照が絶対パスになってしまい、テクスチャとかリファレンスとかのパス修正が面倒だったりします。この辺は舵取りする人が必要ですな。


 最後に、同じ Open Scene(シーンを開く)なんですけど、連続して別のシーンファイルを開くこと。
 周りを見ていると意外と普通にやっているので驚きます。
 これ、開いたシーンファイルによっては fileInfoや requirersで余計なプラグインがロードされてしまいます。で、そのロードされたプラグインは別のシーンファイルを開いたとしてもアンロードされないので、別のシーンファイルでも必要なプラグインとしてファイル保存されてしまうのです。かなり厄介です。

 他人の作ったシーンファイルの場合、どんなプラグインがロードされているか分かったものじゃないので、必ず mayaを再起動してからシーンファイルを開いたほうが安全です。

 scriptJobで sceneOpendを監視していたとしても、プラグインがノードを作成していたら unloadPluginさせるのも手間ですし・・・。
 pluginInfoの -dependNodeで調べられるけど、うまく削除できる保証は無いしなぁ・・・。

 mayabatchで大量のシーンファイルを処理する場合でも、1つの mayaに大量のシーンファイルを連続で処理させるのではなく、1つの mayaでは1つのシーンファイルの処理で終了させるようにしないと、掃除したつもりがゴミを撒き散らすことに成り兼ねません。
 要注意です。


0 件のコメント:

コメントを投稿