ハイポリのベイク


ハイポリのメッシュオブジェクトを作った際、ポリゴン数が重いのでこれをベイクして板ポリに焼き付ける。作ったメッシュをノーマルマップとしてテクスチャにする。ベイクする時はCycles、利用はEeveeで使える。


参考チュートリアル



ハイポリゴンを作る


平面を作成、スカルプトタブに入る。右上シンメトリーを外して、DynamictporoとSmooth shadingにチェック。

ダイナミックトポロジー


事前にオブジェクトを細分化しなくても編集を行った箇所だけ自動で細分化される。以前は手動で細分化する必要があった。なのでオブジェクトを作ってそのままスカルプティングに入って問題ないらしい。


ここでは適当にAと描いた。


スカルプト時に色を変えたい時はビュー表示のメニューから色々と変更できる。


ハイポリの準備はこれで終わりなのでベイク先のローポリを作る。

ローポリの準備


ベイク先のローポリとテクスチャの準備。平面を作ってUV展開されているかチェックする、展開されていないとベイクできない。


展開を確認出来たらベイク先のテクスチャを新規で作る。shadingタブに移動、画像テクスチャノードを追加。


新規でテクスチャを作成する、このテクスチャにベイクする。アルファは使わないのでチェックを外す。テクスチャサイズは使用用途によりけり、Unityは2048という記事をみた。


ノーマルマップはカラーデータではないので、色空間をNon-Colorに変更しておく。これでベイク先の準備はOK。


レンダリング・ベイクの設定


エンジンをCycles、ベイク項目のタイプをノーマル、選択物→アクティブのチェック。 レイの距離を設定、この距離はZ軸方向の高さをどこまでベイクするかの設定。単位がメートルなので画像は4メモリで40cmになる。少ないと途中まで焼きこまれる。


試しにレイの設定を短く0.05mでベイクしてみる。ハイポリ→ローポリの順で選択してベイク、画面下部に進捗バーが出る。すると途中でベイクが切れている。


ベイクが正常にできた状態、必ず画像を保存する。


シェーダーノードの設定


ベイクされた画像をノーマルマップとしてソケットを繋ぐ。板ポリにノーマルマップで出来た陰影が表示される。


完成とテスト


ライトのポジションを変えて正常に出来ていることの確認。