本日は Blender2.8 の小ネタ枠です。
Blender2.8で複数マテリアルのカラー情報を1つのテクスチャにベイクする方法を記事にします。
サンプルモデル
サンプルとして、6つの面に異なるカラーマテリアルを割り当てた Cube オブジェクトを準備しました。
こちらのカラー情報を1つのテクスチャにベイクします。
ベイク手順
UVマップを展開する
最初に対象オブジェクトのUVマップを作成します。
[編集モード]に切り替えて、UVマップの切れ目にしたい辺を選択した状態で[シームをマーク]を実行します。
今回はUVマップをなるべく大きく使えるように全ての辺を選択しました。
シームを設定したら、[UV] -> [展開] を実行してUV展開を行います。
これでUVマップが作成されました。
展開されたUVマップは[UVエディター]で確認できます。
ベイク先のテクスチャを作成する
カラー情報のベイク先となるテクスチャを新規作成します。
[画像エディター]を開いて、[新規]ボタンをクリックします。
作成するテクスチャの情報を入力して、[OK]ボタンをクリックします。
今回は名前を変更しただけで、解像度などはそのままにしました。
これでテクスチャが作成されました。
各マテリアルに画像ノードを作成する
マテリアル毎に、ベイク先のテクスチャの参照を設定していきます。
[マテリアル]タブから、編集対象のマテリアルを選択した状態で[シェーダーエディター]を開きます。
テクスチャを参照するための画像ノードを追加します。
[追加] -> [テクスチャ] -> [画像テクスチャ] を選択します。
[画像テクスチャ]ノードが追加されるので、適当な位置に配置します。
ノードを繋いだりする必要はありません。
テクスチャの参照を設定します。
画像アイコンのプルダウンを開き、先ほど作成したテクスチャを指定します。
これでテクスチャの参照を設定できました。
他のマテリアルにも同じ設定を行うため、[ノード] -> [コピー] で[画像テクスチャ]ノードをコピーします。
他のマテリアルを選択して、[シェーダーエディター]の対象マテリアルを切り替えます。
[ノード] -> [貼り付け] で[画像テクスチャ]ノードを貼り付けします。
これでテクスチャを参照する[画像テクスチャ]ノードを設定できます。
同様の手順を繰り返して、全てのマテリアルにノードを設定します。
テクスチャにカラー情報をベイクする
最後にカラー情報をテクスチャにベイクします。
全てのマテリアルについて、[画像テクスチャ]ノードが選択状態(白枠)であることを確認してください。
選択中の[画像テクスチャ]ノードがベイク先になります。
[レンダー]タブを開き、[レンダーエンジン]で[Cycles]を選択します。
[ベイク]パネルが表示されるので開きます。
[ベイクタイプ]を[ディフューズ]に設定します。
[影響]を[カラー]のみに設定します。
更に不要なマージンなどが発生しないように[余白]の設定を[0 px]に変更しました。
ベイクの結果が確認できるように[画像エディター]を開きます。
[ベイク]ボタンをクリックしてベイクを開始します。
ベイクが完了するまで待機します。
モデルやマシンスペックによって時間がかかることがあります。
ベイクが完了すると、カラー情報が焼き込まれたテクスチャが生成されました。
生成したテクスチャを出力保存する場合は [画像] -> [名前をつけて保存] で保存します。