
前回、スカルプトモデリングについて紹介しましたが、そのモデルの活用方法について説明します。

スカルプトしたハイポリのモデルから凹凸情報を画像にベイク(焼き付け)します。
そうすることで、ポリゴン数を抑えつつリアルな表現を両立させることができます。
ノーマルマップのベイク手順
- リトポロジー
- UV展開
- ノーマルマップのベイク
- ノードに接続
リトポロジー
要はポリゴンを減らし、面の流れを考えながらメッシュを貼りなおす作業です。

今回はUV球をプロポーショナル編集などで整えるだけで終わりましたが、形状によっては鬼のような泣ける作業になります。

人体モデルとか、えぐそうですよね。


作成したハイポリモデルとローポリモデルをぴったり合わせるようにして準備完了です。
UV展開
次にUV展開を行います。
今回はUV球で調整不要でしたが、ゆがみや解像度を確保しながら展開を行いましょう。


最初はグリッドで確認してから、新規画像を挿入するのがおすすめですね。


ノーマルマップのベイク
いよいよ焼きこみを行います。


まずレンダーエンジンをCyclesにします。


レンダープロパティの下の方にいくと「ベイク」というタブがあるので展開してください。
そこから「ベイクタイプ」をノーマルに、「選択物→アクティブ」にチェックを入れ、「押し出し」の項目の数値を変更します。
ベイクの深さになるので、モデルサイズに合わせ適宜調整してください。


その後「ハイポリ」→「ローポリ」の順番でメッシュを選択します。


シェーディングタブに移動し、新しい画像テクスチャノードを挿入します。
まだ接続はしないでください。
左下のウインドウを画像エディターにしておくことで、ベイクした画像をリアルタイムで確認することができます。
ここまで出来たらレンダープロパティのベイクを押下します。


するとノーマルマップが生成されたことを確認することができると思います。
ここでできたノーマルマップの画像は忘れずに保存しておいてください。


その後はできたノーマルマップの画像をノード接続します。
シェーディングタブで画像テクスチャノードを挿入(色空間を非カラーにします)、ノーマルマップノードを挿入、プリンシプルBSDFのノーマルの端子に接続することで凹凸情報を表現することができます。


放射輝度のベイク
同じ要領で放射輝度(Radiance)もベイクできます。
イラストなどでよくある「影」を自動で描きこむことができます。
- 放射輝度のベイク
- 画像を合成
- ノードに接続
放射輝度のベイク
焼きこむ用の影を作成します。


ハイポリモデルを選択して、新規マテリアルを追加(又はシングルユーザー化)して、ジオメトリノードを挿入、凸部分をカラーランプの係数につなぎます。
カラーランプでお好みの影になるように調整してください。


調整できましたら、ローポリモデルのシェーディングタブで画像テクスチャノードを挿入して新規画像を作成します。


ハイポリモデル→ローポリモデルの順番でアクティブにして、新規画像をセットした画像テクスチャノードをアクティブにします。
ベイクタイプを「放射」にして、選択物→アクティブと押し出し量がノーマルのときと同じになっていることを確認してください。
ベイクを押下します。


影情報が焼きこまれた画像が生成されます。
できた画像を名前を付けて保存しておき、一度Blenderを離れます。


写真から塗る色を転写できるので、参照してみてください。
ペイントツールでの作業


レイヤー機能があるペイントツール(Photoshop・GIMP・Saiなど)を用意します。



私はSaiを使ってます。
陰影やオーバーレイなどで合成し、色味を調整します。


できましたね。
この時モデルの頂点数は242まで削減しているのにも関わらず、より深い陰影を表現できていると思います。



やったね!
まとめ
いかがだったでしょうか。
ノーマルマップを用いてモデルの容量を抑えるのはゲーム業界では必須のテクニック…らしいです。
容量を抑えるメリットは数多くあるので、皆さんもノーマルマップを駆使して快適なBlenderライフを楽しんでくださいね!