myara CG blog

CG Design Blog. Thoughts, experiments and experiences.

XSI フォルダ整理 ・ XSIプロジェクトフォルダについて

Softimageのプロジェクトを作る時に色んなフォルダが勝手に作られますね。

意外と知らない人が多いけど、基本的にSoftimageのプロジェクトにフォルダーを3だけが必要です。

Scenes
Pictures
System

使っていないフォルダは空のままなので、例えばモデリングとテクスチャのデータだけだったら、無駄に空フォルダがいっぱいあるだけです。

※ Pictures要らない場合もあったり、Model使ったり、必要なフォルダ変わったりする場合もあるんでしょうけど。

System フォルダは非表示になっているので、Explorerで「隠しファイル・隠しフォルダーを表示」というオプションにチェック入れないと見れません。

このSystem フォルダに「dsprojectinfo」というファイルが入っています。このファイルはなんなのか正直分かりませんが、この二つが無いとSoftimageにプロジェクトとして認識されません。なので、そのままファイルを開いたらテクスチャパスがフルパスになってしまい、テクスチャが見つかりません。

なので、プロジェクトフォルダを移動する時に、忘れずにね。


もう手遅れ!systemフォルダがない!
という時に、あせらずに他のプロジェクトから「system」フォルダをコピーしちゃおう。これでちゃんと認識されるはずです。

それでも Add Project でダメでしたら、シーンファイルをビューポートにドラッグ&ドロップすると、「プロジェクトを追加します?」みたいなダイアログウィンドウが出てきます。

プロジェクトマネージャーに追加するかしないか別として、ちゃんと「system」フォルダが入っていたらドラッグ&ドロップだけでパスが認識されてテクスチャも表示されます。たとえこのプロジェクトフォルダがイントラーネットから開いていても。これはXSIプロジェクトシステムの素晴らしいところですね。


この「system」フォルダの中に、ユーザーフォルダが作られます。
ここにバックアップデータとか保存されますが、人にデータを渡す時にここを見たらユーザー名がばれてしまいます。ってことは担当がばれちゃうかもしれません。

ファイルを開くだけで「ユーザー名」が残るので、少なくてもそのファイルを開いたユーザー名が分かります。
嫌だったら、消せば良いだけです。もちろんデータに特に影響がありません。

んで、私はクライアントにデータを渡す時に:
- プロジェクト内の空フォルダ
- [system]フォルダの中の[ユーザー名]フォルダ
- [backup]フォルダ
- [pictures]内の[thumbnail]フォルダ
を削除してから渡すようにしています。

なんか余計なデータで重たくなるのは嫌だけど、サムネルぐらいは残しても良いかもしれませんね。消しちゃうけど。

いちいちこんな作業するのは面倒くさい。特に自分だけじゃなくて、何人のデータをまとめる時に超面倒くさい!

なんで、スクリプトを作ってみました。

実は1ヶ月前に作ったものだけど、今日はまだアップしていなかったことに気づきました。

これです:
http://myara.web.fc2.com/XSI/Scripts/mXSIFolderCleaner.vbs

このスクリプトはXSIからでも、Windowsからでも実行できます。
ただし、XSIで実行する時に、キャンセルが出来ません。
や、キャンセルは出来ますけど、エラーが出てしまいます。特に問題ないけど赤いエラーが出るので一応言っておきます。

で、何をするスクリプト?これからちゃんと説明します。

スクリプト実行!

「パスを入力しろ!」っていうダイアログが出てきます。
ここに整理したいパスを入れてみましょう。

※ ただのスクリプトだからドラッグアンドドロップなど出来ないのでコピペーにしてください。あるいは手動。

入力したパスの中のフォルダの中の中の中の全フォルダをチェックしますよ。

すると:

空フォルダを削除 (全フォルダ)
scntoc と lockファイルを削除 (XSIプロジェクトフォルダのみ)
system フォルダ内のユーザーフォルダ削除 (XSIプロジェクトフォルダのみ)
mayaSwatches フォルダ削除 (XSIプロジェクトフォルダのみ)
Backup フォルダ削除 (XSIプロジェクトフォルダのみ)
Pictures内のThumbnail を削除 (XSIプロジェクトフォルダのみ)
Windows の Thumbs.db ファイル削除 (全フォルダ)

全部は別sub procedureになっているので、スクリプトエディターかメモ帳か俺の好きなnotepad++とかで開いて、最初に書いてあるオプションリストに「1」と「0」で ON/OFF が出来ます。
例えば、空フォルダだけ削除したかったら最初のオプション以外全部0にするだけで、このオプション以外全部無効になります。

綺麗なGUIがありません。これから作る予定もありません。

因みに、Bernard Lebelのcleanuppictures v1.0も結構使っています。プロジェクトに使用されていないテクスチャを削除してくれるスクリプトです。なぜかv2.0は上手くいかない。エラーを調べるより1.0を使ったほうが良いかもな。Pythonだし。