06 / 09
Module 06 · Baking ◐ AI + 手修正

テクスチャベイク

ハイモデルのディテールをローモデルのテクスチャに"焼き付け"、軽量なローモデルを数十万ポリゴンのハイモデルのように見せる。この工程でノーマルなどの中核マップを産出し、テクスチャリング(07)の入力になる。

所要時間1〜3 時間
難易度◐ AI + 手修正
ツールMarmoset · Blender · Substance
成果物ノーマル/AO/カーブ/ID マップ一式
/ 01 · この工程で何をするか

ローモデルをハイモデルに"化けさせる"

モジュール 04+05 を受けて:ハイモデルに合わせた綺麗なローモデルと、展開済みの UV が揃った——ベイクとはこの二つを組み合わせ、ハイモデルのディテールをテクスチャに焼き込むことだ。

原理:ハイモデルの形状をローモデル表面へ"レイ投影"し、ピクセルごとに表面の向きを記録してノーマルマップ(Normal Map)に保存する。ゲーム内ではローモデルにこのマップを乗せ、ライトを当てるだけで、ハイモデルの凹凸をすべて再現できる——しかもポリゴン数はごくわずかだ。

重要な認識:ノーマルマップは表面の凹凸を"化けさせる"だけで、シルエットは変えられない。だからローモデルの輪郭はモジュール 04 で正しく作っておくこと——歪んだシルエットはベイクでは救えない。

/ 02 · どのマップをベイクするか

一式のマップを、次の工程へ渡す

ノーマルだけではない。この一式のマップがモジュール 07 でマテリアルと摩耗表現を駆動する:

Normal ノーマル:必須 · ローモデルでハイモデルの表面凹凸を化けさせる(タンジェント空間)

AO アンビエントオクルージョン:窪み/継ぎ目のセルフシャドウの暗部(陰影を深める・汚す)

Curvature カーブ:エッジの凸/凹情報(摩耗・縁取りを駆動)

Material ID:パーツごとに別々の単色を塗る(テクスチャリング時に領域を一発選択)

Thickness 厚み:透過/サブサーフェス領域(耳、布の縁(オプション))

Position / Height:グラデーション/高さ情報(オプション、プロシージャル効果を駆動)

/ 03 · 核心原理:ケージとレイ

ベイクの成否は、すべてケージ次第

ベイク時、レイはローモデル表面からハイモデルへ向けてサンプリングする。ケージ(投影ケージ)とは、少し膨張させてハイモデルを包み込んだローモデルの層のこと——レイがどの方向から、どこまで飛ぶかを決める。

スムーズ(averaged)ケージを使う:ローモデル自身のノーマルを無視し、統一されたスムーズ方向から投影するので、ハードエッジ部分で割れて隙間ができない。ほとんどの場合これが推奨だ。

レイ距離はハイモデルをちょうど覆いきる長さに:短すぎるとハイモデルの突出部を拾えず(黒斑)、長すぎると拾ってはいけない隣の面まで拾う(混線)。

/ 04 · ベイク前に必ずやる準備

この四つで、ベイクエラーの 90% を防ぐ

命名のペアリング

ローモデルとハイモデルを接尾辞でペアにする、キャラ_low / キャラ_high。ベイカー(Marmoset Quick Loader / Substance)が自動でグループ化する。命名が違う=ペアにならない。

ローモデルの三角化

ベイク前に三角化し、ベイカーとエンジン内の三角化を一致させる。さもないとエンジン内でノーマルが崩れる。

ハイモデルの穴を塞ぐ

ハイモデルに穴があるとレイが空振りして黒斑が出る。先に穴を塞いでおく。

トランスフォーム適用 + 位置合わせ

ロー・ハイともに Apply Transform(位置/回転/スケールを正規化)し、ローモデルをハイモデルにぴったり密着させる(モジュール 04 で済み)。

/ 05 · ツールの選択肢

どこで焼く?四つの道

Marmoset Toolbag

GPU ベイク、リアルタイムプレビュー、ビューポートでケージ/スキューをペイント。見たまま焼ける業界標準、本節の一番手。

有料 · 不具合特定が最速

Blender 標準

Cycles の Selected to Active ベイク、ケージ + レイ距離を併用。無料で十分だが、リアルタイムプレビューがなく"手探りベイク"でやや遅い。

無料 · すべて Blender 内で完結

Substance Painter

テクスチャリングソフト内でついでに焼く(Bake Mesh Maps)。次の工程で Substance を使うなら、そのまま焼くのが一番手間がかからない。

07 とシームレスに連携

AI 自動ベイク

モジュール 04 で Meshy/Tripo の自動リトポとベイクを有効にしていれば、ノーマルは自動生成済み。品質はそこそこだが、背景キャラなら十分。

速い · 品質はそこそこ
/ 06 · 一工程ずつ

ペアリングから一式の綺麗なマップまで

6.1
命名ペアリング + インポート

_low / _high で命名し、ベイカーにインポート。同名なら自動で一つの Bake Group に組まれる。複雑なキャラはパーツごとに複数グループに分ける(ボディ、武器、ヘルメットで各一組)と、互いに混線しない。

