
BlenderからUnreal Engineに3Dモデルをインポートする方法は?
Unral Engineはゲームエンジンなので、3Dモデルを制作するのはそこまで得意ではありません。
Unreal Enigneを使う際にオリジナルのモデルを使いたい場合には、基本的にはDCCツール(Digital Content Creation Tool)と呼ばれる外部の3Dモデル制作用のソフトで作成したモデルをインポートする必要があります。
3ds MaxやCinema4D、RhinoやSketch Up、RevitやArchiCADにはDatasmithと呼ばれるダイレクトリンクが可能なプラグインがあるのですが、残念ながらBlenderには公式のダイレクトリンクツールはありません。
BlenderとUnreal Engineを使うユーザーはそれなりに多いと思うので、今回はBlenderで制作したアセットをUnreal Engineに持っていく方法を紹介します。
※建築ビジュアライゼーション用なので、Static Meshのインポートを例に示します。Static Meshとは、主にボーンアニメーションを必要としない、背景アセットやプロップなど形状が固定化されたオブジェクトのことです。
FBXにしてインポート
Unreal Engineへの3Dモデルをインポートする最も一般的な方法はFBXに変換してインポートする方法だと思います。
FBX(Filmbox)形式は3Dオブジェクトやアニメーションなどの情報を格納する汎用3Dデータ形式です。
映画やゲーム、VFXなど、複雑なモデルやアニメーションが必要な業界で広く使用されています
Blenderで作成したデータをこのFBX形式に変換し、UEにインポートする流れを簡単に紹介します。
BlenderからFBXファイルにエクスポートする
Blenderを開いて、取り出したいオブジェクトを選択した状態にします。
続いて画面左上のFile から Export >FBX (.fbx)の順に選択します。

そうすると下の画像のような書き出し設定用のパネルが出てきます。

保存先を選択したら、適宜名前をつけて、右側の書き出し設定パネルの項目を設定していきます。
■Path Mode
Auto から Copy に変更して一番右側のボックスを有効にします。
そうすることで、テクスチャをFBXファイル内に埋め込めます。
■Include
◯Limit to
どのオブジェクトを書き出すかの設定です。
自身の状況に合わせてチェックを入れてください
・Selected Objects → 選択しているオブジェクト
・Visible Objects → 現在表示されているオブジェクト
・Active Objects → 現在有効になっているオブジェクト
◯Object Types
メッシュ以外にもカメラやエンプティなども含められます。
自身の状況に合わせてチェックを入れてください。
参考に載せている画像はMeshのみのチェックしてます。
■Geometry
◯Smoothing
デフォルトのNormals OnlyをFaceに変更しておきます。
これでBlender側の設定は以上です。
上記の内容ですが、こちらの動画が要点が押さえられており、非常にわかりやすくまとまっています。
次はいよいよUnreal Engineにインポートします。
Unreal EngineにFBXファイルをインポート
Unreal Engineの画面に入ったらCtrl + Spaceキーを押してコンテンツドロワーを開きます。
そこにエクスプローラーからFBXファイルをドラッグアンドドロップします。
すると、下記の画面のようにFBX Import Optionsというパネルが出てきます。

設定項目がたくさんありますが、特に何もいじらなくてOKです。
そのままImport Allをクリックします。
そうすると、Static Meshとともにテクスチャとマテリアルがインポートされます。

レベル上にインポートしたモデルを配置してみると何やら黒くなっています。
これはインポートしたマテリアルが正常に機能していないため、このような状態になっています。

コンテンツドロワーからマテリアルをダブルクリックして開いてみると、テクスチャにエラーが出ています。
Texture Sampleノードの設定を調整して直していきます。

私の例だと、Roughness(粗さ)のテクスチャがメタリックに刺さっているのでRoughnessに差し直しています。
また、Texture Sampleを選択している時に出るマテリアルエディタ左下のパネルの中のMaterial Expression Texture BaseのSampler TypeがColorになっていたので、これをLiner Colorに変更しています。

続いてNormalマップを調整します。
UEはこのままではノーマルの値を受け取れないので、間にFlattern Normalというノードを挟みます。
また、Roughness同様にTexture Sampleを選択してMaterial Expression Texture BaseのSampler TypeをNormalからLiner Colorに変更します。

これでエラーが消えたと思います。
あとはマテリアルを保存すればマテリアルが直ります。

これでBlenderからUEにインポートが完了しましたがいかがでしたでしょうか?
インポート後のマテリアルの調整が慣れていないと少し難しいかもしれません。
マテリアルは基本さえ押さえておけばBlenderだろうとUEだろうとやることは一緒です。
こちらの記事にマテリアルの基礎をまとめているので合わせて読んで頂くと理解が深まると思います。
BlenderからUEにインポートする際の注意点
勘の良い方は気付いたかもしれませんが、Blender内で複雑に組んだマテリアルをそのままUEに持っていくことはできません。
Blenderで設定したボロノイテクスチャやノイズテクスチャ、その他カラーミックスなどなど、それらはBlender専用の効果なので、FBXに変換した時点で無かったことにされます。
基本的にUEに持っていけるのは画像テクスチャとシンプルな色情報だけです。
最終的にUEで作品を仕上げる場合は、Blender内でマテリアルを細かく設定しすぎない方が無難です。
どうしてもBlenderでつくったマテリアルをUEに持っていきたい場合は、テクスチャをベイクするしかありません。
ベイクするとはつまり、Blender内でオリジナルのPBRマテリアル用のテクスチャをつくるということです。
このあたりの技術体系ももいずれどこかでまとめたいと思います。
さいごに
ソフトウェアを行き来すると、いろいろとデータの受け渡しに苦労しますが、これがクリアできればできることの幅がかなり広がります。
UEは難しいからこそ、使えるようになった時の喜びは絶大です。
まずは簡単なところからでも良いので一歩ずつ学んでいけると良いと思います。
ぜひ、この機会に挑戦してみてはいかがでしょうか?
いいなと思ったら応援しよう!
