MRが楽しい

MRやVRについて学習したことを書き残す

Blender2.8で複数マテリアルのカラー情報を1つのテクスチャにベイクする

本日は Blender2.8 の小ネタ枠です。
Blender2.8で複数マテリアルのカラー情報を1つのテクスチャにベイクする方法を記事にします。
f:id:bluebirdofoz:20200709231117j:plain

サンプルモデル

サンプルとして、6つの面に異なるカラーマテリアルを割り当てた Cube オブジェクトを準備しました。
こちらのカラー情報を1つのテクスチャにベイクします。
f:id:bluebirdofoz:20200709231132j:plain

ベイク手順

UVマップを展開する

最初に対象オブジェクトのUVマップを作成します。
[編集モード]に切り替えて、UVマップの切れ目にしたい辺を選択した状態で[シームをマーク]を実行します。
今回はUVマップをなるべく大きく使えるように全ての辺を選択しました。
f:id:bluebirdofoz:20200709231145j:plain

シームを設定したら、[UV] -> [展開] を実行してUV展開を行います。
f:id:bluebirdofoz:20200709231155j:plain

これでUVマップが作成されました。
展開されたUVマップは[UVエディター]で確認できます。
f:id:bluebirdofoz:20200709231208j:plain

ベイク先のテクスチャを作成する

カラー情報のベイク先となるテクスチャを新規作成します。
[画像エディター]を開いて、[新規]ボタンをクリックします。
f:id:bluebirdofoz:20200709231219j:plain

作成するテクスチャの情報を入力して、[OK]ボタンをクリックします。
今回は名前を変更しただけで、解像度などはそのままにしました。
f:id:bluebirdofoz:20200709231230j:plain

これでテクスチャが作成されました。
f:id:bluebirdofoz:20200709231240j:plain

各マテリアルに画像ノードを作成する

マテリアル毎に、ベイク先のテクスチャの参照を設定していきます。
[マテリアル]タブから、編集対象のマテリアルを選択した状態で[シェーダーエディター]を開きます。
f:id:bluebirdofoz:20200709231251j:plain

テクスチャを参照するための画像ノードを追加します。
[追加] -> [テクスチャ] -> [画像テクスチャ] を選択します。
f:id:bluebirdofoz:20200709231300j:plain

[画像テクスチャ]ノードが追加されるので、適当な位置に配置します。
ノードを繋いだりする必要はありません。
f:id:bluebirdofoz:20200709231310j:plain

テクスチャの参照を設定します。
画像アイコンのプルダウンを開き、先ほど作成したテクスチャを指定します。
f:id:bluebirdofoz:20200709231321j:plain

これでテクスチャの参照を設定できました。
他のマテリアルにも同じ設定を行うため、[ノード] -> [コピー] で[画像テクスチャ]ノードをコピーします。
f:id:bluebirdofoz:20200709231332j:plain

他のマテリアルを選択して、[シェーダーエディター]の対象マテリアルを切り替えます。
[ノード] -> [貼り付け] で[画像テクスチャ]ノードを貼り付けします。
f:id:bluebirdofoz:20200709231346j:plain

これでテクスチャを参照する[画像テクスチャ]ノードを設定できます。
同様の手順を繰り返して、全てのマテリアルにノードを設定します。
f:id:bluebirdofoz:20200709231358j:plain

テクスチャにカラー情報をベイクする

最後にカラー情報をテクスチャにベイクします。
全てのマテリアルについて、[画像テクスチャ]ノードが選択状態(白枠)であることを確認してください。
選択中の[画像テクスチャ]ノードがベイク先になります。
f:id:bluebirdofoz:20200709231411j:plain

[レンダー]タブを開き、[レンダーエンジン]で[Cycles]を選択します。
f:id:bluebirdofoz:20200709231426j:plain

[ベイク]パネルが表示されるので開きます。
[ベイクタイプ]を[ディフューズ]に設定します。
f:id:bluebirdofoz:20200709231440j:plain

[影響]を[カラー]のみに設定します。
更に不要なマージンなどが発生しないように[余白]の設定を[0 px]に変更しました。
f:id:bluebirdofoz:20200709231451j:plain

ベイクの結果が確認できるように[画像エディター]を開きます。
f:id:bluebirdofoz:20200709231502j:plain

[ベイク]ボタンをクリックしてベイクを開始します。
f:id:bluebirdofoz:20200709231512j:plain

ベイクが完了するまで待機します。
モデルやマシンスペックによって時間がかかることがあります。
f:id:bluebirdofoz:20200709231522j:plain

ベイクが完了すると、カラー情報が焼き込まれたテクスチャが生成されました。
f:id:bluebirdofoz:20200709231532j:plain

生成したテクスチャを出力保存する場合は [画像] -> [名前をつけて保存] で保存します。
f:id:bluebirdofoz:20200709231608j:plain