GLB ファイルサイズを減らす方法
まずはいくつかの規制輸出を比較することから始めます。ファイル サイズとトライアングル数は異なるものを表します。同じメッシュには小さなテクスチャが存在する場合もあれば、複数の大きなイメージが存在する場合もあります。このガイドは、最初に何を変更するかを決定するのに役立ちます。リンクされたガイドでは、個々の設定について説明します。
1. ベースラインを保存する
元の GLB を保管してください。三角形を縮小したりテクスチャを変換したりせずに Conservative プリセットを実行し、出力とコマンドを保存します。両方のファイルのバイト数とトライアングル数を記録します。後のトライアルは常に元の状態から開始して、それぞれの違いが変更した設定によるものであると考えることができます。
2. ディテールを削除する前にジオメトリの圧縮を比較する
オリジナルのテクスチャを使用した小さいファイル プリセットを試してください。三角形の縮小を要求せずに Meshopt 圧縮を有効にします。これで十分な節約ができ、ビューアが出力拡張機能をサポートしている場合は、三角形を減らす必要がまったくない可能性があります。
| リップルサンプル | ファイルサイズ(バイト) | 三角形 |
|---|---|---|
| オリジナル | 186,756 | 8,192 |
| 保守的なプリセット | 119,120 | 8,192 |
| 小さいファイルのプリセット | 39,248 | 8,192 |
これらの測定では、オリジナルの CC0 リップル サンプルとネイティブ gltfpack 1.3 を使用します。そのテクスチャは 16 × 16 ピクセルしかないため、主にジオメトリ圧縮を示しています。三角形の数は両方のエクスポートで変化しませんでした。これは、オプティマイザーが他のすべてのプロパティを保持することを意味するものではありません。
3. テクスチャが優勢であるかどうかをテストする
2 番目のフィクスチャは、生成された 1024 × 1024 PNG と同じジオメトリを使用します。 3,061,644 バイトから始まります。 PNG を変更しない Meshopt は 2,914,152 バイトを生成します。テクスチャ出力のみを品質 8 で WebP に変更すると、445,632 バイトが生成されます。 3 つのファイルにはすべて 8,192 個の三角形が含まれています。
このフィクスチャでは、メッシュを圧縮するよりもテクスチャを変更することがはるかに重要でした。これは診断例であり、すべてのモデルで期待される節約効果を示すものではありません。写真、通常のマップ、およびフラットなロゴは、異なる方法でエンコードされます。
4. アプリケーションが使用できる結果で停止します
意図した視聴距離でモデルを比較し、代表的なデバイスで読み込みをテストします。ダウンロードが小さくても、自動的に GPU メモリ使用量が減ったり、レンダリングが高速になったりするわけではありません。外観と互換性の要件を満たす最小のバージョンを保持してください。
ジオメトリがまだ密度が高すぎる場合は、三角形を減らします。 →
エンジンリファレンス: gltfpack
オプティマイザを開きます ↗