UnityでBlenderからFBXファイルを出力して読み込む(インポートする)方法について説明しています。
Blenderのバージョンは4.1、Unityのバージョンは2022.3.31f1。
BlenderでFBXを出力する
Unityに出力したいファイルを選択して編集が完了したらまずオブジェクトの「回転」「スケール」の値を適応させてリセットする。この2つの値が初期値以外だとUnity側でのモデルの表示が崩れてしまうことがある。
オブジェクトモードで任意のオブジェクトを選択したら「オブジェクト」→「適用」→「回転・スケール」を選択する。
適応が終わったら保存して、メニューから「ファイル」→「エクスポート」→「FBX」を選択する。
画面右のオブジェクトのリストから出力したいものを選択する。複数あるオブジェクトから任意のオブジェクトのみを出力したい場合は「対象」から合うものを選ぶ(どれにもチェックを入れない場合は全部出力)。アーマチュアやエンプティなどは「オブジェクトから」出力したいものを「Shift」キーを押しながら選択する。
「トランスフォーム」の部分を展開して前方が「-Yが前」、上が「Zが上」に設定する。BlenderとUnityでは座標系が違うためこの設定を忘れると向きが合わなくなる。
あとは名前を入力して出力する。
UnityでFBXを読み込む
Unity Hubからプロジェクトを起動したらAssets内に先ほど出力したFBXファイルをドラッグ&ドロップする。
FBXファイルが読み込まれたら次はUnityとの座標系を合わせる。FBXファイルをクリックしてインスペクターを開いて「Model」を選択し、「Bake Axis Conversion」にチェックを入れて「Apply」をクリックする。
あとはモデルの回転値(Rotate)を調整する。
人型モデルの場合はインスペクターから「Rig」を選択し、Animation Typeを「Humanoid」に変更して「Apply」をクリックする。
マテリアルやテクスチャが反映されない場合
FBXファイルは読み込めたけどマテリアルやテクスチャが反映されていない場合、インスペクターから「Material」を選択し、TexturesおよびMaterialsからファイルを指定する。指定したら「Apply」をクリックする。
テクスチャやマテリアルの設定がない場合は選択できないのでその時はテクスチャおよびマテリアルを作成する。
コメント