GLBを用意
テクスチャを埋め込んだ、単体で完結するモデルを1つ。さまざまな角度から確認できます。
GLB最適化ツール
3Dモデルを、扱いやすい容量に。
gltfpackで最適化。違いを確かめて、プロジェクトへ。
使い慣れたエンジンを。
もっと手軽な手順で。
品質より目標の三角形数を優先し、誤差上限を無視します。輪郭や細部が目に見えて変わる場合があります。初期設定では無効です。
三角形保持率が100%未満の場合にのみ適用されます。誤差上限が低い場合や境界を固定した場合は、目標の三角形数に達しないことがあります。
量子化を無効にすると、通常はファイルが大きくなります。他の最適化は適用されるため、可逆モードではありません。
低い値ほど精度を抑えて容量を減らしますが、モデルに目立つ歪みが生じる場合があります。初期値は位置14、UV 12、法線8、カラー8ビットです。接線は最大8ビットです。
サンプリングレートが影響するのはアニメーションだけです。低い値にするとファイルサイズが減る場合がありますが、動きが滑らかでなくなることもあります。元のタイミングを保持するには「再サンプリングしない」を選んでください。その他のアニメーション最適化は引き続き適用されます。
KTX2またはWebPへの変換時にテクスチャの縦横寸法を変更します。最大テクスチャサイズも適用されます。縮小すると細部が失われる場合があります。
KTX2にのみ適用されます。UASTCは画質が高い一方、通常はファイルが大幅に大きくなります。
テクスチャ変換時に適用されます。品質値の尺度はコーデックによって異なります。
コマンドで再現可能
モデルを軽く。手順は少なく。
gltfpackによる最適化を、変化を確認しながら。
テクスチャを埋め込んだ、単体で完結するモデルを1つ。さまざまな角度から確認できます。
形状を保つか、三角形を減らすか、テクスチャのコーデックを変えるか。用途に合わせて選べます。
結果と読み込み要件を比較し、プロジェクトに合っていることを確認してダウンロードしてください。
01 / ファイルサイズ
三角形の多いメッシュは、保持率を少し下げてみてください。曲線の縁、薄い部分、穴に変化がないか確認します。それでもファイルが大きい場合、さらに三角形を減らしても効果は小さいかもしれません。次はテクスチャ設定を比較しましょう。
テクスチャサイズを小さくして、近くから比較してください。文字、模様、表面の細部を確認します。拡大して見るモデルは解像度を多めに残し、一定の距離で表示するモデルは小さなテクスチャで足りるか確認しましょう。
サンプリングレートを下げたら、アニメーションを最後まで再生してください。速い動きの飛び、足の滑り、ループのつなぎ目の停止を確認します。問題があればレートを上げて再比較してください。
02 / 設定
ビューアーがMeshoptに対応していれば、「ファイルを小さく」プリセットを試してください。その後、一般的なモバイル回線でスマートフォンから確認します。モデルが表示されるまでの時間や回転の滑らかさも見ましょう。ダウンロード容量だけでは動作性能は判断できません。
「控えめな最適化」から始め、製品ページと同じ照明で確認してください。小さな文字、縁の形状、透明な部分、反射を見ます。見た目の変化の原因を追えるよう、設定は1つずつ変えてください。
アプリケーション内でアニメーション再生、オブジェクト選択、マテリアル切り替えを試してください。コードがノード名やextrasを使う場合は、保持設定を有効にしたまま、最適化後も参照が機能するか確認します。
03 / 確認
元のモデルと最適化後のモデルを同じ角度・距離で比較し、何か所か拡大して確認してください。元のファイルを残し、試すたびにそれを使うことで、最適化を繰り返すことによる変化の蓄積を避けられます。
誤差上限やメッシュの制約により、最終的な三角形数が目標を上回る場合があります。結果の説明を読んでから誤差上限を上げるか積極的な簡略化を有効にし、変更後は形状を再確認してください。
コマンドの下に表示される出力ファイルの拡張機能を確認してください。ビューアーは、出力に使われているMeshopt、KTX2またはWebPに対応している必要があります。元のファイルを置き換える前に、使用先のビューアーで読み込み、マテリアル、アニメーションを試してください。
仕組みを知ると、調整しやすい
初回のアップロードから再現可能なコマンドまで、手順を紹介します。
02 / 互換性を確認Meshopt、KTX2、WebPと、使用先のビューアーに必要な対応。
03 / 問題を解決入力の拒否、ファイルの増大、テクスチャの欠落、結果の期限切れ。
GLBが大きい原因をジオメトリとテクスチャから切り分け、実測結果を比較して、最初に変える設定を選びます。
保持率、誤差上限、境界固定でGLBの三角形数を削減。実測サンプルで通常の簡略化と積極的な簡略化を比較します。
GLBテクスチャにKTX2かWebPを選び、寸法と品質を調整。同じ生成テクスチャでETC1S、UASTC、WebPを比較します。
GLTFLoader、MeshoptDecoder、KTX2LoaderでMeshopt圧縮GLBとKTX2テクスチャをThree.jsに読み込みます。npmの例と読み込み時の確認事項を掲載。
CesiumManの実測結果:Meshopt圧縮、15 FPSアニメーション、三角形50%保持を、コマンドと対応するレンダリング画像で比較します。
最適化後にGLBが大きくなる原因を調べます。圧縮の解除、UASTCテクスチャ、精度設定、小さなファイルの付加データを確認します。
* 三角形数は各メッシュプリミティブを1回ずつ合計し、シーン内の繰り返しインスタンスは含みません。簡略化しなくても、メッシュの結合でこの数が変わる場合があります。
結果が大きくなる場合があります。ノード、アニメーションのサンプリング、精度が変わるほか、独自の拡張機能や属性が削除される場合があります。Draco入力は未対応です。プレビューできても、すべてのアプリケーションとの互換性は保証されません。処理時間上限:120秒。