読者です 読者をやめる 読者になる 読者になる

Unityな日々(Unity Geek)

Unityで可視化アプリを開発するための試行錯誤の覚書

モデルデータの書き出しサイズを小さくする Mesh Compression

アセット・コンポーネント

ビルドサイズを小さくする手段の一つに、モデルデータのメッシュサイズ圧縮がある。

これは、モデルデータのインスペクタ:Mesh Compressionで行う。

選択肢は、Off/Low/Medium/Highの4種類ある。

f:id:yasuda0404:20160915145848p:plain

オリジナルのサイズが約38MBのFBXデータをAssetに読み込み、Mesh Compressionの設定を変えてビルドしてみた。

なお、Windowsの場合、ビルドすると、任意名.exeと、任意名Data フォルダの2つのファイルができるが、Mesh Compressionでサイズが変わるのは、任意名Dataのみ。exeの方は影響を受けない。

シーンにモデルと、カメラ・ライトをおいただけのシンプルなシーンをビルドした結果の、それぞれのレンダリング画像と、***_Dataフォルダのサイズを以下に示す。

あくまでも、ひとつのケースの事例であるが、Off(Mesh Compressionなし)とLowの差は大きく、***_Dataフォルダのサイズは約半分にまで小さくなる。

一方、Highは、円筒部分の粗さが目立つ結果となった。

1. Off (***_Dataフォルダのサイズ 73.4MB) - Mesh Compression なし

f:id:yasuda0404:20160915150308p:plain

2. Low (33.8MB)

f:id:yasuda0404:20160915150349p:plain

3. Medium (31.8MB)

f:id:yasuda0404:20160915150407p:plain

4. High (27.6MB)

f:id:yasuda0404:20160915150426p:plain

なお、Mesh Compressionはビルド時に行われるものなので、アセット内のモデルデータは影響を受けない。

つまり、いったんHighに設定し他モデルを、シーンに配置したまま、Projectビューのモデルデータの設定をLowやOffにしても、書き出しサイズは問題なく変わる。この点は、3DCGソフトでポリゴンリダクションを行うのに比べて、結果を見ながら設定を変えられるので便利。