Blenderで作った3DモデルをUnityに取り込むには、FBX形式でのエクスポートが一般的です。
今回は、BlenderからUnity用にFBXをエクスポートする際の基本的な手順と、注意すべきポイントをわかりやすく解説します。
なお、当ブログはBlenderに特化した情報を発信するサイトですので、Unity側の操作にはあまり踏み込まず、Blenderでの設定や操作にフォーカスしてご紹介します。
BlenderでエクスポートしたFBXをUnityに取り込むときの注意点|座標軸の違いに注意!
Blenderで作成した3DモデルをUnity用にFBX形式でエクスポートする際に注意が必要なのが、オブジェクトのローカル座標軸の違いです。
Blenderでは、Y軸が前後方向、Z軸が上下方向として扱われています。

一方、Unityのローカル座標軸はY軸が上下方向、Z軸が前後方向です。

このように軸の方向が異なるため、BlenderからUnity用にFBXを書き出す際には、Blender側で座標軸をUnityに合わせて調整しておく必要があります。
ということで、次のセクションでは、Blenderで3Dモデルの座標軸をUnity用に調整する方法を解説していきます。
BlenderからUnity用にFBXをエクスポートする基本手順
今回は、以下のような構成の3DモデルをBlenderからUnity用にFBX形式でエクスポートします。

また、オブジェクトのスケールと回転はすでに適用済み(スケール=1、回転=0)で、単位系は「メートル法」に設定されている前提です。

BlenderからUnity用にFBXをエクスポートする手順ですが、大きく分けて2通りあります。
- FBXのエクスポート時に「トランスフォームを適用」する方法
- エクスポート前にオブジェクトの向きを手動で調整する方法
どちらにもメリット・デメリットがあるため、モデルの用途や作業の流れに応じて、適切な方法を使い分けるのがおすすめです。
このあとのセクションでは、それぞれの方法について具体的に解説していきます。
Blenderでトランスフォームを適用してUnity用にFBXを書き出す方法
では、「トランスフォームを適用」を使って、BlenderからUnity用にFBXを書き出す方法を見ていきましょう。
まずは、エクスポートするオブジェクトをすべて選択します。
選択した状態で「ファイル」→「エクスポート」→「FBX(.fbx)」をクリックします。

続いてエクスポートの設定で以下を設定します。
- スケールを適用を「FBX単にスケール」に変更
- トランスフォームを適用にチェックを入れる

補足:
「選択したオブジェクト(選択したオブジェクトのみがエクスポートされる)」や「可視オブジェクト(ビューポートで見えているオブジェクトのみがエクスポートされる)」のチェックは、好みに応じて設定すればOKです。
私は、意図しないオブジェクトがFBXファイルに含まれないように、どちらもチェックを入れています。
この設定でBlenderからエクスポートしたFBXファイルをUnityで開くと、オブジェクトのローカル軸がUnity用に変換されています。

ちなみにテクスチャはBlenderで設定していた物を同じ場所に入れてあげると、勝手に反映されます。

ここでお気づきの方もいると思いますが、メインのオブジェクトのローカル軸は変換されていますが、一部オブジェクト(浮き輪)のローカル軸は正常に変換されていません。

このオブジェクトをBlenderで見ても、回転やスケールは適用されていて問題ありません。

他のオブジェクトと異なる点は、この浮き輪オブジェクトの「階層」です。
メインオブジェクト(ヤシの木)との親子関係を確認してみると、浮き輪A・Bは「子の子」にあたる階層にあります。
これは、以前のBlenderバージョンでも同様ですが、FBXエクスポート時の「トランスフォームを適用」機能は、1階層下の子オブジェクトまでは適用されるものの、それより深い階層には適用されない仕様のようです。
そのため、親子関係が複雑なオブジェクト構造では、この方法はうまく機能しません。
トランスフォームを適用してFBXを書き出す方法のメリット・デメリット
メリット
・親子関係がシンプルなオブジェクトなら、簡単な設定でUnity用にローカル軸を変換できる。
デメリット
・親子関係が複雑な構造では、ローカル軸の変換が一部反映されない可能性がある。
次のセクションでは、親子関係が複雑なオブジェクトをBlenderからFBX形式で正しくエクスポートする方法を解説します。
Blenderでオブジェクトの向きを調整してUnity用にFBXを書き出す方法
次はBlenderでオブジェクトの向きを調整して、親子関係が複雑な構造でもUnity用にFBX形式で出力する方法です。
まず、オブジェクトモードでEmptyを追加します。

