最適化後に GLB が大きくなる理由

出力が大きくても、必ずしもツールが失敗したことを意味するわけではありません。新しい設定では、異なる形式または精度が優先される場合があり、入力がすでに圧縮されている可能性があります。さらに設定を変更する前に、コマンドと一緒に元の拡張子と出力された拡張子を比較してください。

ジオメトリ圧縮が削除されたかどうかを確認する

Conservative プリセットは Meshopt 圧縮を要求しません。入力ですでに Meshopt が使用されている場合、圧縮をオフにして最適化すると、三角形の数が同じであっても、より大きなファイルが生成される可能性があります。 Meshopt を出力に含める必要があり、アプリケーションがそれをサポートしている場合は、小さいファイル プリセットを選択します。

リップルサンプルのテストサイズ (バイト)三角形
Meshopt 圧縮入力39,2488,192
圧縮をオフにして再処理しました119,1208,192

このネイティブ gltfpack 1.3 テストは、CC0 サンプルの最適化されたバージョンを再処理します。ファイルが大きくなるのは、三角形が追加されたためではなく、出力設定が異なるためです。これは、最適化を繰り返してもファイルが縮小し続けることが保証されない理由の一例です。

テクスチャのエンコードと精度の変更を確認する

UASTC は ETC1S よりもはるかに大きくなる可能性があります。これは品質オプションであり、最小ファイル設定ではありません。同様に、ジオメトリの量子化を無効にしたり、精度を高めたりすると、データ量が増加する可能性があります。これらの選択を、入力を生成した設定と比較します。

小さなモデルやテクスチャでは、節約を上回るメタデータやコンテナのオーバーヘッドが発生する可能性もあります。普遍的な最低貯蓄額はありません。新しい形式がアプリケーションにメリットをもたらさない場合は、元の形式を維持することがより良い選択となる可能性があります。

両側で同じ量を測定します

ダウンロードされたファイルのバイトとダウンロードされたファイルのバイトを比較します。ブラウザのネットワーク パネルには HTTP 圧縮後の転送サイズが表示される場合がありますが、ファイル マネージャーには保存されている GLB サイズが表示されます。どちらの数値も、GPU にロードした後のテクスチャ メモリを直接測定するものではありません。

設定を 1 つ変更して再度比較してください

元の入力に戻ります。まず圧縮の選択を一致させてから、テクスチャのエンコーディングと精度を確認します。ファイルを増加させた変更を特定できるように、各コマンドをその結果とともに保存します。エンコードの変更を直ちに追加のジオメトリを削除して補正しないでください。

ETC1S、UASTC、WebP を比較します →

制御されたファイルサイズの比較を計画する →

エンジンリファレンス: gltfpack

オプティマイザを開きます ↗