High PolyモデルからLow Polyオブジェクトへディテールを転送するために、Normal MapをBakeする方法を見ていきましょう。
動画の書き起こし
みなさん、こんにちは!数日前に、Blender、Substance Painter、Meshroomを使ったフォトグラメトリの短い入門シリーズの最終回を公開しました。最後の数回のうちのひとつで、Substance PainterでNormal Mapをベイクして、High PolyオブジェクトのディテールをLow Polyバージョンに転送する方法を紹介しました。このビデオチュートリアルでは、Blenderで同じことを行う方法をお見せします。
新しいBlenderプロジェクトで、High PolyオブジェクトとLow Polyオブジェクトの両方をインポートし、同じ位置と向きに配置しています。

Low Polyオブジェクトを選択し、Edit Modeで少し拡大して、High Polyバージョンを完全に囲むようにします。より複雑な形状の場合は、ShrinkwrapモディファイアをOutsideに設定して使うこともできます。
Low PolyオブジェクトにはすでにUVアンラップがあり、これから作成するNormal MapはそのUVマップに適用されます。このUVマップはHigh Polyジオメトリのものとは大きく異なっていても問題ありません。

ここで、Low Polyオブジェクトを選択し、まだMaterialが割り当てられていなければ、ひとつ割り当てます。そして、Shader EditorでそのMaterialに新しいImage Textureノードを追加し、今のところは接続せずにそのままにしておきます。
Image TextureノードでNewをクリックして、新しい画像を希望の名前と解像度で定義します。今回は、画像の名前を「Baked Normal Map」とし、解像度は2048×2048に設定しました。また、Normal Mapに透明チャンネルは不要なので、Alphaのチェックは外しました。
このノードは選択されたままにしておいてください。ベイクされた情報はこの画像に直接保存されるためです。つまり、このノードがアクティブであり、Low PolyオブジェクトのMaterialの一部になっていることが重要です。

ベイクするには、Object Modeに切り替え、High PolyオブジェクトとLow Polyオブジェクトの両方を選択します。その際、Low Polyオブジェクトがアクティブオブジェクトになっていることを確認してください。
次に、PropertiesエディターのRenderタブに移動し、レンダーエンジンがCyclesに設定されていることを確認してから、下にスクロールしてBakeセクションを探します。

このセクションでBake TypeをNormalに変更し、その下にあるSelected to Activeオプションを有効にします。これにより、Blenderは選択されたHigh Polyオブジェクトから、選択かつアクティブなLow Polyオブジェクトにベイクを行うようになります。

Bakeをクリックして、処理が完了するのを待ちます。もしアーティファクトが見られたり、ディテールがうまく転送されない場合は、Selected to ActiveセクションのExtrusionの値を上げて、満足のいく結果が得られるまで再度ベイクを行ってください。ベイクが完了すると、Blenderは生成された画像がまだプロジェクト内にあるだけで、ディスクには保存されていないことを通知してくれます。

画像をディスクに保存するには、Image Editor内のImageメニューに移動します。このステップは、バックアップを作成するだけでなく、ノードのColor Spaceを変更して、テクスチャ適用時のエラーを防ぐためにも重要です。

この画像をLow Polyオブジェクトのマテリアル用のNormal Mapとして正しく使用するには、まずそのColor SpaceをNon Color Dataに設定します。そして、Normal Mapノードを追加し、画像をこの新しいノードに接続します。これにより、画像はNormal Mapとして正しく解釈されます。最後に、Normal Mapノードの出力をマテリアルのNormal入力に接続します。

画面には、現在デフォルトのBase Colorと新しく作成したNormal Mapを使用しているモデルのレンダリングプレビューを表示しています。背景のライティングは、もともとの単色からHDRI環境テクスチャに変更しました。これにより、オブジェクトに異なるライティングを与え、ディテールを強調しています。ご覧のとおり、これらのディテールはNormal Mapそのものから来ており、ノードのStrengthパラメータで強さを調整できます。
