[WEB Add] GLB Compressor - GLBモデルのファイルサイズを軽量化

[WEB Add] GLB Compressor - GLBモデルのファイルサイズを軽量化

概要

GLB モデルのファイルサイズをブラウザ上で圧縮・軽量化するツール。 アップロード不要で、ファイルはローカル環境(ブラウザ内)で処理され、外部サーバーには送信されません。

🔗 ツールを開く: GLB Compressor

[WEB Add] GLB Compressor - GIF

使い方

1. GLB を読み込む

画面左上のエリアからモデルを読み込む。

  • ドラッグ&ドロップ — .glb ファイルを破線エリア(Drop GLB file here)にドロップ
  • クリックで選択 — エリアをクリックしてファイル選択ダイアログから選ぶ
[WEB Add] GLB Compressor - 1. GLB を読み込む

2. ファイル情報の確認

読み込みが完了すると、FILE INFO セクションに元のモデルの解析データが表示される。

項目内容
Nameファイル名
Size現在のファイルサイズ
Triangles総ポリゴン(三角形)数
Vertices総頂点数
Materialsマテリアル数
Texturesテクスチャ数
Meshesメッシュ数

プレビューエリアには対象の3Dモデルが描画され、マウス操作(回転・拡縮・パン)で状態を確認できる。

[WEB Add] GLB Compressor - 2. ファイル情報の確認

3. 圧縮設定を調整する

COMPRESSION セクションで軽量化のパラメータを指定する。

パラメータ操作概要
WebP Qualityスライダー(0〜100%)テクスチャをWebP形式へ変換する際の画質。数値を下げるほど容量が減るがノイズが増える。
Max Texture Sizeスライダー(256〜4096)テクスチャの最大解像度。指定値を超えるテクスチャは縦横比を維持して縮小される。
Draco Geometry Compressionチェックボックス頂点データ(メッシュ)のDraco圧縮を有効にする。ファイルサイズが劇的に下がるが、読み込み側にDracoデコーダーが必要になる。
[WEB Add] GLB Compressor - 3. 圧縮設定を調整する

4. 圧縮の実行とダウンロード

▶ COMPRESS ボタンをクリックすると圧縮処理が開始される。右上のコンソールエリアに変換状況(テクスチャの縮小率など)のログが出力される。

処理完了後、RESULT セクションに結果が表示される。 DOWNLOAD ボタンをクリックすると、圧縮後の [元のファイル名]_compressed.glb ファイルがローカルに保存される。

RESULT 表示例内容
53.4 MB → 7.4 MB -86.2%圧縮前サイズ → 圧縮後サイズ および 削減率
[WEB Add] GLB Compressor - 4. 圧縮の実行とダウンロード

圧縮方式の使い分け

モデルの特徴推奨設定期待される効果
テクスチャが大きい(部屋・建築系)WebP Quality 50〜75%, Draco OFF-70〜90%
ポリゴンが多い(フォトグラメトリ・スキャン系)WebP Quality 75%, Draco ON-80〜95%
テクスチャもポリゴンも多いWebP Quality 50%, Draco ON-85〜95%
既にWebPテクスチャ・低ポリ圧縮効果が薄い

Draco 圧縮の注意点

Draco圧縮を適用したGLBファイルは、読み込み側にDracoデコーダーが必要になる。Three.jsの場合は DRACOLoader を使用する。

import { DRACOLoader } from 'three/addons/loaders/DRACOLoader.js';
const dracoLoader = new DRACOLoader();
dracoLoader.setDecoderPath('https://www.gstatic.com/draco/v1/decoders/');
gltfLoader.setDRACOLoader(dracoLoader);

Draco未対応の環境で表示する場合はDracoチェックをOFFにしてWebP圧縮のみを使用する。

技術仕様

項目内容
レンダリングThree.js (WebGL)
GLB パース・変換@gltf-transform/core, @gltf-transform/extensions, @gltf-transform/functions
ジオメトリ圧縮Draco (WASM モジュールによるローカルエンコード)
テクスチャ変換OffscreenCanvas API (WebP 変換)
フレームワークAstro + Vanilla JS
データ処理全てブラウザ内、サーバー通信なし

対応ブラウザ

WebGL および WebAssembly 対応のモダンブラウザ(Chrome / Edge / Firefox / Safari)。 WASMモジュールの実行およびメモリ上のバイナリ処理を伴うため、PC環境での利用を推奨。