SubstancePainterのファイルサイズが大きくなりすぎる問題

Substance Painterのファイルサイズがどんどん大きくなる

Substance Painterって使うごとにどんどんファイルサイズが大きくなっていきます。

というのも、非破壊が売りなので動作やリソースを全部保存しているからみたいですね。

なぜ全情報を保存しているのか

公式のヘルプより引用。

Projects are really big - Substance Painter - Allegorithmic Documentation

Everything you use in a Substance Painter project is included in the file :
・the source mesh
・the textures baked
・the materials (like substances)

Substance Painterプロジェクト内には、以下のファイルが含まれています。
・ソースメッシュ
・ベイクされたテクスチャ
・サブスタンスのようなマテリアル類

It makes the project completely autonomous but the downside is indeed a large file size. The decision to have everything embedded in the project file comes from the fact that everything is non destructive. It means that the projects “rebuilds” itself when you open it. If a single brush or material is missing from your shelf, the project will break and will not be able to correctly regenerate.

プロジェクトを完全に自動的に行うには、欠点としてファイルサイズの肥大化があります。 全てをプロジェクト内に埋め込むという決断は、全てを非破壊にすることに起因しています。 これは、プロジェクトを開いたときに"再構築"を行うことを意味しています。 シェルフから1つのブラシやマテリアルが無くなったら、プロジェクトは壊れ、正しく再構築することもできなくなってしまいます。

The high-poly meshes are not included in the project. They are just linked to the project.

ハイポリはプロジェクトに含まれません。これは、プロジェクトにリンクされるだけです。

削減方法

A way to reduce the filesize is to :
・Use the “clean” then “save” function in the file Menu to get rid of unused resources.
・Do a “Save As” from times to times to also get rid of additional unused data.
・Set your texture set to a low resolution, like 512, to reduce the disk footprint of the cached textures used for the visualization of the texture sets.

ファイルサイズを削減する方法
・"clean"を実行後、"save"をすることで、使用していないリソースを削除します。
・時折"Save as"を使うときも使用していないデータを削除します。
・テクスチャセットを512などの低解像度にすると、テクスチャセットを表示するために使用されるキャッシュデータを削減できます。

On Windows, the project file is protected from read/write access, therefore the size in the Windows Explorer can be incorrect until you close the project in Substance Painter.

Windowsでは、プロジェクトファイルは使用中に読み書き制限がかかるため、SubstancePainterを終了するまでエクスプローラー上では正常に表示されないかもしれません。

単純な立方体でテスト

f:id:hildsoft:20170516194304p:plain

6面構成のシンプルなキューブ状のメッシュでプロジェクトを作成して保存しました。

f:id:hildsoft:20170516194404p:plain

ファイルサイズが74MBになりました。

これをエクスプローラー上でコピーして同じファイルを作成しました。

f:id:hildsoft:20170516194539p:plain

1回ベイクすると74MB->82MBに

10回ベイクすると74MB->90MBに

それぞれ増加しましたが、save asで保存すると74MBまで戻りました。 clean実行で保存しても同じサイズになりました。

まとめ

どのマテリアルを使って塗っているのか、どのような設定(サイズやフローなど)で、どのようなストローク(描画)を行ったのかなどの情報をすべてプロジェクト内にコピー保存しているようです。

この辺の情報は削減するにも限界があるため、ペイントするときも気を付けるしかないですね。

たとえば、手描きでペイントするときに、描きミスった場合はundoなどで作業を戻す方が良いです。
マスクを黒で塗って白で消すなどの動作は情報をどんどん増やしていくことになります。

とはいえ、それもかなり沢山やった場合の話なので、それほど神経質になる必要は無さそうですが、情報は増えるので心がけは必要かと思います。

要らないデータを削除するには、メニューからcleanを実行するか、save asで別名保存するとある程度削減できます。

ちなみに、cleanを知らずにベイクしまくっていたファイルは、2.5GBから680MBまで小さくなりました。