見出し画像

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)の順に選択します。

Blenderの操作画面 File > Export >FBX (.fbx)を選択

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

Blenderの操作画面 主に黄色でマークした場所を設定

保存先を選択したら、適宜名前をつけて、右側の書き出し設定パネルの項目を設定していきます。

■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というパネルが出てきます。

UEの作業画面 コンテンツドロワーに直接FBXファイルをドラッグアンドドロップする

設定項目がたくさんありますが、特に何もいじらなくてOKです。
そのままImport Allをクリックします。

そうすると、Static Meshとともにテクスチャとマテリアルがインポートされます。

UEの作業画面 各データがインポートされたけど、何やら様子がおかしい

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

UEの作業画面 レベル上に配置したが、マテリアルが真っ黒になっている

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

UEの作業画面 Texture Sample ノードにエラーが出ている

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

UEの作業画面 Roughnessの調整

続いてNormalマップを調整します。
UEはこのままではノーマルの値を受け取れないので、間にFlattern Normalというノードを挟みます。

また、Roughness同様にTexture Sampleを選択してMaterial Expression Texture BaseのSampler TypeをNormalからLiner Colorに変更します。

UEの作業画面 Normalの調整

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

UEの画面 レベル上に配置したオブジェクトのマテリアルが正常に反映された

これでBlenderからUEにインポートが完了しましたがいかがでしたでしょうか?

インポート後のマテリアルの調整が慣れていないと少し難しいかもしれません。

マテリアルは基本さえ押さえておけばBlenderだろうとUEだろうとやることは一緒です。
こちらの記事にマテリアルの基礎をまとめているので合わせて読んで頂くと理解が深まると思います。


BlenderからUEにインポートする際の注意点

勘の良い方は気付いたかもしれませんが、Blender内で複雑に組んだマテリアルをそのままUEに持っていくことはできません

Blenderで設定したボロノイテクスチャやノイズテクスチャ、その他カラーミックスなどなど、それらはBlender専用の効果なので、FBXに変換した時点で無かったことにされます。

基本的にUEに持っていけるのは画像テクスチャとシンプルな色情報だけです。

最終的にUEで作品を仕上げる場合は、Blender内でマテリアルを細かく設定しすぎない方が無難です。

どうしてもBlenderでつくったマテリアルをUEに持っていきたい場合は、テクスチャをベイクするしかありません。
ベイクするとはつまり、Blender内でオリジナルのPBRマテリアル用のテクスチャをつくるということです。

このあたりの技術体系ももいずれどこかでまとめたいと思います。


さいごに

ソフトウェアを行き来すると、いろいろとデータの受け渡しに苦労しますが、これがクリアできればできることの幅がかなり広がります。

UEは難しいからこそ、使えるようになった時の喜びは絶大です。
まずは簡単なところからでも良いので一歩ずつ学んでいけると良いと思います。

ぜひ、この機会に挑戦してみてはいかがでしょうか?

いいなと思ったら応援しよう!

堀江優太|Yuta Horie
ここまで読んで下さりありがとうございます!いただいたサポートはCGやデザインの勉強のために使わせていただきます。♡やシェアでの応援も泣いて喜びます!