ハイモデルのディテールをローモデルのテクスチャに"焼き付け"、軽量なローモデルを数十万ポリゴンのハイモデルのように見せる。この工程でノーマルなどの中核マップを産出し、テクスチャリング(07)の入力になる。
モジュール 04+05 を受けて:ハイモデルに合わせた綺麗なローモデルと、展開済みの UV が揃った——ベイクとはこの二つを組み合わせ、ハイモデルのディテールをテクスチャに焼き込むことだ。
原理:ハイモデルの形状をローモデル表面へ"レイ投影"し、ピクセルごとに表面の向きを記録してノーマルマップ(Normal Map)に保存する。ゲーム内ではローモデルにこのマップを乗せ、ライトを当てるだけで、ハイモデルの凹凸をすべて再現できる——しかもポリゴン数はごくわずかだ。
重要な認識:ノーマルマップは表面の凹凸を"化けさせる"だけで、シルエットは変えられない。だからローモデルの輪郭はモジュール 04 で正しく作っておくこと——歪んだシルエットはベイクでは救えない。
ノーマルだけではない。この一式のマップがモジュール 07 でマテリアルと摩耗表現を駆動する:
Normal ノーマル:必須 · ローモデルでハイモデルの表面凹凸を化けさせる(タンジェント空間)
AO アンビエントオクルージョン:窪み/継ぎ目のセルフシャドウの暗部(陰影を深める・汚す)
Curvature カーブ:エッジの凸/凹情報(摩耗・縁取りを駆動)
Material ID:パーツごとに別々の単色を塗る(テクスチャリング時に領域を一発選択)
Thickness 厚み:透過/サブサーフェス領域(耳、布の縁(オプション))
Position / Height:グラデーション/高さ情報(オプション、プロシージャル効果を駆動)
ベイク時、レイはローモデル表面からハイモデルへ向けてサンプリングする。ケージ(投影ケージ)とは、少し膨張させてハイモデルを包み込んだローモデルの層のこと——レイがどの方向から、どこまで飛ぶかを決める。
スムーズ(averaged)ケージを使う:ローモデル自身のノーマルを無視し、統一されたスムーズ方向から投影するので、ハードエッジ部分で割れて隙間ができない。ほとんどの場合これが推奨だ。
レイ距離はハイモデルをちょうど覆いきる長さに:短すぎるとハイモデルの突出部を拾えず(黒斑)、長すぎると拾ってはいけない隣の面まで拾う(混線)。
ローモデルとハイモデルを接尾辞でペアにする、キャラ_low / キャラ_high。ベイカー(Marmoset Quick Loader / Substance)が自動でグループ化する。命名が違う=ペアにならない。
ベイク前に三角化し、ベイカーとエンジン内の三角化を一致させる。さもないとエンジン内でノーマルが崩れる。
ハイモデルに穴があるとレイが空振りして黒斑が出る。先に穴を塞いでおく。
ロー・ハイともに Apply Transform(位置/回転/スケールを正規化)し、ローモデルをハイモデルにぴったり密着させる(モジュール 04 で済み)。
GPU ベイク、リアルタイムプレビュー、ビューポートでケージ/スキューをペイント。見たまま焼ける業界標準、本節の一番手。
有料 · 不具合特定が最速Cycles の Selected to Active ベイク、ケージ + レイ距離を併用。無料で十分だが、リアルタイムプレビューがなく"手探りベイク"でやや遅い。
無料 · すべて Blender 内で完結テクスチャリングソフト内でついでに焼く(Bake Mesh Maps)。次の工程で Substance を使うなら、そのまま焼くのが一番手間がかからない。
07 とシームレスに連携モジュール 04 で Meshy/Tripo の自動リトポとベイクを有効にしていれば、ノーマルは自動生成済み。品質はそこそこだが、背景キャラなら十分。
速い · 品質はそこそこ_low / _high で命名し、ベイカーにインポート。同名なら自動で一つの Bake Group に組まれる。複雑なキャラはパーツごとに複数グループに分ける(ボディ、武器、ヘルメットで各一組)と、互いに混線しない。
① ケージがすべてを決める。ベイク不具合の九割はケージが覆いきれていないことに起因する。まずケージを正しく調整してから、マップの話をする。
② タンジェント空間と三角化はエンジンと一致必須。ベイカーでは綺麗なのにエンジンで破綻するなら、十中八九この二つが合っていない。
③ ノーマルは表面を補うだけで、シルエットは補わない。波打ちや輪郭の狂いはローモデル/分割の問題、前の工程に戻って直す。ベイクでねばるな。
▸ 三つとも通過 → モジュール 07 へ:テクスチャリング + マテリアル(◐ AI + 手修正)。