Skip to main content

クロスアプリパイプライン詳細

OpenForge MCP のクロスアプリパイプラインは、Blender で作ったモデルを Unity や Godot に自動転送する仕組み。このガイドでは、ファイル転送の内部動作、対応フォーマット、トラブルシューティングを詳しく解説するよ。

ファイル転送の仕組み

クロスアプリパイプラインは、共有ディレクトリを介してファイルをやり取りする。

Blender                    共有ディレクトリ                 Unity / Godot

モデルを作成 ──> FBX/glTF で ──> 自動検知して
エクスポート インポート

~/OpenForge/shared/

処理の流れ

  1. AI が Blender でモデリングを指示する
  2. Blender プラグインがモデルを指定形式でエクスポートする
  3. エクスポートされたファイルが共有ディレクトリに保存される
  4. Unity / Godot のプラグインが共有ディレクトリを監視している
  5. 新しいファイルを検知すると、自動的にインポート処理を実行する
  6. インポートが完了すると、AI に結果が通知される

共有ディレクトリ

デフォルトの共有ディレクトリは以下の場所:

OSパス
Windows%USERPROFILE%/OpenForge/shared/
macOS~/OpenForge/shared/
Linux~/OpenForge/shared/

設定ファイルでカスタマイズすることもできる:

{
"shared_directory": "D:/MyProject/shared_assets"
}
プロジェクトごとに分ける

複数のプロジェクトを並行して進める場合は、プロジェクトごとに共有ディレクトリを分けると、ファイルが混ざらなくて管理しやすいよ。

対応フォーマット

FBX (.fbx)

用途: Unity への転送に最も適したフォーマット。

項目対応状況
メッシュ対応
マテリアル対応(基本設定のみ)
テクスチャ埋め込み or 外部参照
アーマチュア/ボーン対応
アニメーション対応
シェイプキー対応
Blender ──(FBX)──> Unity
FBX が推奨される理由

Unity は FBX を最もよくサポートしている。マテリアル、ボーン、アニメーションを含めて安定して転送できるので、特に理由がなければ FBX を使うのがおすすめだよ。

glTF / GLB (.gltf / .glb)

用途: Web やオープン標準を重視する場合に適したフォーマット。

項目対応状況
メッシュ対応
マテリアルPBR マテリアルに対応
テクスチャGLBは埋め込み、glTFは外部参照
アーマチュア/ボーン対応
アニメーション対応
シェイプキー対応
Blender ──(glTF/GLB)──> Unity / Godot

GLB は1ファイルにすべてをまとめた形式で、取り扱いが簡単。glTF はテクスチャを別ファイルにするので、テクスチャだけ差し替えたい場合に便利。

OBJ (.obj)

用途: シンプルなメッシュの受け渡し。

項目対応状況
メッシュ対応
マテリアルMTLファイルで基本的な色情報
テクスチャ外部参照
アーマチュア/ボーン非対応
アニメーション非対応
シェイプキー非対応
Blender ──(OBJ)──> Unity / Godot
OBJ の制限

OBJ はボーンやアニメーションを含められない。静的なメッシュ(建物、家具、小物など)の受け渡しにのみ使おう。キャラクターモデルには向いていないよ。

VRM (.vrm)

用途: 人型アバターの受け渡し。

項目対応状況
メッシュ対応
マテリアルMToon / Unlit / PBR
テクスチャ埋め込み
アーマチュア/ボーン対応(人型専用)
アニメーション非対応(ポーズのみ)
シェイプキー対応(表情)
VRM固有情報ライセンス、揺れもの設定など
Blender ──(VRM)──> Unity

VRM は glTF をベースにした人型アバター専用フォーマット。VRChat や cluster などのプラットフォーム向けアバターの制作ワークフローに最適。

実践: Blender でモデリングして Unity にインポート

具体的な操作手順を見ていこう。

手順1: Blender でモデルを作成する

あなた:

Blenderで椅子を作って。座面は平らな四角形で、脚は4本の円柱にして

何が起きる: Blender 上で椅子のモデルが作成される。

手順2: マテリアルを設定する

あなた:

椅子に木目調のマテリアルを付けて。茶色のベースカラーにして

何が起きる: Principled BSDF マテリアルが設定されて、椅子が茶色くなる。

手順3: メッシュを最適化する

Unity に持っていく前に、メッシュを最適化しておこう。

あなた:

椅子のポリゴン数を教えて。多すぎたら適度に減らして

