まとめ
- glTF (glb) で書き出すよ
- FBX は使わないよ
- スケール問題も回避できるよ
- 気づき程度の記事だよ(細かな検証はしていない)
環境
Blender 4.2.0
UnrealEngine 5.4.3
経緯
Blender の新バージョン、UEの新バージョン
久しぶりに触ってどうやってエクスポートすれば良いか迷いました。
(Epic 公式プラグインが新バージョンには対応していない。ちょっと触った感じエラーがでて動かない???っぽい)
結果的にglbでうまくいったので共有的に書きます。
各ツール側のアプデの説明とかにも「どれどれでできるよ」など書いてあるかもしれませんが追えずにいたため検証しました。
検証準備(Blender)
メッシュ
今回のテスト用スタティックメッシュです。
glTFのエクスポーターに上側(+Y Up)の座標軸を設定する項目があったため、上が分かるようにしました。
デフォルトキューブのサイズを X1m × Y1m × Z1m(当環境では100cm表記)で作成し、
上面を面の挿入 → 押出し → 全体にベベル で作成しています。(Zは130cm)
下面が0(原点)です。
スケルタルメッシュ
今回のテスト用スケルタルメッシュです。
X1m × Y1m × Z2m
ボーンは下から Root Bone1 Bone2 Bone3 です。全部接続されています。
下面とルートボーンが0(原点)です。
エクスポート・インポート手順
Blender 側
File → Export → glTF 2.0 (.glb/.gltf)[日本語設定などの場合は読み替えてください]
デフォルト設定ではオブジェクトを選択していようがしていまいが全てのオブジェクトが書き出されるっぽいです。
UE 側
おなじみコンテンツドロワーへのドラッグアンドドロップです。
エクスポートの詳細
Blender 側
日本語のツールチップが非常にわかりやすいので参考にしましょう。
Format
バイナリにまとめた 「glb」 か 「gltf + bin + textures」(それぞれ別に書き出す) の二択です。
(個人的にはBlenderで作ったものはテクスチャも別に書き出しているのでここで再び別にする必要は無いように思います。現状は glb が良さそう)
Include
書き出しに含めるオブジェクトの選択です。画像では上3つにチェックを付けていますが、この設定で
- 選択したオブジェクトのみ
- 可視オブジェクトのみ
- レンダリング可能オブジェクトのみ
と、書き出しするオブジェクトを絞り込んでいます。設定の感じシーンやカメラごと書き出すこともできそうですね。
この設定をするとスケルタルメッシュの書き出しにメッシュとアーマチュアの両方を選択しないといけなくなりました。
Transform
チェックを付けないとメッシュの向きが変わります。
位置も下に下がっているような...?
- チェックあり
- チェックなし
Data・Animation
項目が多くあまり検証できていません。かなり細かく設定ができそうです。
Blenderの新バージョンでプリセットの保存ができるようになりましたし、かなり面白そうですね。
アーマチュアを選択し、「Animation」の項目をアレコレするとアニメーションのみの書き出しができました。
その場合は UE 側のインポート設定で「Import Only Animations」をチェックしてください。
UE 側
未検証
アニメーションのインポート時にスケルトンを指定するぐらい
さいごに
ここまで確認いただきありがとうございます。
趣味程度しか触らない人間ですが UE Blender 間の FBX をメンドクセッって思ってたので
今まで気にかけないといけなかったことが気にしなくていいとなると非常に楽です。
記事中の間違いやより良い情報などありましたらコメントをいただけると嬉しいです。