UltKit

GLBをFBXに変換

GLBはWebで3Dモデルをやり取りするための形式で、FBXは多くのゲーム・アニメーション制作環境が読み込む形式です。ここで.glbを変換すると、テクスチャを埋め込んだバイナリFBXが得られ、そのままUnity、Unreal Engine、Mayaに読み込めます。

3Dモデル変換

またはSTL, OBJ, MTL … ファイルをここにドロップ ·

1ファイルあたり最大95 MB· 最大20ファイルまで· 30分後に削除

出力

ファイルは当社のサーバーで処理され、30分後に削除されます。

このツールの使い方

  1. 1

    .glbをアップロード

    GLBファイルを1つ、または最大20個(1ファイルあたり95 MBまで)追加します。.bin やテクスチャが別ファイルになっている .gltf は、先に1つのGLBにまとめてから変換すると扱いやすくなります。

  2. 2

    バイナリFBXとテクスチャ埋め込みのままにする

    変換先はFBX、ファイルエンコードはBinary、テクスチャとマテリアルを保持はオンにすると、画像がFBXに埋め込まれます。モデルが仰向けに寝た状態で読み込まれる場合を除き、上方向の軸は「保持」のままにしてください。

  3. 3

    変換して読み込む

    FBXに変換 →を押し、ファイルをエンジンのアセットフォルダ、またはBlenderの File › Import › FBX にドラッグします。

GLBとFBXの違い:オープンなWeb形式とAutodeskの交換形式

GLBは、Khronos Groupが2017年に公開し、2022年に国際規格ISO/IEC 12113となったglTF 2.0のバイナリ形式です。1つの .glb には、12バイトのヘッダー、シーンを記述するJSON、ジオメトリと画像を収めたバイナリチャンクが入っています。レンダラーで高速に読み込めるよう設計されており、単位はメートル、Y軸が上、マテリアルは物理ベースのメタリック・ラフネスモデルに従うため、three.js、Babylon.js、AndroidのScene Viewerで同じように表示されます。

FBXはKaydara社のモーションキャプチャソフトFiLMBOXのファイル形式として始まり、2006年からAutodeskの所有となっています。独自形式で、主にAutodeskのFBX SDKを通じて仕様が示されていますが、ゲームエンジンやアニメーションツールの標準的な交換形式であり続けています。UnityのモデルインポーターはFBXをネイティブで読み込み、Unreal Engineのインポートオプションもこれを前提に作られています。Mayaや3ds Maxでは、リグ付きキャラクターをスタジオ間で受け渡すために使われます。

GLBからFBXへの変換で保持されるもの

glTFの機能とFBXでの結果
GLB側FBX側読み込み後の確認
メッシュ、UV、法線そのまま保持特になし
ノード階層と名前保持ピボット位置
スケルトンとスキンウェイトボーンとスキンクラスターエンジン側のリグタイプ
アニメーションクリップ、モーフターゲットアニメーションテイク、ブレンドシェイプクリップ名と長さ
ベースカラー、ノーマル、エミッシブマップFBXマテリアルに埋め込まれたテクスチャテクスチャの割り当て
メタリック・ラフネスの値近似値に変換メタリックとラフネスのマップを再接続
クリアコートや透過などの拡張FBXに相当する機能なしエンジン側で作り直し

FBXをUnity、Unreal Engine、Blenderに読み込む

Unity

  1. 01.fbx をProjectウィンドウのAssetsフォルダにドラッグします。
  2. 02キャラクターの場合はRigタブでHumanoidまたはGenericを選びます。
  3. 03マップを編集するには、MaterialsタブのExtract Texturesを使います。

Unreal Engine

  1. 01コンテンツブラウザでImportをクリックし、.fbx を選びます。
  2. 02リグ付きモデルではImport Animationsにチェックを入れます。
  3. 03サイズが100倍ずれる場合はImport Uniform Scaleを確認します。

Blender

  1. 01File › Import › FBX (.fbx) を使います。
  2. 02Shadingワークスペースを開いてマテリアルを確認します。
  3. 03ボーンの向きがおかしい場合はAutomatic Bone Orientationを使います。

