忘備録 基礎知識

ベイク 2025/01/25

ベイクとは、平たく言えば、マテリアル情報を画像に変更することです。

マテリアルを画像にするっていう点は、
テクスチャペイントと似てるで

テクスチャペイントの場合は、手描きで画像を作成します。
ベイクの場合は、手描きではなく、ノードで組み上げたマテリアルを元に画像を作成します。

ノードで作成されたマテリアルは、Blender独自のもののため、他の3Dファイル形式には対応していません。
そのため、UnityやUnreal Engine、webサイトといった外部ツールで使えるような形式の3Dファイルにする際は、マテリアルを画像にしておく必要があります。

目次

UV展開

ベイクする際は、テクスチャペイントと同じく、UV展開をしておく必要があります。
ベイクしたいオブジェクトをUV展開しておいてください。

展開したマップが近すぎるとベイク結果が重なってしまうので、適度に余白を残しておきます。

何をベイクするのか

ベイクとは、マテリアル情報を画像にすることと説明しましたが、マテリアルの全ての情報を1つの画像にすることはできません。

基本的には、
プリンシプルBSDFの項目1つにつき、1つの画像が必要となります。

よく使う種類は

  • ベースカラー
  • メタリック
  • 粗さ
  • ノーマル

の4種類です。

マテリアルがよく分からん場合は、
この4つをベイクしときゃ大概いける

シェーダーエディターでベイク先の画像テクスチャを用意する

画面を分割し、左側をシェーダーエディターに変更しました。
右側の3Dビューポートで、ベイクしたいオブジェクトを選択すると、左側にそのマテリアルの画面が表示されます。

シェーダーエディター側で、ベイク先になる画像テクスチャを準備します。

シェーダーエディター側の適当な余白で、Shift+A テクスチャ画像テクスチャを選択します。

画像テクスチャの新規をクリックします。

まずはベースカラーをベイクしたいので、名前を「BaseColor」にします。
名前は何でもいいのですが、「BaseColor」にしておくとあとで設定がやりやすくなります。
任意の名前にしたい場合は「○○○_BaseColor」のようにしておくと便利です。

幅と高さは1:1にします。
一般的に使われているサイズは、512、1024、2048、4096 となります。
大きければ大きいほど画質が綺麗になるので、容量も重くなります。

アルファは、透過を使う場合にチェックします。透過をつかっていなければチェックは外しておきます。

新規画像をクリックすると、ベイク先テクスチャの準備は完了です。

ベイク作業

準備ができましたので、いよいよベイクをします。

ベイク結果が見えるように、更に画面を分割します。

シェーダーエディターを表示している左側を上下に分割し、上をUVエディターに変更しました。

UVエディタで画像アイコンをクリックします。
すると、先ほどシェーダーエディタで用意した画像テクスチャ名が選択欄にありますので、そちらを選択します。

UVエディタの表示が真っ黒になりますが、これでOKです。

次に、レンダープロパティを開き、レンダーエンジンをCyclesにします。
ベイクはCycles以外ではできません。

レンダープロパティ内の下のほうに

ベイク

という項目があるので開きます

ベイクタイプを選択します。

今は、ベースカラーのベイクをしようとしていますので
ディフューズを選択します。

何で「ベースカラー」じゃないんやろな

影響の中の
直接照明間接照明
チェックを外します。

チェックを入れたままにしていると、レンダービューで確認できるライトやワールドの光の影響を受けてしまいます。

そういった影響は無しで、良い感じにしてほしいときはこのチェックを外します。

余白はベイクした際の余白のサイズです。

デフォルトで問題ないと思いますが、ベイクした際に問題が発生したらサイズを調整してみてください。

シェーダーエディター側で、先ほど作成した画像テクスチャを選択します。

レンダープロパティのベイクをクリックします。

ベイク中は、画面下部にTexture Bakeという表示が出ます。
現在、何%ベイクできたかを表示してくれます。

ベイクできると、UVエディタの表示がこのように変わります。

