BlenderのモデルをUnityへ持っていくなら、まずはFBXで書き出してAssetsへ入れる方法がおすすめです。取り込んだら「向き・大きさ・見た目」の順に確認しましょう。

この記事では、色付きCubeのようなボーンやアニメーションのないモデルを例に説明します。キャラクターのリグやアニメーションは追加設定が必要です。画面の項目名はバージョンによって異なります。

.blendとFBXのどちらを使う?

形式取り込み方と使い分け
FBX(.fbx)Blenderで書き出してUnityへ渡す。書き出し条件を管理しやすく、他のPCやチームでも扱いやすい。
Blenderファイル(.blend)Assetsへ直接入れる。Unityがインストール済みのBlenderを使って変換するため、PC側のBlender環境に依存する。

Unityの公式マニュアルも、制作での利用にはFBXなどの書き出し形式を勧めています。ただし、FBXならBlenderの見た目をすべて再現できるわけではありません。マテリアルはUnity側で確認・調整します。

FBXでUnityにインポートする手順

私が使っている色付きCubeを例に進めます。X・Y・Zのプラス方向に色を付けておくと、取り込み後の向きを見比べやすくなります。

上面を青、側面を赤に塗り分けたBlenderのCube
向きの確認に使う色付きCube。取り込み後も同じ面が上を向いているか確認します。

1.Blenderで大きさと原点を整える

  1. オブジェクトモードでモデルを選び、Dimensions(寸法)で意図した大きさになっているか確認します。単位もSceneのUnitsで確認します。
  2. 必要に応じてCtrl+A →「スケール」を適用します。見た目の大きさを保ちながらScaleが(1, 1, 1)になります。回転も基準姿勢を決めてから適用するとRotationが(0, 0, 0)になります。
  3. 回転・移動の基準になる原点は「オブジェクト → 原点を設定」で調整します。中心なら「原点をジオメトリへ」、任意の位置なら「原点を3Dカーソルへ」を使います。

「トランスフォームを適用」と「原点を設定」は別の操作です。Ctrl+Aで全トランスフォームを適用しても、原点がモデルの中心になるわけではありません。リグ作成後やアニメーション付きのモデルには、この手順を一律に適用しないでください。

2.FBXを書き出す

「ファイル → エクスポート → FBX(.fbx)」を開きます。まずは必要なモデルだけを選び、「選択したオブジェクト」を有効にすると、カメラやライトの混入を防ぎやすくなります。

項目色付きCubeでの設定例
対象必要なモデルを選択。オブジェクトタイプはメッシュ。
スケール1.0から確認。Sceneの単位設定と合わせて判断。
前方/上−Zが前方/Yが上。Unityに渡す際の軸変換に使用。
トランスフォームを適用このCubeの例ではON。ボーン・アニメーション付きモデルへ、そのまま流用しない。

BlenderはZ軸が上、UnityはY軸が上です。書き出し時の軸変換でこの違いを扱います。ただし、モデルの顔や正面をどちらへ向けて作ったかは別の話なので、設定値だけで完成時の向きを決めつけず、Unityで確かめましょう。

3.Assetsへ入れて、Sceneで確認する

  1. 書き出したFBXをUnityのProjectウィンドウ内のAssetsへドラッグします。画像テクスチャを使う場合は、その画像もAssetsへ入れます。
  2. FBXを選び、InspectorのModelタブでScale FactorとConvert Unitsを確認します。変更した場合はApplyを押します。
  3. モデルをSceneへドラッグし、向きと大きさを確認します。比較用のUnity Cube(標準で一辺1単位)を置くと判断しやすくなります。

Scale Factorを必ず1に直す必要はありません。ファイルの単位とConvert Unitsによる変換を含め、意図した寸法になるかで判断します。Unityの物理では1単位=1mを基準に考えます。

Read/Writeは通常OFFのままで構いません。スクリプトなどで実行中にメッシュデータをCPUから読む必要がある場合に有効にします。ONにするとCPU側にもデータを保持するため、メモリ使用量が増えます。

色付きCubeをFBXで取り込む操作例。動画内の設定値や回転補正は、このモデルでの例です。

このCubeの手順ではY軸を180度回す補正をしていますが、すべてのモデルに必要な操作ではありません。正面が逆を向いているときだけ調整します。必要なら空の親オブジェクトを作り、モデルを子にして向きを補正すると、ゲーム側で扱う親の向きを分けて管理できます。

向き・サイズ・マテリアルがおかしいとき

横倒し・正面が逆
Blenderの基準姿勢、FBXの前方・上方向、Unity側の親子の回転を確認します。軸変換とSceneでの補正を重ねすぎていないか見直しましょう。

大きすぎる・小さすぎる
Blenderの寸法・単位・Scale、FBXの書き出し倍率、UnityのConvert UnitsとScale Factorを確認します。比較用Cubeを置いて大きさを見比べましょう。

回転の中心がずれる
Blenderの原点とモデルの位置関係を確認します。SceneビューのハンドルがCenter表示かPivot表示かも確認してください。

白い・色が付かない
画像がAssetsにあるか、マテリアルが割り当たっているか、Base Mapなどに画像が設定されているかを確認します。

ピンクになる
プロジェクトのレンダーパイプラインに対応したShaderかを確認します。Built-in・URP・HDRPを混同していないか見直しましょう。

テクスチャとマテリアルはUnity側で仕上げる

Blenderのノード構成は、FBX経由ですべて移るわけではありません。Principled BSDFを使っていても見た目の完全一致は保証されません。プロシージャルな模様などは必要に応じて画像へベイクし、UVと画像テクスチャで渡す方法を検討します。

  1. 画像テクスチャをAssetsへ入れます。ファイルを分けて渡す場合は、FBXだけをコピーして画像を置き忘れないようにします。
  2. FBXのMaterialsタブでマテリアルの取り込み・割り当てを確認します。編集用に取り出すならExtract Materials、埋め込み画像がある場合はExtract Texturesを使えます。埋め込み画像がなければExtract Texturesは使えません。
  3. Unityで使用中のレンダーパイプラインに合うマテリアルを用意し、Base Map/Albedoなどに画像を割り当てます。必要ならMaterialsタブでそのマテリアルへ割り当て直し、Applyを押します。

MetallicやRoughnessも自動で同じ見た目になるとは限りません。UnityのShaderが使うSmoothnessやマップのチャンネル構成に合わせて調整します。マテリアルを直すためだけにURPやHDRPへ切り替える必要はありません。

.blendファイルを直接取り込む場合

手元で試すなら、Blenderで保存したCube.blendをUnityのAssetsへドラッグする方法もあります。UnityはBlenderを使って内部でFBXへ変換します。取り込むPCにも対応するBlender環境が必要です。

.blendファイルをAssetsへ直接取り込む操作例。

変換に失敗する場合は、Blenderのインストール状況やUnityとのバージョンの組み合わせを確認します。別のPCでも同じデータを扱いたい場合は、BlenderからFBXを書き出して渡すと環境への依存を減らせます。

取り込み後は3点を確認

向き → 大きさ → マテリアルの順に確認すれば、原因を切り分けやすくなります。まずは単純なCubeで条件をそろえ、使える設定が決まったら同じ制作条件のモデルに展開しましょう。

参考:Unity:3Dアプリケーションからのモデル読み込み/Modelタブ/Materialsタブ/Blender:トランスフォームの適用/原点の設定