Blenderで作ったGLBモデルを極限まで軽量化する!!

Blenderで作ったGLBモデルを極限まで軽量化する!!

ハロ~!Glassesのタケです!
みなさん、突然ですがこちらのモデルデータのサイズがどれくらいか予想してみてください。
これだけ質感がきれいに再現されていて、1MBくらいあるんじゃない?って思っていた方…残念!
答えは…84KBです。
予想をはるかに下回っていた方が多いのではないでしょうか?
今日はGLB形式のモデルデータを極限まで圧縮しまくって軽量化する方法を解説します。
GLB形式とは、3Dモデルのデータを一つのファイルにまとめることができる形式です。
モデルに必要なデータが全部何もかも1ファイルにまとまってしまうので、とっても便利です。

Webやスマホアプリなどで3Dモデルを表示するときに便利ですが、その分ファイルサイズが大きくなりがちです。
そこで、私は以下の2つの方法でGLB形式のモデルデータを軽量化しました。

・テクスチャの圧縮や容量の削減
・Dracoメッシュ圧縮を使用した軽量化


テクスチャとは、3Dモデルに貼り付ける画像のことです。
テクスチャは、色や質感などを表現するために重要ですが、高解像度や多数の画像を使うとファイルサイズが増えます。
そこで、私たちはテクスチャの解像度を下げたり不要な画像を削除したり、
同じような画像を共有したりすることで、テクスチャの圧縮や容量の削減を行いました。

例えば、以下の画像は同じ3Dモデルですが、左側はテクスチャが約1MB、右側はテクスチャが約30KBです。
見た目にはほとんど差がありませんが、ファイルサイズは約100分の1になりました。
テクスチャ画像の圧縮はやっておいた方が良いですね!


Dracoメッシュ圧縮とは、Googleが開発した3Dモデルの形状を表すメッシュデータを圧縮する技術です。
メッシュデータは、3Dモデルを構成する頂点や面などの情報を持っていますが、その数が多いとファイルサイズが大きくなります。
データ1つの単位をポリゴンといい、ポリゴンが増えるほど負荷が増えます。
1000ポリゴンと10000ポリゴンのモデルがあったら、もちろん10000ポリゴンのモデルの方がサイズが大きいです。

そこで、私はDracoメッシュ圧縮を使用して、メッシュデータを効率的に圧縮しました。
例えば、以下の画像は同じ3Dモデルですが、左側はメッシュデータが約61KB、右側はメッシュデータが約10KBです。
見た目にはほとんど差がありませんが、ファイルサイズは約6分の1になりました。
もはや何が変わったのか絶対に分かりません。


こうして、軽量化しつつ綺麗なモデルデータが完成しました!
これでWebやスマホアプリで3Dモデルを表示する際にも、高速に読み込みや表示ができるようになります。
今後も軽くて高品質な3Dモデルにするための研究に取り組んでいきますので、お楽しみに!!

ではでは~!


現在
株式会社チョモランマ
株式会社シェルパ
3Dmodeljapan株式会社
ではスタッフを大募集しております!!
Unreal Engine4、AI、プログラミングや建築パースに興味がある方!
ぜひご応募下さい!!
初心者の方、未経験の方やインターンを受けてみたい方々でも大歓迎です!!

〔企画運営〕株式会社シェルパ 
公式HP https://sherpa-cg.com/
〒810-0042
福岡県福岡市中央区赤坂1丁目13-10赤坂有楽ビル7F 
TEL 092-717-6800 / FAX 092-717-6801