Blenderでマテリアルのベースカラーをテクスチャにベイクする方法を説明します。


今回は、このような白と黒の2つのマテリアルを、1つのテクスチャにベイクし、マテリアルを1つにまとめる方法です。
ベイクとは
オブジェクトの色や形状といった情報をテクスチャに描き換えるテクニックです。テクスチャはカラーテクスチャだけでなく、ノーマルマップなどもベイクを行います。つまり色情報にとどまらず複雑な表面の形状、陰影情報といったマテリアルの詳細な情報をあらかじめテクスチャとして保存し、リアルタイムでの表示を高速化します。
ゲーム開発では、リアルな影や光の効果を効率的に表現するためにベイクを利用します。これにより、負荷の高い計算を省略し、パフォーマンスを向上させることができます。
UVマップの確認
まず、画面レイアウトを「UV Editing」に変更して、ベイクするオブジェクトに適切なUVマップがあることを確認します。

テクスチャをベイクする際のUV展開で気を付けるべきポイント
- UV領域を0-1に収める:
UVマップは通常、0から1の範囲内に収める必要があります。これにより、テクスチャの範囲内で正確にマッピングされ、無駄な空白を避けることができます。 - UVの表裏の確認:
UV展開が正しく表裏を反映していることを確認してください。裏返しになっていると、テクスチャが正しく表示されないことがあります。 - オーバーラップ(重なり)を避ける:
UV島が重ならないように配置します。オーバーラップがあると、異なる面の情報が混ざり、テクスチャが正しくベイクされません。 - UVスケールの均一性:
すべてのUV島が均一なスケールで展開されるようにします。これにより、テクスチャのディテールが均一になり、見た目に違和感が生じにくくなります。 - UV境界のピクセルブリーディング:
UV境界に十分なスペースを設けて、ベイク時に色のにじみ(ブリーディング)が起こらないようにします。これにより、UV島間の色の混ざりを防ぎ、より高品質なベイク結果を得られます。
ベイク用の画像テクスチャの作成
シェーダーエディターを開く

画面レイアウトを「シェーディング (Shading)」に変更します。
新しい画像テクスチャを追加

①1つ目のマテリアルを選択します。
②シェーダーエディターの 「追加 (Add) > テクスチャ (Texture) > 画像テクスチャ (Image Texture)」 から新しい画像テクスチャを追加します。

①+新規 (New)ボタンを押して、新しい画像を作成します。ノードをつなぐ必要はありません。
②テクスチャの名前とサイズを指定します。他はデフォルトでOKです(画像ではアルファをオフにしています)。
新規画像をクリックします。
画像テクスチャノードのコピー

作成した画像テクスチャノードを選択した状態で
マウス右ボタンクリック>コピー (またはCtrl+C)します。
画像テクスチャノードを他のマテリアルにペースト

①次のテクスチャを選択します。
②シェーダーエディター内で
マウス右ボタンクリック>貼り付け (またはCtrl+V)で先ほどのテクスチャノードをペーストします。
ベイクの設定
プロパティエディターでレンダー設定を開く

①プロパティエディター(右サイドバー)でレンダー設定のタブを選択します。
②「レンダーエンジン (Render Engine)」を「Cycles」に設定します。
ベイク設定を行う

①ベイク設定に移動
「ベイク (Bake)」セクションまでスクロールし
②ベイクタイプを選択
「ベイクタイプ (Bake Type)」を「ディフューズ (Diffuse)」に設定します。
③付与(Contributions)の変更
今回は拡散光のみをベイクするので、影響のオプションで「カラー (Color)」のみをチェック
「直接照明 (Direct)」と「間接照明 (Indirect)」のチェックを外します。
ベイクを実行する

①ベイクを開始
オブジェクトを選択した状態でベイク (Bake)ボタンをクリックします。
②進行状況を確認
ベイクが完了するまで待ちます。ベイクの進行状況は、画面下にプログレスバーで表示されます。
③ベイク画像の確認
ベイクが完了すると画像エディターに結果が反映されます。
テクスチャを保存する

①UVエディターを開く:
画面レイアウトを「UV Editing」に変更します。
②ベイクされたテクスチャを保存:
画像エディターで 「画像 (Image) > 名前を付けて保存 (Save As…)」 を選択します。
ベイクされたテクスチャを保存します。
新しいマテリアルをオブジェクトに適用する

ベイクしたテクスチャを適用することでマテリアルが一つにまとまりました。