【Unity】Blenderで作成した3DモデルをglTF形式でインポートする
せっかくBlenderでマテリアル・テクスチャを設定しても、FBX形式では色・質感・ノーマルマップといった情報はエクスポートされません。
そのせいで、「マテリアルの再設定が手間だ」「Unity上で思った表現ができない」と悩んでいる方、いらっしゃるのではないでしょうか?
こういった悩みを解決してくれる「glTF」というフォーマットが存在します。
今回はこの「glTF」フォーマットを用いて、マテリアル再設定の手間削減・Blenderで設定した表現をUnity上で再現するための手順についてご紹介していきます。
glTFとは?
「Khronos Group 3D Formats Working Group」によって開発された、使う場所を選ばずに3Dモデルやシーンを表現することができるフォーマットです。
要するに共通フォーマットであり、相互運用可能な3D表現が簡単に実現できます。
Blenderでは「ver.2.8」になりglTF形式でのエクスポートが可能になりました。これによりBlenderとほぼ同様のシェーディングでUnityにインポートできるようになりました。
マテリアル、テクスチャの再設定等を行う必要がなくなるため、作業効率が向上します。
3DモデルをglTF形式で保存
今回glTF形式でエクスポートするモデルと使用しているテクスチャは以下の通りです。
*以前の記事で画像を3Dモデルに転写する手順をご紹介した際に使用したモデルです。よろしければ以下の記事もご覧いただけると幸いです。
【Blender】テクスチャペイントモードで画像を3Dモデルに転写・投影する
ノードは以下の通りです。
続いてエクスポートしたいオブジェクトを選択した状態で、[ファイル]->[エクスポート]->[glTF2.0]の順で選択します。
エクスポート設定は以下の通りです。
「選択したオブジェクト」にチェックを入れない場合はシーンごとエクスポートされるため注意が必要です。
単一のオブジェクトのみをエクスポートしたい場合は、忘れずにチェックしておくことをおすすめします。「マテリアル」も忘れずにチェックしておきましょう。
任意のフォルダに3Dモデルを保存して完了です。
Unityにプラグインをインストール
以下のリンクによりプラグインをダウンロードします。
ダウンロードが完了したら、ファイルを解凍しておきましょう
続いてUnityを起動し、[Assets]->[Import Package]->[Custom Package]の順で選択し、先ほどダウンロードした「UniGLTF」ファイルを選択します。
最後に選択画面が出たら「Import」をクリックしてプラグインのインポートは完了です。
3DモデルをUnityにインポート
それではglTF形式の3Dモデルをインポートしていきます。「UniGltf-1.27」タブを展開し、「Import」を選択してください。
先ほど保存した、glTFファイルを選択してインポートを実行します。
インポートされたファイルを確認してみましょう。
マテリアル・メッシュ・テクスチャ・「Leaf」のPrefabオブジェクトが保存されていることが確認できます。
また、マテリアルを確認してみると「Albedo」「Normal Map」に、Blenderで設定していたテクスチャがそれぞれ割り当てられていることが確認できます。
UnityとBlenderの比較をしてみました。
ライティングの関係もあり、若干色味は違って見えますが、ほぼ同様の状態でオブジェクトをエクスポートできていることが確認できます。
もちろんUnity上でのマテリアルの再設定・調整は可能です。変更したい場合はマテリアルの各種プロパティを調節してください。
まとめ
いかがでしたでしょか。今回はBlenderで作成した3DモデルをglTF形式でエクスポートする手順についてご紹介してきました。
glTF形式を利用すれば、3Dモデルのエクスポート・インポートがかなりスムーズになります。
今回はAlbedoとNormalMap用のテクスチャしか用意していませんでしたが、その他のプロパティ(Metallicなど)も同様にglTF形式で反映可能です。是非お試しください!
この記事はいかがでしたか?
もし「参考になった」「面白かった」という場合は、応援シェアお願いします!