本日は Blender と Unity の技術調査枠です。
Blenderで作成した3DモデルをUnityに取り込む方法をまとめます。
取り込み方法
サンプルとして色付けを行った Shpere モデルの Blender プロジェクトを用意しました。
メニューから ファイル -> 保存 を選択し、.blend ファイルで上書き保存します。
後は Unity を起動して、Assets フォルダ配下に .blend ファイルをドラッグするだけです。
3Dモデルを Unity に取り込むことができました。
.blend ファイルを Hierarchy にドラッグしてシーンに配置できます。
Blender と Unity の座標軸の違いから Transform の Rotation が X:-90,Y:0,Z:0 で取り込まれます。
.blendファイルを編集する
因みに .blend ファイルで読み込まれているので、ファイルを右クリックして[Open]を選択すると Blender でファイルを編集することができます。
その場で3Dモデルを修正して、再び .blend ファイルを保存すると Unity 内の3Dモデルも修正されます。
なかなか反映されない場合はファイルを右クリックして[Refresh]してみてください。
エラーが発生する場合
.blend ファイルを直接 Unity に読み込もうとした際、以下のエラーが発生することがあります。
このエラーが発生すると、Unity 内にモデルが表示されません。
Blender could not be found.
これは .blend ファイルが Blender.exe に関連付けられていないときに発生するエラーです。
例えば、Blender を zip ファイルの解凍でインストールした場合などはこの問題が発生します。
Windows 10 環境であれば、以下の手順で関連付けを行います。
.blend ファイルを右クリックし、[プログラムから開く]を選択します。
ここで[別のプログラムを選択]をクリックします。
ファイルを開く方法を選択するダイアログが表示されます。
.blend ファイルと Blender を関連付けるため、[常にこのアプリを使って .blend ファイルを開く]をチェックします。
Blender がここで表示されるのであれば、Blender を選択します。
表示されていなければ[その他アプリ]の項目をクリックします。
(多くの場合は表示されないケースになると思います)
その他のアプリ一覧が表示されます。
ここでも Blender が表示されなければ、最下部にある[このPCで別のアプリを探す]をクリックします。
ファイルピッカーが表示されるので、PCで利用している Blender の blender.exe を選択します。
すると .blend ファイルが blender.exe で開かれると同時に関連付けが行われます。
.blend ファイルのアイコンが blender.exe のアイコンに変わっていれば関連付けできています。
Unity への読み込みに失敗した Assets 内の .blend ファイルを削除し、再度、.blend ファイルを読み込みなおしてみます。
無事、読み込みが成功しました。
読み込み可能なデータ
以下のようなアーマチュア(ボーン構造)を持った複雑なキャラクタモデルも .blend ファイルで読み込み可能です。
ただしテクスチャファイルなど .blend ファイルに含まれないものは参照が切れた状態で取り込まれてしまいます。
別途、テクスチャファイルを Unity に取り込み、Unity 内で改めて参照を設定する必要があります。
次回記事で詳細な手順をまとめます。
なお上記の通り、アーマチュアとメッシュは取り込みますが、一方でカメラやランプオブジェクトは取り込みません。
余談
タイトルに「その5」とある理由ですが、以前はわざわざ .fbx ファイルに変換しての読み込みを紹介していました。
bluebirdofoz.hatenablog.com
当時はまさか .blend ファイルで読み込めるとは露知らず。知っていると便利なのでまとめました。
内部的には FBX のエクスポータを利用しているだけとのことなので、最終的な動作に違いはないと思います。
docs.unity3d.com
マテリアルの設定についても現在は少し手順が異なっているようなので、次回は再びマテリアルの設定についてまとめます。
bluebirdofoz.hatenablog.com