CGBoxの一部の記事にはアフィリエイト広告が含まれております。
BlenderからUnreal Engine 5にモデルをエクスポートする方法
こんにちは!
今回は、3DCGソフト「Blender」で作成した3Dモデルを、ゲームエンジン「Unreal Engine 5 (UE5)」にエクスポートする方法を紹介します。
リグ付きのモデルをエクスポートして、UE5の中でアニメーションさせるまでの一連の流れを説明するので、ぜひ参考にしてみてください。
本記事で使用しているBlenderのバージョンは4.1(または3.6)で、Unreal Engineのバージョンは5.4.1です。
他のバージョンでは記事の通りにエクスポートできない可能性があるので注意してください。
Unreal Engineとは?
Unreal Engine (UE)は、米国のEpic Games社が開発したゲーム開発用ソフトウェアです。
高度なグラフィックスやリアルタイムレンダリングなどの最新機能を、直感的に操作できるのが特徴で、ゲームだけでなく映画製作などにも用いられています。
BlenderとUnreal Engineを連携することで、例えばBlenderで作成したモデルをUnreal Engineにエクスポートしてアニメーションレンダリングしたり、ゲームのキャラクターとして動かしたりなど、幅広い創作活動に活用することができます。
ちなみに、現在使用可能なUnreal Engineはバージョン4(UE4)とバージョン5(UE5)がありますが、今から始めるのであれば、2022年にリリースされグラフィックが向上したUE5がオススメです。
こちらのリンク先の記事で紹介している有料講座では、UE5初心者でも分かりやすくUE5を使った風景の作成方法を教えてくれます。
UE5の使い方を学びたい方は、ぜひ購入を検討してみてください。
BlenderからUE5にモデルをエクスポートする方法
BlenderからUE5にエクスポートする方法は、大きく分けて以下2通りあります。
- BlenderからエクスポートしたFBXをUE5にインポートする
- 外部アドオン「Send to Unreal」を使う
それぞれの方法について、操作画面を交えて具体的にやり方を説明していきます。
BlenderからエクスポートしたFBXをUE5にインポートする
まず、モデルのメッシュ・テクスチャ・リグ・アニメーションの情報をさまざまなアプリケーションで共有できる「FBXファイル」を使った方法を紹介します。
BlenderからFBXファイルをインポート/エクスポートする方法について、詳しくはこちらの記事で解説しているので、あわせて参考にしてみてください。
FBXファイルをエクスポートする
BlenderからFBXファイルをエクスポートする前に、いくつか注意点があります。
- メッシュオブジェクトのトランスフォームを適用する
- テクスチャは、FBXファイルと同じ階層に保存
- アーマチュアのオブジェクト名を「Armature」以外の名前に変更
- アーマチュアの親ボーンの名前を「Root」に変更
まず、FBXファイルにエクスポートする前に、メッシュオブジェクトのトランスフォームは適用しておいてください。
オブジェクトモードでメッシュオブジェクトを選択し、「Ctrl+A」→「全トランスフォーム」でOKです。
また、テクスチャはFBXファイルと同じ階層に保存しておくと、UE5にFBXファイルをインポートする際にテクスチャも自動で読み込まれるので便利です。
(テクスチャをあとからUE5にインポートする方法については、のちほど紹介します。)
リグ付きのモデルをエクスポートする場合は、アウトライナーからオブジェクト名をデフォルトの「Armature」から変更してください。
「Armature」のままでも一応読み込めますが、UE5でスケールが反映されないなどの問題が起きる可能性があるので、別の名前に変更しておいてください。
さらに、Unreal Engineへのインポート時にアーマチュアの階層構造が正しく認識されるように、すべてのボーンの親になっているボーンの名前をデフォルトの”Bone”から”Root”に変更しておいてください。
以上の準備が終わったら、FBXファイルをエクスポートします。
「Ctrl+Tab」でオブジェクトモードに切り替え、アーマチュアを右クリックして「階層を選択」、またはアイコンをダブルクリックして、アーマチュアとその子オブジェクトをすべて選択します。
トップバーの「ファイル」→「エクスポート」→「FBX(.fbx)」を選択します。
「FBX(.fbx)」が表示されない場合は、「編集」→「プリファレンス」→「アドオン」から検索バーに「fbx」と入力し、表示されるアドオン「インポート/エクスポート: FBXフォーマット」を有効にしてください。
FBXファイルのエクスポート設定ですが、不要なデータをエクスポートしてしまうのを防ぐために、「選択したオブジェクト」にチェックを入れてエクスポートするようにしてください。
それ以外はデフォルト設定のままでOKです。
設定が完了したら「FBXをエクスポート」をクリックすると、モデルがFBXファイルとして保存されます。
UE5のインストール
次に、UE5のインストール方法について簡単に説明します。
既にインストール済みの方は飛ばしてしまって結構です。
インストール方法について、詳しくは以下公式サイトで紹介されているので、そちらもあわせて参考にしてみてください。
画面中ほどの「Unrealを入手」もしくは画面右上の「ダウンロード」をクリックすると、自動でインストーラーのダウンロードが始まります。
UE5は12GB以上あるので、インストールにはある程度時間がかかります。
ディスクの空き容量に注意してください。
FBXをUE5にインポートする
インストールが完了したら、Epic Games LauncherからUE5を起動します。
UE5が起動すると「プロジェクトブラウザ」の画面が表示されるので、新規プロジェクトを作成します。
今回は「映画、テレビ、ライブイベント」から「ブランク」を選択しました。
プロジェクトの場所とプロジェクト名を設定し、「作成」を選択します。
新規プロジェクトファイルの作成が完了すると、UE5の操作画面「レベルエディタ」が表示されます。
レベルエディタのUI(ユーザーインターフェース)の機能や操作方法については、こちらの公式ドキュメントを参照してください。
FBXファイルをUE5のレベルエディタにインポートするやり方として、以下2通りの方法を紹介します。
- レベルエディタに直接インポート
- コンテンツブラウザ経由で配置
レベルエディタに直接インポート
「ファイル」→「レベルにインポート」を選択します。
FBXファイルを選択し、インポート先の階層を設定すると、インポートオプションメニューが表示されます。
キーフレームアニメーションを含むファイルをインポートする場合は、「スケルタルメッシュ」タブの「Inport Animations」にチェックを入れます。
「インポート」を選択すると、モデルがUE5にインポートされ、こちらのように、レベルエディタの中心に表示されます。
インポートできない場合は、Blenderからエクスポートしたファイルに問題がある可能性があるので、「FBXファイルをエクスポートする」のセクションをもう一度確認しFBXファイルをエクスポートし直してみてください。
コンテンツブラウザ経由で配置
FBXファイルをインポートするために、ヘッダーのアイコンから「コンテンツブラウザ」を選択します。
WindowsエクスプローラーなどOSのファイルブラウザから、コンテンツブラウザにFBXファイルをドラッグアンドドロップします。
Blenderから正しくエクスポートされていれば以下のようなインポート設定画面が開きます。
キーフレームアニメーションを含むファイルをインポートする場合は、Animationにチェックして「全てインポート」をクリックしてください。
インポートする際に以下のようなメッセージログが表示されることがありますが、エラー表示でない限りは無視して大丈夫です。
コンテンツブラウザからレベルエディタにモデル(アニメーション付きの場合は「アニメーションシーケンス」)をドラッグアンドドロップすると、モデルが表示されます。
アニメーションの再生
UE5のファイルブラウザにインポートしただけでは、アニメーションは再生されません。
以下の手順を踏むことで、UE5上でアニメーションを再生することができます。
階層と名前を設定し「保存」をクリックします。
カーソルがシーケンサー上にある状態でスペースキーを押すと、アニメーションが再生されます。
以上で、BlenderからUE5へのエクスポートは一通り完了です!
テクスチャの修正・設定
先ほど紹介した例では、FBXファイルと同じフォルダにテクスチャを保存したので自動でテクスチャが読み込まれていますが、別のフォルダに保存したテクスチャを後から設定する方法を紹介します。
テクスチャを別フォルダに保存したFBXファイルをインポートすると、マテリアルが設定されず白く表示されます。
コンテンツブラウザーから、マテリアルファイルをダブルクリックして開きます。
すると、「マテリアルエディタ」(Blenderのシェーダーエディターと同じような機能です)が開きます。
本来であればテクスチャがシェーダーの「Base color」に接続されているはずですが、設定されていません。
まずは、テクスチャ画像を、OSのファイルブラウザからUE5のコンテンツブラウザーにドラッグアンドドロップしてインポートします。
インポートしたコンテンツブラウザーからマテリアルエディタにテクスチャをドラッグアンドドロップし、シェーダーに接続することで、テクスチャが反映されました。
外部アドオン「Send to Unreal」を使う
Unreal Engine公式が配布しているBlender用の外部アドオン「Send to Unreal」を使うことで、BlenderからFBXファイルを経由せずにUnreal Engineにメッシュオブジェクトをエクスポートすることができます。
Blender 4.1で試してみたところエラーが出てしまいエクスポートできなかったため、以降の記事ではBlender 3.6を使って説明します。
実際の操作画面をお見せしながら、基本的なやり方を紹介します。
ちなみに、Send to Unrealについては公式ドキュメントもありますので、そちらもあわせて参考にしてみて下さい。
アドオンの入手方法
まずは、こちらのリンク先からアドオンを入手します。
「Code」をクリックすると表示されるメニューから、「Download ZIP」をクリックすると、ZIPファイルがダウンロードされます。
ダウンロードしたZIPファイル(”BlenderTools-main.zip”)を解凍し、中にある「send2ue」というフォルダーを以下のフォルダにコピーします。
”(ドライブ名):\Users\(ユーザー名)\AppData\Roaming\Blender Foundation\Blender\(blenderバージョン)\scripts\addons”
上記の例ではBlender 4.1のフォルダにコピーしていますが、Blender 4.xでは「Send to Unreal」アドオンは動かない場合があるので注意してください。
Blenderを立ち上げ、「編集」→「プリファレンス」→「アドオン」を選択します。
画面右上の検索バーに「send」と入力すると「パイプライン:Send to Unreal」が表示されるので、チェックを入れて有効化してください。
表示されない場合は、上記手順を改めてやり直した上で、Blenderを再起動してもう一度試してみてください。
UE5の設定
Send to Unrealを使う前に、UE5で以下の設定をしておく必要があります。
トップバーの「編集」→「プラグイン」を選択します。
ウインドウが立ち上がるので、「python」と入力して表示される「Python Editor Script Plugin」にチェックを入れて有効化します。
トップバーの「編集」→「プロジェクト設定」を選択します。
ウインドウが立ち上がるので、「python」と入力して表示される「Python Remote Execution」の「リモート実行を有効にする」にチェックを入れて有効化します。
トップバーの「編集」→「エディタの環境設定」を選択します。
ウインドウが立ち上がるので、「cpu」と入力して表示される「エディタのパフォーマンス」の「バックグラウンドでの処理により少ないCPUを使用」にチェックを外します。
以上の設定が終わったら、UE5を再起動し、プロジェクトを開いたままにしておきます。
使い方
Blenderに「Send to Unreal」をインストールして有効化すると、トップバーに「パイプライン」という項目が追加され、アウトライナーに「Export」というコレクションが追加されています。
以下の手順で、簡単にメッシュオブジェクトをUE5に送れます。
Blenderからエクスポートしたモデルはコンテンツブラウザ内に格納されているので、レベルエディタにドラッグアンドドロップで配置します。
また、以下の手順でアニメーション付きのリグ付きオブジェクトを送ることができます。
あとは、「アニメーションの再生」のセクションと同じように、シーケンサーにアニメーショントラックを追加することで、Blenderからエクスポートしたモデルをアニメーションさせることができます。
詳しいやり方は、Send to Unrealの公式ドキュメントの説明を参考にしてみてください。
まとめ
今回は、BlenderからUE5にエクスポートする方法について紹介しました。
以下の2通りの方法があるので、ご自身の使い方に合ったやり方を選んでください。
- BlenderからエクスポートしたFBXをUE5にインポートする
- 外部アドオン「Send to Unreal」を使う