何が起きる: 現在のポリゴン数が報告されて、必要に応じて Decimate モディファイアで最適化される。

手順4: Unity にエクスポートする

あなた:

この椅子をFBX形式でUnityに送って

何が起きる: 以下の処理が自動で行われる:

  1. Blender で FBX エクスポートが実行される
  2. FBX ファイルが共有ディレクトリに保存される
  3. Unity プラグインがファイルを検知する
  4. Unity にモデルがインポートされる
  5. インポート結果が AI に通知される

あなた:

Unityにインポートされた椅子をシーンに配置して

何が起きる: Assets フォルダにインポートされた椅子のプレハブがシーンに配置される。

手順5: Unity 側で調整する

あなた:

椅子のスケールを確認して。Blenderと同じサイズになっている?

何が起きる: Unity 上でのオブジェクトのスケールが報告される。Blender とのスケール差がある場合は、ここで調整するよ。

スケールの統一

Blender と Unity ではデフォルトの単位系が異なる。Blender は1単位=1メートル、Unity も1単位=1メートルだけど、FBX エクスポート時のスケール設定によっては 100倍になることがある。エクスポート設定で「Apply Scalings: FBX Units Scale」にすると、スケールが一致しやすいよ。

フォーマット選択ガイド

どのフォーマットを使うか迷ったら、以下を参考にしよう。

ユースケース推奨フォーマット理由
Unity にキャラクターを送るFBXボーン、アニメーション対応が最も安定
Unity に静的モデルを送るFBX or glTFどちらでもOK
Godot にモデルを送るglTF / GLBGodot は glTF のサポートが充実
アバターを送るVRM人型専用の情報を保持できる
シンプルなメッシュだけ送るOBJ最もシンプルで互換性が高い
テクスチャを1ファイルにまとめたいGLBすべてバイナリに埋め込まれる

トラブルシューティング

モデルが Unity に表示されない

確認ポイント:

  1. 共有ディレクトリにファイルがエクスポートされているか
  2. Unity プラグインが起動して、共有ディレクトリを監視しているか
  3. Unity のコンソールにエラーが出ていないか
  4. Assets フォルダ内にインポートされたファイルが存在するか

テクスチャが表示されない(白くなる)

原因と対処法:

  • FBX の場合: テクスチャの埋め込み設定を確認する。エクスポート時に「Path Mode: Copy」「Embed Textures」を有効にすると、テクスチャがFBXに埋め込まれる
  • glTF の場合: GLB 形式を使うと、テクスチャが自動で埋め込まれる
  • OBJ の場合: MTL ファイルとテクスチャ画像ファイルが同じディレクトリにあるか確認する

スケールがおかしい(巨大 or 極小)

対処法:

  1. Blender のエクスポート設定で「Apply Scalings」を確認する
  2. Unity のインポート設定で「Scale Factor」を調整する
  3. どうしても合わない場合は、Unity 側でオブジェクトのスケールを手動で調整する

あなた:

インポートした椅子のスケールを0.01にして

マテリアルの見た目が違う

Blender と Unity ではレンダリングエンジンが異なるので、マテリアルの見た目が完全には一致しない。

対処法:

  • FBX の場合: Unity 側でマテリアルを手動で調整する必要がある場合がある
  • glTF の場合: PBR マテリアルが比較的忠実に再現される

あなた:

インポートされた椅子のマテリアルを確認して。色が違っていたら調整して

ボーンが正しく動かない

確認ポイント:

  1. Blender でエクスポート前にアーマチュアを適用(Apply)しているか
  2. FBX エクスポート設定で「Armature」が含まれているか
  3. Unity のインポート設定で「Rig」タブの「Animation Type」が正しいか(Humanoid or Generic)
ボーンの軸の違い

Blender と Unity では座標系の軸方向が異なる(Blender: Z-up、Unity: Y-up)。FBX エクスポート時に軸変換が自動で行われるけど、まれに意図しない回転が加わることがある。その場合は、エクスポート設定の「Forward」と「Up」軸を調整してみよう。

まとめ

  • クロスアプリパイプラインは共有ディレクトリを介してファイルを転送する
  • FBX、glTF/GLB、OBJ、VRM の4種類のフォーマットに対応している
  • Unity には FBX、Godot には glTF を推奨
  • スケール、テクスチャ、マテリアルの差異はよくあるトラブルなので、転送後に確認するのが大切
  • すべての操作を自然言語で指示できるので、複雑なエクスポート設定を手動で触る必要はない