自分はUnity用の3Dモデルを作るために Blenderを 使用しています。というよりも、Unity目的でしか使っていません。
しかしBlenderにとってUnityは、プラットフォームの一つに過ぎないので、Unityにモデルをそのまま持ち込むと、不都合なことが結構おこります。
今回はBlenderユーザーがUnityへモデルをエクスポートするときに注意すべき箇所について紹介します。
Contents
モデルを出力するには
非常に基本的なことですが、初心者のためにも一応説明します。
Blenderで作ったモデルを出力するには、File > Exportより出力するファイル形式を選びます。
Unityでは基本的にfbxしか使いません。以降の説明はfbxを選択したものとして進めます。
Unity用の設定まとめ
fbxを選択すると、以下のようなウィンドウが開きます。ここで紹介するセッティングは右枠から行います。
セッティングが完了したら、右下のExport FBXを押して、モデル出力は完了です。
Include
基本的にライトやカメラは含まない方がいいので、チェックを外します。Unityで利用するのはメッシュとアーマチュアだけです。
出力したいオブジェクトだけを選択し、 Selected Objectsにチェックを入れると、余計なものが入りません。
Active Collectionはチェックを入れなくていいです。
Transform
座標系は、下の図のようにセットされていれば大丈夫です。
!Experimantal! Apply Transformにチェックを入れるのを忘れないでください。
これはBlender座標軸をUnity座標軸に変換してくれる機能です。
BlenderとUnityでは座標系が違うので、これを適応しないと、Unityの持って行ったモデルは90度傾いた状態になります。
!Experimantal! Apply Transform のバグ
ただ、experimental(実験的)ということもあって、バグがあります。
親子構造が三つ以上の場合、つまり孫オブジェクトからはトランスフォームがBlender座標のままになってしまいます。
例えば A > B > C みたいな親子関係になっていると、AとBはTransform(0, 0, 0)で出力されますが、C以降はTransform(0, 90, 0)の形で出力されます。
これを回避するにはプラグインを自作するしかありません。現時点ではどうしようもないので、あきらめましょう。
Geometry
これもデフォルトのままでいいです。
ただし、Apply Modifiersは現在オンになっているモディファイアをすべて適応してから出力します。
モディファイアの種類によってソフトが落ちる可能性があるので、出力前にはセーブをするほうがいいでしょう。
Armature
モデルにボーンを仕込んでいる場合はここを調整します。
Only Deform Bonesにチェックを入れないと、リグコントローラーまで出力されてしまいます。
Unityではデフォーム用のボーンしか必要ないので、チェックを入れます。
Add Leaf Bonesはボーン末端にボーンを追加する機能ですが、不要です。
Bake Animation
モデルにアニメーションを設定している場合は、この項目が非常に重要になります。
アニメーションを使ってないのであれば、チェックを外してしまって構いません。
NLA stripsとAll Actionsは基本的にチェックをいれません。
All Actionsにチェックを入れてしまうと、すべてのアニメーションを焼きこむので、最悪ソフトが落ちます。もしくはファイル作成に、ものすごく時間がかかります。
まとめ
いかがでしたでしたか。
個人開発のゲームクリエーターは、なかなか有料のモデリングソフトを契約することが難しく、無料のBlenderを使っている方も多いと思います。
しかし、せっかくBlenderで作成したモデルが、Unityで使いづらい形でしか出力できていないのであれば、非常にもったいないことです。
この記事のセッティングが少しでもお役に立てれば幸いです。
他にもBlenderのテクニックを紹介した記事を公開しているので、ぜひご覧になってください。