6.2
ケージ / レイ距離を設定 最重要
  • まず自動推定(Marmoset の Estimate Offset / Blender の Extrusion+Max Ray Distance)でケージにハイモデルを大まかに覆わせる。
  • スムーズケージを使い、Max Offset を微調整:ハイモデルの一番突き出た部分をちょうど包み込む、過不足なく。
  • ぐるっと一周チェック:ローモデルがケージを突き抜けていないか、ケージが離れすぎて隣を拾っていないか。
6.3
まずノーマルを低解像度で試し焼き
  • まず 1024 で一版焼く——解像度が低く出力が速いうえ、不具合はむしろ一番見つけやすい。
  • タンジェント空間を合わせる:エンジン/Substance と統一する(多くは MikkTSpace / xNormal-Mikk)。不一致=エンジン内でノーマルが青くなり、継ぎ目が破綻する。
  • ノーマルをローモデルに乗せ、黒斑・色縁・ズレ・波打ちを探す。
6.4
不具合を修正 手修正はここ
  • 投影が歪んだディテール:Marmoset で Paint Skew を使いその場で塗り直す。Paint Offset で局所的にケージ距離を調整。
  • 黒斑:たいていハイモデルに穴があるかケージが短すぎる、戻って穴を塞ぐ / 距離を伸ばす。
  • 曲面の波打ち:ローモデルのその曲面の分割が足りない、モジュール 04 に戻って数段足すかベベルを追加——ノーマルはシルエットを変えられない。
  • 浮かせパーツ(floater):ネジ、リベットの類は表面に"浮かせて"単独で焼ける、ハイモデルの手間を省ける。
6.5
残りのマップを焼く
  • AO:Search Distance を継ぎ目や窪みに綺麗な暗部が出るまで調整。キャラは通常 Floor Occlusion をオフにする。
  • Curvature:Intensity を少し上げるとエッジがよりシャープになり、07 の摩耗駆動に使える。
  • Material ID:ハイモデルのパーツごとに単色(またはマテリアル)を塗り、ID マップを焼く。07 で色ごとに領域を一発選択できる。
6.6
出力設定 + エクスポート
  • 最終解像度:主役 2K〜4K、脇役 1K〜2K。
  • エッジパディング(Padding/Dilation):十分に確保し、UV アイランド間の継ぎ目の色滲みを防ぐ。
  • ノーマルは通常 8-bit PNG で出力(多くのエンジンは 8-bit 要求)。より滑らかにしたいなら 16-bit で焼いて変換する。
  • 命名規則:char_normal / char_ao / char_curv / char_id、一式を 06_bake にアーカイブ。
/ 07 · 重要な規律

三つの鉄則

① ケージがすべてを決める。ベイク不具合の九割はケージが覆いきれていないことに起因する。まずケージを正しく調整してから、マップの話をする。

② タンジェント空間と三角化はエンジンと一致必須。ベイカーでは綺麗なのにエンジンで破綻するなら、十中八九この二つが合っていない。

③ ノーマルは表面を補うだけで、シルエットは補わない。波打ちや輪郭の狂いはローモデル/分割の問題、前の工程に戻って直す。ベイクでねばるな。

/ 08 · よくある失敗

こうした落とし穴は、エンジンで初めて姿を現す

ケージが短すぎる → ハイモデルの突出部を拾えず、一面の黒斑。
ケージが長すぎる / パーツ未分割 → 隣の面を拾い、ディテールが混線。
タンジェント空間が不一致 → エンジン内でノーマルが青くなり、ライティングが不自然。
ベイク前に三角化していない、または不一致 → エンジン内でノーマルが崩れ、汚れが出る。
ハイモデルの穴を塞いでいない → レイが空振りし、黒い穴の不具合。
パディングを有効にしていない → UV アイランドの縁で色滲み、継ぎ目が出る。
ノーマルでシルエットの波打ちを直そうとする → 無駄骨、モジュール 04 に戻って分割を足すしかない。
/ 09 · 本節の成果物

これを全部チェックできて、初めて合格

綺麗なノーマルマップ黒斑/混線/継ぎ目なし、タンジェント空間が正しい
AO / Curvature / ID マップ07 のマテリアルと摩耗駆動用
ノーマルを乗せたローモデルのディテールがハイモデルに見えるローモデル + ノーマル = ハイモデルの見た目
解像度が基準達成、パディング十分、8-bit PNG主役 2K〜4K
命名規則どおり、一式アーカイブ済みchar_normal/ao/curv/id → 06_bake
/ 10 · 次の工程へ進む前のセルフチェック

🐾 三つの問い、全部通ってはじめて通過

  1. ノーマルを乗せたローモデルのディテールがハイモデルに見え、黒斑や色縁がないか?
  2. タンジェント空間と三角化がターゲットエンジンと一致しているか?
  3. AO / カーブ / ID すべて焼き終え、命名してアーカイブしたか?

▸ 三つとも通過 → モジュール 07 へ:テクスチャリング + マテリアル(◐ AI + 手修正)。