まず試してみる
gltfpackでGLBを最適化する方法
控えめな最適化から始め、設定を1つずつ変えてください。比較したりやり直したりできるよう、元のモデルを残しましょう。
1. 単体で完結するモデルを用意
ジオメトリとテクスチャを埋め込んだ、最大50 MBのGLBを1つ選んでください。分かれた.gltf、.bin、画像ファイルは受け付けません。ファイルを選ぶとブラウザー内でローカルプレビューが開きます。サーバーでの処理は「モデルを最適化」を押したときに始まります。
2. 最初の設定を選ぶ
「控えめな最適化」は元のテクスチャ形式を保持し、三角形の削減やMeshopt圧縮を指定しません。「ファイルを小さく」はMeshoptの高圧縮を追加します。どちらもデフォルトで名前付きノード、名前付きマテリアル、extrasを保持しますが、可逆の最適化ではありません。
現在の「控えめな最適化」に相当するローカルコマンドは次のとおりです:
gltfpack -i input.glb -o output.glb -kn -km -ke「ファイルを小さく」は-ccを追加します。このサービスと同じ出力を再現するには、対応するネイティブ版gltfpack 1.3のバイナリを使用してください。
3. 容量への影響が大きい部分を調整
ジオメトリが大きいファイルは、三角形の目標値を少しずつ下げ、輪郭や薄い部分を確認します。目標値は簡略化の目安であり、最終数を指定するものではありません。テクスチャが大きいファイルは、KTX2かWebPを選んで品質と最大寸法を調整します。寸法の縮小は、ジオメトリ変更より見た目に大きく影響することがあります。
圧縮を有効にしたりテクスチャ形式を変更したりする前に、使用先のビューアーが対応しているか確認してください。
ジオメトリの精度を調整
「詳細設定」では、位置、テクスチャ座標、法線、頂点カラーに1~16ビットを指定できます。値を大きくすると細部の精度を保ちやすくなりますが、ファイルサイズが増える場合があります。まずはデフォルト値で試し、シルエット、UVの継ぎ目、陰影を確認してください。「ジオメトリの量子化を無効にする」を選ぶと-noqが追加され、これらのビット数設定は使われなくなります。簡略化、テクスチャ変換、その他の最適化は引き続き適用されます。
アニメーションのサンプリングレート
サンプリングレートが影響するのはアニメーションだけです。低い値にするとファイルサイズが減る場合がありますが、動きが滑らかでなくなることもあります。元のタイミングを保持するには「再サンプリングしない」を選んでください。その他のアニメーション最適化は引き続き適用されます。
4. 比較してダウンロード
「元のモデル」と「最適化後」を切り替え、複数の角度からモデルを見て、容量と三角形数を確認します。三角形数はシーンの全インスタンスではなく、各メッシュプリミティブを1回ずつ合計します。使用先のビューアーでアニメーション、マテリアル、アプリケーションの動作も試してください。
アップロードから60分後の期限までにダウンロードしてください。結果パネルには、指定した設定と同じ処理を行うコマンドがあります。出力が大きくても正常な結果の場合があります。別の設定を試すか、元のファイルを使ってください。
ローカルエンジンを使う場面
このサービスの上限を超えるアセット、この画面にないオプションが必要なアセット、端末の外に出せないアセットには、ローカルでgltfpackを実行してください。このサイトでは単一のGLBを扱いますが、ネイティブ版gltfpackはより多くの入力形式に対応しています。 インストール方法と全オプション:gltfpack公式ドキュメント
アニメーション付きGLBの最適化:CesiumManの事例 →
最適化ツールを開く ↗