GLB最適化ツール

モデルは軽く。
アイデアはそのまま。

3Dモデルを、扱いやすい容量に。
gltfpackで最適化。違いを確かめて、プロジェクトへ。

↘

使い慣れたエンジンを。
もっと手軽な手順で。

インストールも登録も不要。
エンジンに接続中…

モデルの軽量化を、ここから。

作業エリアにGLBをドロップ

.glb 1ファイル · 最大50 MB · リソースの埋め込み必須

◇
モデル未選択次の軽量アセットへ
ファイルサイズ—元のモデル → 最適化後
三角形数—重複インスタンスを除いたメッシュ形状*
サイズの変化—最適化を実行すると比較できます
詳細設定

簡略化の制約

品質より目標の三角形数を優先し、誤差上限を無視します。輪郭や細部が目に見えて変わる場合があります。初期設定では無効です。

三角形保持率が100%未満の場合にのみ適用されます。誤差上限が低い場合や境界を固定した場合は、目標の三角形数に達しないことがあります。

ジオメトリの精度

量子化を無効にすると、通常はファイルが大きくなります。他の最適化は適用されるため、可逆モードではありません。

低い値ほど精度を抑えて容量を減らしますが、モデルに目立つ歪みが生じる場合があります。初期値は位置14、UV 12、法線8、カラー8ビットです。接線は最大8ビットです。

テクスチャとアニメーション

サンプリングレートが影響するのはアニメーションだけです。低い値にするとファイルサイズが減る場合がありますが、動きが滑らかでなくなることもあります。元のタイミングを保持するには「再サンプリングしない」を選んでください。その他のアニメーション最適化は引き続き適用されます。

KTX2またはWebPへの変換時にテクスチャの縦横寸法を変更します。最大テクスチャサイズも適用されます。縮小すると細部が失われる場合があります。

KTX2にのみ適用されます。UASTCは画質が高い一方、通常はファイルが大幅に大きくなります。

テクスチャ変換時に適用されます。品質値の尺度はコーデックによって異なります。

モデルを軽く。手順は少なく。

大きなファイルを、使えるモデルに。

gltfpackによる最適化を、変化を確認しながら。

01 /

GLBを用意

テクスチャを埋め込んだ、単体で完結するモデルを1つ。さまざまな角度から確認できます。

02 /

ちょうどよいバランスを探す

形状を保つか、三角形を減らすか、テクスチャのコーデックを変えるか。用途に合わせて選べます。

03 /

確認してから使う

結果と読み込み要件を比較し、プロジェクトに合っていることを確認してダウンロードしてください。

01 / ファイルサイズ

どこから調整するか

ジオメトリ

三角形の多いメッシュは、保持率を少し下げてみてください。曲線の縁、薄い部分、穴に変化がないか確認します。それでもファイルが大きい場合、さらに三角形を減らしても効果は小さいかもしれません。次はテクスチャ設定を比較しましょう。

テクスチャ

テクスチャサイズを小さくして、近くから比較してください。文字、模様、表面の細部を確認します。拡大して見るモデルは解像度を多めに残し、一定の距離で表示するモデルは小さなテクスチャで足りるか確認しましょう。

アニメーション

サンプリングレートを下げたら、アニメーションを最後まで再生してください。速い動きの飛び、足の滑り、ループのつなぎ目の停止を確認します。問題があればレートを上げて再比較してください。

02 / 設定

用途に合わせた設定

ウェブページとモバイル端末

ビューアーがMeshoptに対応していれば、「ファイルを小さく」プリセットを試してください。その後、一般的なモバイル回線でスマートフォンから確認します。モデルが表示されるまでの時間や回転の滑らかさも見ましょう。ダウンロード容量だけでは動作性能は判断できません。

製品の展示

「控えめな最適化」から始め、製品ページと同じ照明で確認してください。小さな文字、縁の形状、透明な部分、反射を見ます。見た目の変化の原因を追えるよう、設定は1つずつ変えてください。

アニメーション・インタラクティブモデル

アプリケーション内でアニメーション再生、オブジェクト選択、マテリアル切り替えを試してください。コードがノード名やextrasを使う場合は、保持設定を有効にしたまま、最適化後も参照が機能するか確認します。

03 / 確認

最適化済みファイルを使う前に

見た目を比較

元のモデルと最適化後のモデルを同じ角度・距離で比較し、何か所か拡大して確認してください。元のファイルを残し、試すたびにそれを使うことで、最適化を繰り返すことによる変化の蓄積を避けられます。

三角形数を確認

誤差上限やメッシュの制約により、最終的な三角形数が目標を上回る場合があります。結果の説明を読んでから誤差上限を上げるか積極的な簡略化を有効にし、変更後は形状を再確認してください。

使用先のビューアーで試す

コマンドの下に表示される出力ファイルの拡張機能を確認してください。ビューアーは、出力に使われているMeshopt、KTX2またはWebPに対応している必要があります。元のファイルを置き換える前に、使用先のビューアーで読み込み、マテリアル、アニメーションを試してください。

仕組みを知ると、調整しやすい

モデルをもっと使いやすく。

01 / はじめに

最初の設定を選ぶ ↗

初回のアップロードから再現可能なコマンドまで、手順を紹介します。

02 / 互換性を確認

読み込めることを確かめる ↗

Meshopt、KTX2、WebPと、使用先のビューアーに必要な対応。

03 / 問題を解決

次に試すことを探す ↗

入力の拒否、ファイルの増大、テクスチャの欠落、結果の期限切れ。

GLBのファイルサイズを小さくする方法 ↗

GLBが大きい原因をジオメトリとテクスチャから切り分け、実測結果を比較して、最初に変える設定を選びます。

gltfpackでGLBのポリゴンを削減する ↗

保持率、誤差上限、境界固定でGLBの三角形数を削減。実測サンプルで通常の簡略化と積極的な簡略化を比較します。

GLBのテクスチャ圧縮:KTX2とWebP ↗

GLBテクスチャにKTX2かWebPを選び、寸法と品質を調整。同じ生成テクスチャでETC1S、UASTC、WebPを比較します。

Three.jsでgltfpackモデルを読み込む ↗

GLTFLoader、MeshoptDecoder、KTX2LoaderでMeshopt圧縮GLBとKTX2テクスチャをThree.jsに読み込みます。npmの例と読み込み時の確認事項を掲載。

アニメーション付きGLBの最適化:CesiumManの事例 ↗

CesiumManの実測結果:Meshopt圧縮、15 FPSアニメーション、三角形50%保持を、コマンドと対応するレンダリング画像で比較します。

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

最適化後にGLBが大きくなる原因を調べます。圧縮の解除、UASTCテクスチャ、精度設定、小さなファイルの付加データを確認します。

* 三角形数は各メッシュプリミティブを1回ずつ合計し、シーン内の繰り返しインスタンスは含みません。簡略化しなくても、メッシュの結合でこの数が変わる場合があります。

結果が大きくなる場合があります。ノード、アニメーションのサンプリング、精度が変わるほか、独自の拡張機能や属性が削除される場合があります。Draco入力は未対応です。プレビューできても、すべてのアプリケーションとの互換性は保証されません。処理時間上限:120秒。