アセットバンドルの圧縮
アセットバンドルのダウンロード

アセットバンドルの内部構造

アセットバンドルは基本的には、順番に並んだファイルの一つにグループ化された、ひとまとまりのオブジェクトです。アセットバンドルは、データファイルとして配置され、通常のバンドルかシーンバンドルかによってわずかに構造が異なります。

通常のアセットバンドル構造

通常のアセットバンドルの内部構造
通常のアセットバンドルの内部構造

ストリームのシーンアセットバンドル構造

ストリームのシーンアセットバンドル内部構造
ストリームのシーンアセットバンドル内部構造

両タイプとも同じ方法でアーカイブ、圧縮されます。

アセットバンドルの圧縮

ArchiveFileSystem コンテナは以下のような構造です。

ArchiveFileSystem コンテナ構造
ArchiveFileSystem コンテナ構造

上の図の圧縮ブロックは、チャンクかストリームごとに圧縮されています。チャンク圧縮 (LZ4) では、オリジナルデータが同じサイズのひと固まりずつ (サブブロック) に分けられ、それぞれが別々に圧縮されます。リアルタイムで解凍したい場合は、この方法を使用します。なぜなら、ランダムリードオーバーヘッドが小さいからです。ストリーム圧縮 (LZMA) は、すべてのブロックを処理するのに、同じ dictionary を使用します。この方法は、最も高い圧縮率で処理できますが、シーケンシャルリードしかサポートしません。

アセットバンドルの圧縮
アセットバンドルのダウンロード