GLBを軽くするには、①テクスチャ(表面に貼る画像)の解像度を下げる、②ポリゴン(面)の数を減らす、③形のデータをDracoかmeshoptで圧縮する、の順に試します。Dracoなどの圧縮が縮めるのは形のデータだけで画像は縮めないため、色や凹凸を画像で持つキャラクターのGLBでは、①を飛ばすと思ったほど軽くならないことがあります。
この記事では、GLBの中で何が容量を占めているかの見分け方、3つの手段それぞれのやり方と見た目への影響、Figmeeで作ったGLBを軽くする手順、置き先ごとにどこまで減らしてよいかを順に整理します。ツールの機能は、2026年11月時点の公式のドキュメント(Blender 5.2 LTSのマニュアル、glTF-Transform、gltfpack、model-viewer)で確かめた内容です。
※現在のFigmeeが提供しているのは、描いたイラストから作るフィギュア風画像、3Dモデルデータ(GLB / 3MF)、3Dモデルの回転動画です。実物の3Dプリント注文は準備中(Coming Soon)です。また、写真や写真のように見える画像は3Dにできません(描いた絵が対象です)。
GLBはなぜ重い?
GLBの重さは、主に「テクスチャ(画像)」と「メッシュ(形のデータ)」の2つで決まります。色・凹凸・質感を画像で持つキャラクターのモデルでは、画像が大きな割合を占めることがあるので、まず内訳を見てから手段を選びます。
GLBは、形・色・質感を1つのファイルにまとめたglTFのバイナリ版です(中身と開き方はGLBファイルとはで説明しています)。容量に関わるのは次の3つで、そのうち大きいのは初めの2つです。
- メッシュ:頂点の位置、法線(面の向き)、UV(画像を貼る位置)など。ポリゴンが多いほど増えます。面の数と重さの関係はポリゴン数とはで解説しています。
- テクスチャ:色(ベースカラー)、凹凸(ノーマルマップ)、金属感・ざらつきなどの画像。縦横の解像度が2倍になると、画素の数は4倍になります。
- マテリアルや配置の情報:材質の設定やモデルの位置は文字の情報で、ふつうは小さな割合です。アニメーションを持つGLBでは、その分も増えます。
内訳を数字で見るなら、glTF-Transformのinspectが手早い方法です。シーン・メッシュ・マテリアル・テクスチャ・アニメーションの表を出し、ファイルのうち形と画像がそれぞれどれだけを占めるかをつかむのに使えると説明されています(出典: glTF-Transform CLIのソース(inspectの説明)、2026年11月時点)。Node.jsの入ったパソコンで、次のように使います。
npm install --global @gltf-transform/cli
gltf-transform inspect model.glb
インストールのコマンドはglTF-Transformの公式ページのとおりです。コマンドを使わない場合は、Blenderでビューポートの統計(Statistics)を表示して三角形の数を、画像エディターで各テクスチャの解像度を確かめます。
もう1つ、ファイルの大きさとは別に、表示するときのメモリも見ておきます。glTF-Transformの説明には、PNG・JPEG・WebPの画像はGPUのメモリの上では圧縮をほどいた形で持つ必要がある、とあります。たとえば縦横4096画素の画像は、1画素4バイトとして計算すると約67MBになり、ファイルとしては数MBでも、スマートフォンでは表示が重くなる原因になります。
3つの手段の違いをまとめると、次のとおりです。
| 手段 | 小さくなるもの | 見た目への影響 | 主な道具 |
|---|---|---|---|
| テクスチャの解像度を下げる | 画像(ファイルと、表示するときのメモリ) | 寄ったときに細部がぼやける | Blenderの画像エディター、glTF-Transformのresize |
| ポリゴンを減らす | 形のデータ | 輪郭が角ばり、細い部分から崩れる | BlenderのDecimate、glTF-Transformのsimplify、gltfpackの-si |
| 圧縮する(Draco・meshopt) | 形のデータ | ほとんど変わらない | Blenderの書き出し、glTF-Transformのdraco・meshopt、gltfpackの-c |
圧縮したGLBを読むには、読み込む側にデコーダー(圧縮をほどく仕組み)が要ります(詳しくは下の「圧縮(Draco・meshopt)はいつ使う?」)。
まずテクスチャを縮めるべき理由は?
DracoやmeshoptはGLBの形のデータを縮める圧縮で、画像は縮めません。画像が容量の多くを占めるGLBでは、テクスチャの解像度を下げるのがいちばん効き、しかも形は崩れません。
glTF-Transformの説明でも、Dracoは形のデータだけに効き、アニメーションとテクスチャは圧縮しないとされています(出典: glTF-Transform CLIのソース(dracoの説明)、2026年11月時点)。テクスチャを軽くする方法は3つあります。
- 解像度を下げる:縦横を半分にすると、画素の数は4分の1になります。Blenderでは画像エディターの「画像 > リサイズ(Image > Resize)」で、新しい幅と高さを画素数で指定できます(出典: Blender 5.2 LTSマニュアル「Editing Images」、2026年11月時点)。glTF-Transformの
resizeは、PNGとJPEGのテクスチャを--widthと--heightで指定した最大の大きさに収めます。 - 形式と画質を見直す:Blenderのマニュアルは、glTFでは画像がPNGかJPEGである必要があり、PNGは劣化しないので一般に向くが、Webの用途ではファイルが小さいJPEGが向く場合がある、と説明しています。Blenderの書き出しでは画像の形式(Images)と、JPEG・WebPのときの画質(Image Quality)を選べます(出典: Blender 5.2 LTSマニュアル「glTF 2.0」、2026年11月時点)。
- GPU向けの形式(KTX2)にする:model-viewerのFAQは、KTX2はファイルの大きさこそJPEGと大差ないものの、GPUのメモリの使用量を大きく減らすと説明しています(出典: model-viewer FAQ「What is KTX2?」、2026年11月時点)。glTF-Transformの
etc1s・uastc、gltfpackの-tcで作れますが、読み込む側がKHR_texture_basisuという拡張に対応している必要があります。
テクスチャを触るときの注意が2つあります。
- 凹凸の画像(ノーマルマップ)はJPEGにしない方が安全です。JPEGのにじみで陰影が崩れることがあるためで、Figmeeも凹凸の画像はPNGのままにしています。glTF-Transformの公式の例でも、画像を変換するときにノーマルマップ(
normalTexture)を対象から外す書き方が示されています(出典: glTF-Transform「textureCompress」、2026年11月時点)。 - WebPは読めないソフトがあります。WebPはglTFの標準の形式ではなく、
EXT_texture_webpという拡張で使う形式です(出典: Khronos「EXT_texture_webp」、2026年11月時点)。Figmeeも以前はGLBのテクスチャにWebPを使っていましたが、WebPを読めないソフトがあるため、2026年10月25日以降に作るGLBは色をJPEG・凹凸をPNGにしています。WebPを選ぶのは、置き先のビューアが対応していると確かめたときだけにすると、渡した先で困りません。
ポリゴンを減らすには?
ポリゴンを減らすには、BlenderのDecimate(デシメート)モディファイアー、glTF-Transformのsimplify、gltfpackの-siのどれかを使います。減らすほど輪郭が角ばり、髪の先や指のような細い部分から崩れるので、実際に表示する大きさで見ながら少しずつ下げます。
Blenderで減らす手順は次のとおりです(目安10〜20分)。
- デシメートを追加する(1分):モデルを選び、モディファイアーの追加から「生成 > デシメート」を選びます。
- 方式を選ぶ(1分):方式は3つあります。Collapseは形を考えながら頂点を少しずつまとめ、Un-Subdivideは細分化の逆で格子状の面に向き、Planarは平らな面の多い形の細部を減らします(出典: Blender 5.2 LTSマニュアル「Decimate Modifier」、2026年11月時点)。AIで作ったモデルのように細かい三角形が並んだメッシュには、Collapseが合うことが多いです。
- Ratioを下げる(5〜15分):Ratioは減らしたあとに残す面の割合で、1.0なら変わらず、0.5ならおよそ半分が残ります。モディファイアーに表示される面の数と見た目を見比べ、左右対称のキャラクターならSymmetry(1つの軸で対称を保つ)も試します。
- テクスチャを表示して確かめる(2分):減らすと、UVの境目で色がずれることがあります。マテリアルプレビューにして、顔・髪の先・手を寄って見ます。
- 適用する(数秒):納得したら、モディファイアーを適用します。
コマンドで減らすなら、glTF-Transformのsimplifyはmeshoptimizerを使って三角形と頂点を減らし、目標の割合(ratio)に近づけながら、誤差(error)の上限を超えたところで止まります。公式の説明は、先にweld(同じ位置の頂点をまとめる)をかけてから使うと結果がよくなるとしています(出典: glTF-Transform「simplify」、2026年11月時点)。gltfpackでは-si 0.5のように、残す三角形の割合を0〜1で指定します(出典: gltfpackのREADME、2026年11月時点)。
面を作り直すリメッシュは、UVが失われて色が外れるので、軽くする目的ならデシメートを使います。リメッシュとの違いはBlenderのリメッシュとテクスチャ編集の基本、ポリゴンの多い・少ないの考え方はローポリとハイポリの違いにまとめています。
圧縮(Draco・meshopt)はいつ使う?
DracoとmeshoptはGLBの形のデータを小さくする圧縮で、置き先が決まってから最後にかけます。読み込む側が対応していれば見た目をほとんど変えずに容量を減らせますが、対応していないソフトでは開けなくなるためです。
| 圧縮 | 縮めるもの | 読み込む側に必要なもの | 主な道具 |
|---|---|---|---|
Draco(KHR_draco_mesh_compression) | 三角形のメッシュ | Dracoのデコーダー。model-viewerは既定でGoogleのCDNから読み込む | Blenderの書き出し、glTF-Transformのdraco |
meshopt(EXT_meshopt_compression) | メッシュ・モーフ・アニメーション | meshoptのデコーダー。model-viewerでは既定で無効 | Blenderの書き出し、glTF-Transformのmeshopt、gltfpackの-c |
表の出典は次のとおりです(いずれも2026年11月時点)。Blender 5.2 LTSのglTFの書き出しには、Dracoの圧縮(Data - Draco Compression。圧縮の強さと、位置・法線・UVなどの量子化の設定)と、meshoptの圧縮(Data - Meshopt Compression)の項目があります(Blender 5.2 LTSマニュアル「glTF 2.0」)。model-viewerは、Dracoのデコーダーを既定でGoogleのCDNから読み込み、meshoptのデコーダーは既定では有効になっていません(model-viewerのドキュメント)。gltfpackのREADMEは、-cで圧縮したファイルを読むには、読み込む側がEXT_meshopt_compressionに対応している必要があるとし、three.jsはr122以降でGLTFLoader.setMeshoptDecoderを呼ぶ必要がある、と書いています(gltfpackのREADME)。
どちらを選ぶかは、置き先で決めます。
- model-viewerで自分のサイトに置く:設定なしで読めるDracoが手軽です。
- three.jsなどで自分でページを作る:使うローダーにデコーダーを設定できるなら、どちらでも使えます。
- 人に渡す・ほかのソフトで編集する:圧縮しない方が無難です。相手のソフトがデコーダーを持っているとは限りません。
glTF-Transformには、まとめて処理するoptimizeもあります。公式の例は--compress draco --texture-compress webpを付けた形ですが、ソースを見ると、何も付けないときの既定は、形の簡略化(--simplify)がオン、圧縮はmeshopt、テクスチャは2048画素までに収める、となっています(出典: glTF-Transform CLIのソース、2026年11月時点)。形を変えたくないなら--simplify falseを、model-viewerに置くなら--compress dracoを付けるなど、既定を確かめてから使います。
Figmeeで作ったGLBを軽くする手順は?
FigmeeのGLBは形と色を1つのファイルにまとめたもので、2026年10月25日以降に作ったものは、テクスチャの色がJPEG・凹凸がPNGです。色はすでにJPEGなので、残る手段は「解像度を下げる」「ポリゴンを減らす」「圧縮する」の3つです。面の数や画像の解像度は作品によって違うので、数字は自分のファイルで確かめてから減らす量を決めます。
- GLBを保存する(1分):作品の画面の「保存」から「3Dモデル(GLB)」を選びます。保存に追加のトークンはかかりません。保存したファイルは消さずに残し、コピーで作業します。
- Blenderに読み込んで内訳を見る(5分):「ファイル > インポート > glTF 2.0」で読み込み、統計で三角形の数を、画像エディターで色と凹凸の画像の解像度を見ます。読み込みの詳しい手順はFigmeeのGLBをBlenderに読み込む手順にまとめています。
- テクスチャを縮める(5〜10分):色と凹凸の画像を、置き先に合わせた大きさ(たとえば縦横半分)にリサイズします。凹凸の画像はPNGのままにします。
- ポリゴンを減らす(10〜20分):デシメートのRatioを少しずつ下げ、顔・髪の先・手を、使う大きさで見て崩れないところで止めます。
- 書き出して比べる(5分):「ファイル > エクスポート > glTF 2.0」でGLBとして書き出し、置き先が対応していればDracoの圧縮をオンにします。書き出したファイルが元より小さくなったか、置き先のビューアで色と形が崩れていないかを確かめます。
コマンドで同じことをするなら、次の順になります。数値は例で、元の解像度より小さい値を選びます。2026年10月25日より前に作ったGLBは色の画像がWebPなので、resizeでは色の画像が縮みません(resizeが縮めるのはPNGとJPEGだけです)。その場合はBlenderの手順を使います。
gltf-transform resize character.glb step1.glb --width 1024 --height 1024
gltf-transform weld step1.glb step2.glb
gltf-transform simplify step2.glb step3.glb --ratio 0.5
gltf-transform draco step3.glb character-small.glb
Figmeeの中で見せるだけなら、軽くする必要はありません。共有リンクのページではFigmeeのビューアで3Dモデルを回して見られます(公開のしかたは3Dモデルをネットで公開する方法)。軽くする手間が要るのは、自分のサイトやゲームに持ち出すときです。まだ3Dモデルが無い場合、Figmeeでは描いた絵1枚からフィギュア風画像を経て3Dモデルを作れます(3Dモデルは5トークン、アカウントにつき最初の1体は無料)。どんな絵が3Dに向くかはイラストを3D化する方法の全体ガイドで整理しています。
どこまで減らしてよい?
数字ではなく見た目で決めます。実際に置くページや画面と同じ大きさで表示し、顔・髪の先・手に崩れが見えたら、1つ前の設定に戻すのが目安です。置き先ごとの考え方は次のとおりです。
| 置き先 | 気にすること | 減らし方の目安 |
|---|---|---|
| 自分のWebサイト(model-viewerなど) | 読み込みの待ち時間、スマートフォンのメモリ | テクスチャを先に縮め、最後にDracoをかける |
| ゲームエンジン | 同じ画面に出す数、動作の重さ | 1体を大きく映すのか、何体も並べるのかで決める。元のGLBも残す |
| 人に渡す・メッセージで送る | 送り先の容量の上限、相手のソフト | 上限はサービスごとに違うので送り先の案内を確かめる。圧縮はしない方が無難 |
| 3Dプリント | 細部の形 | 軽くしない。GLBではなく3MFを使う(Figmeeの実物の3Dプリント注文は準備中・Coming Soon) |
スマートフォンでのAR表示については、GoogleがAndroidのScene Viewer向けに推奨値を公開しています。ファイルは10MBまで、三角形は10万枚まで(理想は3万〜5万枚)、テクスチャの解像度は2048×2048までです(出典: Google ARCore「Scene Viewer」、2026年11月時点)。特定の表示環境に向けた数字なので、どの置き先でも正解というわけではありませんが、Webに置くときの物差しになります。同じページの要件に挙がっている拡張は限られていて、DracoやKTX2は挙がっていないため、AR表示に使うGLBは圧縮しない版で確かめます。
反対に、減らしすぎない方がよい場合もあります。ポートフォリオで顔のアップまで見せたい作品や、細い飾りが見どころのキャラクターは、テクスチャとポリゴンを控えめに減らし、読み込みの待ち時間はポスター画像(読み込むまでに出す画像)で補う方が、見る人の印象を損ねにくいと考えられます。
よくある質問
GLBを軽くすると画質は落ちますか?
テクスチャの解像度とポリゴンを減らすと、寄ったときの細部は落ちます。DracoやmeshoptはGLBの形のデータの持ち方を変える圧縮で、見た目の変化は小さいことが多いですが、読み込む側にデコーダーが要ります。使う大きさで見て、違いが分からないところまで減らすのが目安です。
Dracoで圧縮したGLBが、ほかのソフトで開けません。
Dracoで圧縮したGLBを読むには、ソフトやビューアがDracoのデコーダーを持っている必要があります。model-viewerは既定でデコーダーを読み込みますが、対応していないソフトでは開けません。圧縮する前のGLBを残しておき、そのソフトには圧縮していない版を渡します。
FigmeeのGLBは、そのままWebサイトに置けますか?
置けます。2026年10月25日以降に作ったGLBは、色のテクスチャがJPEG、凹凸のテクスチャがPNGという標準の形式なので、glTFに対応したビューアで読めます。読み込みが遅いと感じたら、この記事の順でテクスチャ、ポリゴン、圧縮と軽くします。ページへの埋め込み方はGLBをWebサイトに埋め込む方法にまとめています。
まとめ
GLBを軽くするときは、まずinspectやBlenderで、形と画像のどちらが容量を占めているかを見ます。そのうえで、テクスチャの解像度を下げる、ポリゴンを減らす、置き先に合わせてDracoかmeshoptで圧縮する、の順に進めます。凹凸の画像はJPEGにせず、WebPは置き先が対応しているときだけにし、圧縮する前のGLBは必ず残します。どこまで減らすかは、実際に置く大きさで見て崩れが出る手前までです。
自分のキャラクターの3Dで試したいときは、Figmeeで描いた絵から3Dモデルを作り、GLBを保存して、この記事の手順で軽くしてみてください。




