【Blender】マテリアルをテクスチャにベイクする

Blender-マテリアルをテクスチャにベイク 3Dモデル関連
スポンサーリンク

この記事ではBlenderでマテリアルをテクスチャにベイクする方法について紹介します。
私自身もまだBlender初心者ですが特にベイク関係で悩むことが多かったので、情報の整理も兼ねてアウトプットしておきます。
同じような初心者の方の助けになればと思います。

Blenderのバージョンは3.1.2を使用しています。

テクスチャのベイク方法

1.シェーダーを設定

立方体のオブジェクトを使って説明していきます。

立方体の画像
「Shift+A」でメッシュから立方体を選択します

マテリアルを設定します。
例として、ボロノイテクスチャを追加してベースカラーにつなげてみました。

マテリアルを設定した画像
このベースカラーをテクスチャにベイクします

2.UV展開する

「UV Editing」を開きます。
右側の画面でTabキーを押して編集モードに切り替え、Aキーで全選択します。

UV Editingでオブジェクトを編集モードで選択する画像
左側に展開図のようなものが出てきます

左側の画面の上部にある「新規」をクリックします。
名前を付けてOKをクリックし、新規画像を作成します。

新規UV画像を作成する画像
他の設定は特に変えていません

OKをクリックすると表示が少し変わりました。
念のためこの状態で画像を保存しておきます。
「画像 > 名前をつけて保存」で任意の場所に保存しましょう。

作成したUVを保存する画像
ベイクに失敗したときのために保存しておきましょう

3.ベイクする

再度Shadingを開きます。
Shift + Aを押してテクスチャから画像テクスチャを追加します。
画像テクスチャノードの写真のアイコン(新規ボタンの左側)をクリックし、先ほど作成した画像の名前を選択します。

画像テクスチャノードを追加する画像
画像では「bake」という名前になっています

ベイクするためにレンダープロパティの設定を変更します。
レンダーエンジンを「Cycles」に変更します。

レンダーエンジンの設定画像
レンダープロパティ(カメラのアイコン)を開き、レンダーエンジン設定を変更します

レンダーエンジンを変更すると下の方にベイクが表示されているので、クリックして展開します。
ベイクタイプを「ディフューズ」に変更し、影響の中にあるチェックボックスは「カラー」のみチェックが入っている状態にします。

ベイク設定の画像
照明のチェックがONになっていると、ベイクした時にライトの明るさが影響してしまうようです

ここまで設定出来たら、画像テクスチャを選択した状態でベイクをクリックします。

画像テクスチャノードを選択してベイクする画像
ノードの周りが白くなっていれば選択状態になっています

ベイクが完了すると左下のビューにベイクした画像が表示されます。

ビューにベイクしたテクスチャが表示されている画像
これがテクスチャ画像となります

テクスチャ画像は必ず保存しておきましょう。
三本線が並んだアイコンをクリックして、「画像 > 名前を付けて保存」から保存できます。
これでマテリアルのベイクは完了です。

テクスチャ画像の保存手順画像
任意の場所に保存します

4.テクスチャの表示を確認してみる

ちゃんとベイクできているか確認してみます。
もう一つ立方体を追加しました。

確認用立方体を追加した画像
確認用に立方体を追加します

新規をクリックしてマテリアルを追加し、さらに画像テクスチャノードを追加します。
「開く」をクリックし、保存したテクスチャ画像を選択します。

追加した立方体にマテリアルを設定する画像
立方体にマテリアルを設定していきます

画像テクスチャのカラーとプリンシプルBSDFのベースカラーをつなぎます。
立方体が最初にボロノイテクスチャで設定した方と同じ見た目になりました!

カラーとベースカラーをつなぐ画像
カラーとベースカラーをドラッグしてつなぎます
Unityでも表示できるか確認

fbx形式でエクスポートして、fbxファイルとテクスチャ画像をUnityに持っていきます。

Unityにfbxとテクスチャを入れた画像
この段階ではまだ色がついていませんね

Projectウィンドウで立方体のモデルを選択します。
InspectorウィンドウのMaterialsを表示し、「Extract Materials」をクリックします。
マテリアルの保存場所を聞かれるので、Assets下の任意の場所を選択してください。

InspectorウィンドウのMaterials画像
Unity側でマテリアルを設定します

マテリアルが追加されます。

Projectウィンドウにマテリアルが追加された画像
保存した場所にマテリアルがあればOKです