次に、追加したEmptyをヤシの木のオブジェクトの親に設定します。

補足:
親子関係を作成する際は、子にしたいオブジェクト → 親にしたいオブジェクトの順に選択し、「Ctrl + P」→「オブジェクト(トランスフォーム維持)」を選びます。
これで位置・回転・スケールを維持したまま階層を変更できます。
次に、親に設定したEmptyオブジェクトだけを選択して、X軸方向に「−90°」回転させます。

Emptyオブジェクトを選択した状態で、「オブジェクト」→「適用」→「回転」を選択します。

これで、Emptyオブジェクトの回転が0になりました。

この状態で子のオブジェクト(ヤシの木)の回転の値をみるとX軸が-90度になっています。

子のオブジェクトの回転の値も0にするために、子オブジェクト(ヤシの木)以下の全てのオブジェクトを選択した状態で、「オブジェクト」→「適用」→「回転」を選択します。

これで、全てのオブジェクトの回転がリセットされて0になりました。

再びEmptyオブジェクトだけを選択して、X軸を90度回転させます。
こうすることで、各オブジェクトのローカル軸の向きがUnityの軸設定(Y軸が上下、Z軸が前後)と一致します。

それではいよいよ、FBXファイルとしてエクスポートしていきます。
まずは「Empty」オブジェクト以下の階層をすべて選択した状態にします。
その状態で画面左上のメニューから「ファイル」→「エクスポート」→「FBX(.fbx)」をクリックしましょう。

続いて、FBXエクスポート時の設定についても確認しておきましょう。

特に重要なのが、スケールの設定です。
「スケールを適用」の項目を必ず「FBX単位スケール」に変更してください。
これを忘れると、Unityに読み込んだときに、モデルの大きさが意図とズレてしまうことがあります。
また、「選択したオブジェクト」や「可視オブジェクト」にチェックを入れておくと、不要なオブジェクトの混入を防げるのでおすすめです。
このあたりはお好みでOKですが、私は両方にチェックを入れるようにしています!
ちなみに、FBXのエクスポート設定は「オペレータープリセット」の隣にある「+」ボタンから、名前を付けて保存しておくことができます。
一度設定しておけば、次回以降に呼び出すだけで同じ条件でエクスポートできるので便利です。
複数のプロジェクトで同じ設定を使う場合や、ミスを防ぎたいときにおすすめの機能です。

こちらは、Blenderでオブジェクトの向きを調整してからエクスポートしたFBXファイルを、Unityに読み込んだ様子です。

「トランスフォームを適用」だけではうまくいかなかったオブジェクトも、回転のリセット(Alt+R)→Emptyの活用によって、Unity側でも正しい向きで配置されています。
向きがズレやすい場合は、Blender側の調整とエクスポート設定を見直してみましょう。
Blenderでオブジェクトの向きを調整してFBXを書き出す方法のメリット・デメリット
メリット
・親子関係が複雑な構造でも、Unityで正しい向き・軸でインポートできる。
・Emptyを使うことで全体の構造を整理しやすく、再利用性も高まる。
デメリット
・作業手順がやや多く、慣れないうちは少しハードルが高く感じる場合もある。
・Emptyや階層構造の理解が必要なため、慣れるまではミスが起きやすい。
まとめ:BlenderからUnityにFBXを正しくエクスポートするコツを振り返り!
Blenderで作成した3DモデルをUnityに持っていくとき「向きやスケールが思い通りにならずに戸惑った…」という経験、あるあるですよね!
でも今回ご紹介したように、
- 回転をリセット(Alt+R)
- Emptyオブジェクトで構造を整理
- 「トランスフォームを適用」に頼らず調整
- FBXのエクスポート設定をプリセット化
といったポイントを押さえれば、Unityでも正しい向き・形でFBXを取り込むことができます。
特によく使うエクスポート設定は、名前を付けて保存しておくと毎回の作業がぐっとラクに!
ぜひ、自分の作業フローに合わせて取り入れてみてくださいね。
コメント