こんにちは!
今回はテクスチャのベイクを使用することでできることと、そのやり方を紹介します!
ベイクとは?
ベイクとは、焼き付けを行う工程のことです。
レンダリングで表現される色や質感をテクスチャとして焼き付けることができます。マテリアルごとに設定した情報を削減することができるため、情報の少量化が図れます。
またUnityなど外部ソフトにエクスポートしたときに行う色設定も容易になるため積極的に使用していきましょう!
- マテリアル数の削減ができる
- Unityでの色設定が容易になる
- テクスチャから他テクスチャに転写する
Unityを使用してモデルを完成させる人にとっては重要度が高い情報なのでこのタイミングで覚えていきましょう!
レンダリングエンジン
Blender2.8から搭載されたレンダリングエンジンの「Eevee」にテクスチャをベイクする機能はありません。
そこでベイクをする場合、レンダリングエンジンはCyclesを使用します。
実際にベイクをやってみよう
このキャップに実際にテクスチャを焼き付けていきましょう!
シェーダーエディターでノードを追加します。
画像テクスチャノードを追加
エディタータイプからシェーダーエディターを選択します。
このシェーダーエディターから「SHIFT+A」で様々なノードを追加できますが、マテリアルが存在しない状態では灰色になって追加できません。
マテリアルプロパティからマテリアルスロットを追加しましょう。
マテリアルが追加されたら改めて「SHIFT+A」で追加します。
「画像テクスチャ」ノードが追加されました。
新規からテクスチャ設定をします。
名前 | 分かりやすい名前 |
幅:高さ | 2048 px |
アルファ | なし |
32ビットFloat | なし |
タイル状 | なし |
アルファや32ビットFloatは必要になった場合にのみチェックを入れましょう。
大きいモデルの場合は2048px以上4096pxにすることもあります。
ベイク先のテクスチャを保存する
ベイクはファイルとして定期的に保存しないと復元できなかったり、Blender終了のたびに消去されてしまいます。
ベイク先のノードを選択する
このようにつなげることでノードが反映されます。
ベイク先を間違えてしまうのはよくあることです。
この様に枠が白くなるようにしましょう。
ベイク先を間違えたら、UVエディターで画像 > ReplaceもしくはAlt+Rから保存前のテクスチャに戻します。
モードを選択する
ベイクタイプを変更することで効果を選択できます。
ベイクしたいオブジェクトを選択してベイクボタンを押します。
ベイクには時間がかかるため気長に待ちましょう。
ベイク結果がわかりやすくなるように試しに光源を追加してみます。
また、ベイクされたテクスチャが変化したかわかりやすくするためにライトの強さをあらかじめあげておきます。
また、ベイク結果はUVエディター上で確認できます。
白く光っている部分はライトが当たっている面で、黒い部分はその逆でキャップ内部になります。
Blender上では適用されていますが、フォルダ内のファイルを確認するとテクスチャ自体はまだ元の状態から変わっていません。
UVエディター上で「ALT+S」で画像として保存をして反映させましょう。
ライトをオフに、もしくは非レンダリングモードにした場合でもライトに照らされたようなテクスチャがベイクされました。
わかりやすくライトのみでのテクスチャで行いましたが、本来ベイクという機能はレンダリング結果を焼き付けて最終的に一つのテクスチャ画像として用意することができます。
- 茶色に革材質のような色合いを付けたい
- 金属光沢のような鈍い色を付けたい
- 肌色の下に薄く別の色を入れてリアルな肌にしたり
といった際に使用した複数のテクスチャを一つにまとめることができる便利な機能です。
Unityなど複数のテクスチャを読み込みしない場合などに多用する機能の為今回でやり方を覚えて生かしてみましょう。
まとめ
手順さえ分かってさえいれば問題なく行えるようになるため、ベイクの方法と何を行っているのかを覚えましょう!
ゲームを制作するUnityなどでは複数のテクスチャを読み込みできない場合や、光沢の表現を他ソフトに持っていけない場合もあるためベイクを使用することが多いようです。
改めて手順の紹介をします。
- 画像テクスチャノードを追加
- UV展開でデザインした画像を読み込み
- レンダリングで完成させたい色合いや材質に変更
- モードを選択してベイク
- 「ALT+S」で保存
もしベイクが反映されない場合は次のことを試してください。
- ノードを空にして画像テクスチャノードとマテリアル出力を直接つなぎ、ベイクを阻害しているノードが有るか無いか
・・・放射など想定していないパラメータを触ってしまっている可能性があります。
- ベイクタイプを正しく設定しているか
・・・例)光沢が存在していないのに「光沢」としてベイクしてしまっている
・・・例)影響タブのチェックボックスをチェックし忘れている
コメント