マテリアルを選択します。
Inspectorウィンドウに「Albedo」という部分があるので、ここにテクスチャ画像をドラッグアンドドロップします。
するとオブジェクトにマテリアルが反映され、Blenderと同じ見た目になりました。

テクスチャ画像をAlbedoに設定する画像
テクスチャが設定され、オブジェクトに色が付きます

5.注意点

メタリックの値が「0」以外になっている状態でベースカラーをベイクしようとすると、色が黒っぽくなった状態でベイクされます。
回避するにはメタリックをいったん「0」にした状態でベイクしてください。

メタリックを「1」にしてベイクした画像
メタリックが「1.0」の場合は完全に真っ黒になってしまいます

おまけ:ベースカラー以外のベイク

粗さやノーマルなど、ベースカラー以外のベイクをする場合はベイクタイプを変更します。
ベースカラーの場合はディフューズを選択しましたが、ベイクタイプのリストの中には「粗さ」や「光沢」などもあるのでベイクするものに応じてタイプを変更する必要があります。

ベイクタイプの画像
ベイクタイプを変更します

試しに粗さを「1.0」に変更し、ベイクタイプを「粗さ」にしてベイクしてみました。
粗さは白黒で0~1の値が表現されます。

粗さをベイクした画像
画像テクスチャノードを選択状態にしてベイクします

ベイクタイプには「メタリック」がありません。
調べてみたところ、メタリックをベイクしたい場合はベイクタイプで「放射」を選択するようです。

複数のマテリアルを1つのテクスチャにベイク

複数のマテリアルを1つのテクスチャ画像にまとめてベイクする方法についても紹介しておきます。
例として、異なるマテリアルを設定した2つのオブジェクトを使用して説明します。

異なるマテリアルが設定されたモデルの画像
画像は右側の直方体のマテリアルです

1つの時と同じようにUV EditingからUV展開した画像を作成していきます。
このとき、少し大きめのサイズで作成します。

大きめのサイズでUV展開する画像
幅と高さを2048にしました

この中に他のオブジェクトもUV展開していくため、先ほど展開された図の大きさと位置を変更しておきます。
操作はオブジェクトの編集モードと同じようにAで全選択、Sで拡大縮小、Gで移動などができます。

UV展開図を整理する画像
端の方に寄せておきます

次のオブジェクトもUV展開します。
複数選択するには、Tabを押してオブジェクトモードに切り替え、Shiftを押しながらオブジェクトを選択してTabキーで編集モードへ切り替えます。
Aを押して全選択し、先ほどと同じようにUV展開した画像の位置を調整します。
全てのオブジェクトがUV展開できたら画像を保存しておきましょう。

複数オブジェクトをUV展開した画像
これを1つのテクスチャにまとめたいオブジェクト全てで行います

Shadingへ移動します。
それぞれのオブジェクトのマテリアルに画像テクスチャノードを追加し、保存したUV展開画像を指定します。

このとき、各マテリアルで画像テクスチャノードを選択状態にしておいてください。

それぞれのオブジェクトに画像テクスチャノードを追加している画像
画像テクスチャノードを追加します

ベイク設定をし、オブジェクトを全て選択した状態でベイクをクリックします。

複数オブジェクトを選択してベイクする画像
まとめたいオブジェクトを全て選択します

ベイクが完了すると、選択したオブジェクトのマテリアルがそれぞれベイクされました。

ベイク完了時の画像
1つのテクスチャにまとめられました

画像テクスチャのカラーとプリンシプルBSDFのベースカラーをつないでベイクが正しく実行できたか確認しておきましょう。

ベイクできたか確認する画像
マテリアルの見た目が元と同じようになっていればOKです

まとめ:UV展開→画像テクスチャノードを追加→ベイク!

マテリアルをテクスチャにベイクしたい場合、ざっくり以下の手順でできました。
・UV展開して画像を保存しておく
・画像テクスチャノードを追加し、UV展開時に保存した画像を設定
・画像テクスチャノードを選択した状態でベイク
ベースカラー以外をベイクする場合はベイクタイプを変更すればOKです。

複数のマテリアルを1つのテクスチャにまとめる場合は、1つにまとめたいオブジェクト全てをUV展開し、ベイクするときにオブジェクトを全て選択した状態でベイクすればできました。

Blenderで作成してUnityで使用する場合にテクスチャが必要になるので、テクスチャにベイクする方法は必ず押さえておきたいところですね。

コメント

タイトルとURLをコピーしました