概要
Blenderでローポリメッシュとハイポリメッシュを用意してSubstancePainterでノーマルマップをベイクします。
その後、作成したノーマルマップをblenderに戻してローポリに適用して確認するまでの手順です。
本文
Blenderでローポリメッシュとハイポリメッシュを用意する
まずはデフォルトのキューブを
複製します。複製した方で編集モードに切り替えて凸凹を描きハイポリを作ります。
ローポリとハイポリができたら、fbxファイルをエクスポートします。どちらかを選択状態にしてエクスポート。次にもう一方を選択してエクスポートします。(スクショの様に両方が同じ位置に重なった状態にしておきます。合計2つのfbxファイルを作成します)
今回の例で使っている「デフォルトで用意されたキューブ」は自動でUV展開されていますが、オリジナルモデルの場合はUV展開をしておく必要があります。(ハイポリの方のUV展開は必要ありません。ローポリのUV展開だけでOKです)
SubstancePainterでノーマルマップをベイクする
SubstancePainterでローポリのfbxを開きます(作業画面にドラッグ&ドロップ)
メニューから「モード > メッシュマップをベイク」を選択して、ベイク画面に切り替わったら以下のように設定します
・ 出力サイズ2048以上
・ 高精細メッシュの右側にあるファイルアイコンを押してハイポリのfbxを選択
・ 「最前面の最大距離」と「背面の最大距離」はハイポリの凸凹を読み取る高さ&深さを指定します。右側のサムネイル表示で確認しながら適度な値に設定します。
例えば以下スクショの様に真っ赤な部分があると高さ設定が足りていないということです。赤い部分が無くなるまで「最前面の最大距離」を大きくします。
出来上がったら「テクスチャをベイク」を押します。ベイクが終了したら「ペインティングモードに戻る」を押します。
ノーマルマップが出来上がりました。
メッシュマップ - Normalを選択すればノーマルマップ単体を確認することもできます。
Blenderでノーマルマップを確認する
Blenderに戻ったらローポリだけを表示した状態にしてオブジェクトを選択状態にします。
Shadingタブを押して画面が切り替わったらPrincipled BSDFノードだけを選択状態にして「Ctrl」+「Shift」+「T」を押します。SubstancePainterでベイクしたテクスチャファイルを全部選択したら先ほどベイクしたノーマルマップが適用されます。(このショートカットキーを機能させるためにはアドオンNode Wranglerが必要です。)
補足
blender単体だけでもノーマルマップのベイクは出来ますが、ちょっぴりめんどくさいです。SubstancePainterなら手軽にできます。
補足2
ハイポリメッシュの凸凹は角度が急な垂直の高低差は情報がうまく乗らないことがあります。そんな時は少し角度をつけておくと上手くいくと思います。
リンク
【SP解説】ゲーム系モデラー絶対必見‼ベイクの設定や仕組みを分かりやすくモノマネ付き解説‼SubstancePainter