GLBからFBXへの変換後に起こる問題の多くは、ジオメトリではなくマテリアルが原因です。glTFでは、アンビエントオクルージョン、ラフネス、メタリックを1枚の画像のR・G・Bチャンネルにまとめることがよくあります。FBXの従来のマテリアルモデルにはそのまとめたテクスチャを入れる枠がないため、エンジンでは追加の画像として読み込まれ、手動で接続することになります。GLB内にWebPで保存されたテクスチャにも注意が必要です。WebPを読めるFBXインポーターは少ないため、PNGかJPEGにしておく必要があります。違いについてはWebPをJPGに変換する理由と使いどころをご覧ください。

変換先がエンジンではなく、レンダラーや3Dプリンター向けの静的メッシュである場合、FBXは適切でないことがあります。シンプルなメッシュ形式で何が保持されるかはFBXをOBJに変換をご覧ください。iPhoneのAppleのAR Quick Look向けには、同じGLBからGLBをUSDZに変換してください。

GLB

glTF バイナリ(GLB)

GLB は、2017年に Khronos Group が公開した 3D 伝送形式 glTF 2.0 のバイナリ形式です。ジオメトリ、PBR マテリアル、テクスチャ、アニメーションを、高速に読み込めるよう設計された1つのコンパクトなファイルにまとめます。Web 3D、AR ビューアー、Android の Scene Viewer、オンラインのモデルマーケットプレイスで広く使われています。古いデスクトップ向け 3D ツールや CAD プログラムの一部では読み込めません。

圧縮方式
–
透過
–
アニメーション
対応
登場時期
2017 · Khronos Group
GLB 変換

FBX

Filmbox(FBX)

FBX は、Kaydara が自社の Filmbox ソフトウェア用に作った 3D 形式で、2006年からは Autodesk が所有しています。メッシュ、マテリアル、テクスチャ、スケルトン、スキニング、カメラ、ライト、アニメーションを1つのファイルに保存します。Unity、Unreal Engine、Maya、3ds Max、Blender の間でゲームアセットをやり取りする標準的な交換形式です。独自仕様の形式で、エクスポーターや SDK のバージョンによって動作が異なることがあります。

圧縮方式
–
透過
–
アニメーション
対応
登場時期
Kaydara (now Autodesk)
FBX 変換

Webサイトやマーケットプレイス、3Dスキャナーアプリのモデルを、Autodesk形式を中心としたUnity、Unreal Engine、Maya、3ds Maxのワークフローで使うために、GLBをFBXに変換します。

GLBからFBXへの変換に関するよくある質問

FBXに変換した後もGLBのアニメーションは再生できますか?

スケルタルアニメーションもブレンドシェイプ(モーフターゲット)アニメーションも両方の形式に存在するため、GLBに保存されたクリップはFBXにも引き継げます。読み込み後は、エンジンのアニメーションプレビューで各クリップを確認してください。GLBに複数のクリップがある場合、インポーターによっては分割や名前の変更が行われることがあります。

変換後、Unityでマテリアルが灰色やプラスチックのように見えるのはなぜですか?

glTFのマテリアルはメタリックとラフネスの値を使い、多くは1枚のテクスチャにまとめられています。一方、FBXのマテリアルはディフューズとスペキュラを前提に設計されています。ベースカラーとノーマルマップは通常そのまま反映されますが、メタリックとラフネスはエンジンのマテリアルエディタで接続し直す必要がある場合があります。

Blenderで使うにはGLBをFBXに変換する必要がありますか?

開くだけなら不要です。Blenderはバージョン2.80以降glTF 2.0インポーターを搭載しているため、File › Import › glTF 2.0 でGLBを直接読み込めます。変換が必要なのは、制作フローの次のツールがFBXを求める場合だけです。

バイナリFBXとASCII FBXのどちらを選ぶべきですか?

Binaryがおすすめです。ファイルが小さく、読み込みが速く、Unity・Unreal・Mayaもこちらを想定しています。BlenderのFBXインポーターはASCII形式のFBXをまったく読み込めません。ASCIIを選ぶのは、スクリプトや差分ツールでファイルをテキストとして読む必要がある場合だけです。

UnrealでFBXモデルが100倍大きく、または小さくなるのはなぜですか?

glTFの単位はメートル、Unrealはセンチメートルで、FBXには各インポーターが解釈する単位スケールが含まれます。サイズが100倍ずれる場合は、インポート時の均一スケールを調整するか、変換前にモデルの単位を設定し、既知の寸法で確認してください。