このケースの場合、他のパンケーキとお皿もベイクしたいです。
オブジェクトもマテリアルも別なので、次のパンケーキのベイクをします。

次にベイクしたいパンケーキのオブジェクトを選択。
マテリアルの表示が該当のものになっていることを確認します。

1つめと同じように、画像テクスチャを追加します。
1つめのときは、新規から新たな画像を作成しましたが、今回は1つめの続きにベイクするので画像アイコンから「BaseColor」を選択します。

レンダープロパティの設定は、1つめとほぼ同じですが、
今回は、出力の画像をクリアのチェックを外します。

これにチェックが入ってると、1つめのベイクが消えちゃうから要注意!!

これで、1つめと同じように、ベイクボタンをクリックして、ベイクされるのを待ちます。
ベイクが完了したら、3つめのパンケーキ、お皿と、同じ要領でベイクしていきます。

全てのオブジェクトのベースカラーのベイクが完了しました。

せっかくベイクが完了したのですが、「BaseColor」は画像としてはまだどこにも保存されていませんので、Blenderを落とすと消えてしまいます。

「BaseColor」を画像ファイルとして保存します。

UVエディタの画像をクリック、名前を付けて保存をクリックします。

保存設定がポップアップします。
保存先とファイルフォーマットを選択します。

特にこだわりが無ければPNGで良いかと思います。
容量を節約したい場合は、JPEGにします。

画像を保存をクリックします。

PCのフォルダで保存先を開いてみます。

先ほど保存したファイルが確認できれば、成功です。

では他の情報もベイクします。
今回、「メタリック」はどのマテリアルでも使っていないので、ベイクする必要がありませんのでパスします。
「粗さ」をベイクします。

シェーダーエディタで、先ほどBaseColorを作った画像ノードの新規作成アイコンをクリックします。

名前を「Roughness」にして
新規画像をクリックします。

色空間を「sRGB」から「非カラー」に変更します。

ベースカラー以外のベイクは、全て「非カラー」にします。

ベースカラーのときと同様、UVエディタの選択を変更します。

UVエディタの表示が、ベースカラーのときと同様、真っ黒になります。

レンダープロパティのベイクタイプを粗さに変更します。

あとは、ベースカラーのとき同様、ベイクボタンをクリックしてベイクします。

他のパンケーキとお皿も同様に、ベイクします。
ベイクできると、UVエディタの表示がこのようになります。

ベースカラーのときと違って、「粗さ」は、白黒で画像が作成されます。
「Roughness」の画像も、BaseColor同様、保存します。

最後に「ノーマル」をベイクします。
作業工程のほとんどは「粗さ」と同じになりますが、下記3点を変更してください。

画像テクスチャの名前は「Normal」、
色空間は「非カラー」
にします。

UVエディタの画像をNormalに変更します。

レンダープロパティのベイクタイプをノーマルにします。

これで、ベイクを行います。

ノーマルのベイクは、このように、紫っぽい色になります。

今回のマテリアルは、あまり凹凸がないため一色に見えますが、凹凸に応じて色に変化が出ます。
こちらも作成した画像を保存します。

画像テクスチャをマテリアルに反映させる

これで必要な種類のベイクが完了しましたので、マテリアルに反映していきます。

今回は比較のために、オブジェクトを複製しました。
複製したオブジェクトに、ベイクという名前のマテリアルを割り当てます。

シェーディングタブに移動します。

マテリアルがベイクになっていることを確認してから、
プリンシプルBSDFを選択して、Ctrl+Shift+Tを押します。

ポップアップウィンドウが開きますので、ベイクで作成した「BaseColor.png」「Normal.png」「Roughness.png」を選択して、プリンシプルテクスチャセットアップをクリックします。

画像ノードが自動設定されて、ベイクした画像がマテリアルに反映されました。

ベイクの際の画像名を「BaseColor」「Roughness」「Normal」という名称にしたのは、この自動設定を行わせるため

以上で、ベイク完了となります。

こうこく

目次