MENU

GLTFとは?3Dコンテンツ制作の基本データフォーマットについて解説

こんにちは、もしくはこんばんは。シロです!

まわすぶろぐでも紹介しているmodel-viewerGLTFのみを公式サポートしています。

3Dモデルをあつかっていると、FBXSTLOBJといったファイル形式を使うことはこれまでもあったかもしれませんが、GLTFというファイル形式は初めて目にするかたも多いのではないでしょうか?

そこで、今回はGLTFについて、そのほかの3Dデータフォーマットとの違いも含めて解説します。

目次

GLTFの概要

GLTFとは、3Dモデルのフォーマットの1つであり、Web上での3Dコンテンツの共有や表示に広く使われています。

WebGLで読み込みやすいように最適化されており、WebGLを使用することで、高速かつ効率的に3Dモデルをレンダリングすることができます。

GLTFは、Khronos Groupが策定したオープンスタンダードの1つであり、JSON形式またはバイナリ形式で表現されます。

「3DにおけるJPEG」と言われることもあり、3Dモデルデータの標準規格としても今後扱われていくでしょう。

3Dモデルの軽量化や一元管理を実現するために最適化されたフォーマットであり、3Dモデル、マテリアル、テクスチャ、アニメーションなどの情報を1つのファイルにまとめることができます。

また、拡張機能の追加により、より高度な3Dエフェクトを実現することもできます。

GLTFの特徴

GLTFは、以下のような特徴を持っています。

  1. 軽量化されたフォーマット
    • GLTFは、3Dモデルのフォーマットとして必要な情報だけを含みます。
    • そのため、ファイルサイズを削減することができます。
    • これにより、Web上での3Dコンテンツ表示の速度や品質が向上し、ユーザー体験を改善することができます。
  2. 一元管理が容易
    • GLTFは、3Dモデル、マテリアル、テクスチャ、アニメーションなどの情報を1つのファイルにまとめることができます。
    • これにより、管理が容易になります。
  3. 拡張性
    • GLTFは、拡張機能を追加することができます。
    • これにより、より高度な3Dエフェクトを実現することができます。
  4. バイナリ形式のサポート
    • GLTFは、JSON形式だけでなく、バイナリ形式でも表現できます。
    • バイナリ形式では、データを圧縮して保存できるため、ファイルサイズをより小さくすることができます。

GLTFとその他の3Dデータフォーマットの違い

ファイル形式拡張子用途テクスチャの取り扱いアニメーションファイルサイズ
FBX.fbx3Dモデリング・アニメーション外部テクスチャファイルを参照する複雑なアニメーションに対応可能大きめ
STL.stl3Dプリンターテクスチャ非対応静止画像のみ小さめ
OBJ.obj3Dモデリング・3Dプリンター外部テクスチャファイルを参照する静止画像のみ中くらい
GLTF.gltf / .glbWeb上の3Dコンテンツ表示1ファイル内にテクスチャを含む簡単なアニメーションに対応可能小さめ

以上の表から、それぞれのファイル形式が、どのような用途に向いているかが分かるかと思います。

例えば、3Dプリンターでの使用を目的とする場合は、STLファイルが適しています。

一方、Web上での3Dコンテンツ表示を行いたい場合は、GLTFファイルが適しています。

また、アニメーションを多用する場合は、FBXファイルが適しています。

.gltfと.glbの違いは?

.gltfファイル.glbファイルは、両方ともGLTF(GL Transmission Format)形式でエクスポートされた3Dモデルを表すファイル形式ですが、いくつかの重要な違いがあります。

.gltfファイル

3Dメッシュ、マテリアル、テクスチャ、アニメーションなどの3DコンテンツのデータをJSON形式で表現します。

つまり、.gltfファイルは、テキスト形式で書かれたファイルで、バイナリデータを含みません。

このため、.gltfファイルは、複数の外部ファイル(.bin、.jpg、.pngなど)を必要とし、ファイル数が多くなることがあります。

ちなみに、Blenderでは「glTF Embedded(.gltf)」というファイル形式を選択でき、こちらは1つの.gltfファイルに外部ファイルもすべて含めて出力できます。

MIMEタイプはmodel/gltf+jsonです

.glbファイル

3Dコンテンツのデータを1つのバイナリファイルに格納することができます。

すべての3Dコンテンツのデータが単一のファイルに含まれているため、.glbファイルは、ファイル数が少なく、Web上での高速な読み込みや描画が可能です。

また、.glbファイルには、.gltfファイルには含まれないバイナリデータを含めることもできます。

これには、3Dモデルのジオメトリ、テクスチャ、シェーダーコードなどが含まれます。このため、.glbファイルは、3Dコンテンツの転送に最適な形式とされています。

MIMEタイプはmodel/gltf-binaryです

.gltfファイルは、複数のファイルに分割されたテキスト形式で表現される3Dモデルであり、.glbファイルは、1つのバイナリファイルにすべてのデータが格納された3Dモデルです。
どちらの形式を選択するかは、Web上での表示や転送に関する要件に応じて決定する必要があります。

3Dデータフォーマットのサイズの違い

下の図はまわすぶろぐのマスコットキャラクター「シロ」の3Dモデルを同じ条件で出力した際のサイズの違いです。
(Blender3.3.0を使用)

blend, fbx, glb, gltf, obj+mtl, stl のサイズの違い
gltf+bin

.glbファイルが1MByteきっていますね!
Web上での表示に最適というのもわかります。

まとめ

この記事では、Webページに3Dコンテンルを表示するために使いやすいデータフォーマットであるGLTFについて解説しました。

glTFは、オープンで拡張性の高い3Dファイルフォーマットであり、Web上での3Dコンテンツの表現に適しています。

glTFを使用することで、高品質で軽量な3Dモデルを作成し、Web上でシームレスな3D体験を提供することができます。

また、glTFは、多くの3Dモデリングソフトウェアとエンジンでサポートされており、幅広い用途に利用することができます。Web上での3D表現に興味のある方は、glTFを使った3Dコンテンツの作成に挑戦してみることをおすすめします。

以上、「3Dコンテンツ制作の基本データフォーマットについて解説」についての紹介でした。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

目次