Blenderで法線マップを簡単に作成
Blenderで、複雑な形のハイポリのモデルの表面の凹凸を、ただの四角形のローポリモデルに焼き付けます。
右がハイポリで左がローポリです。
まず、Blenderで大きめのCubeを作ってコピーします。
どちらかわかるように名前を変えておくと便利です。
ハイポリにする方だけ面を分割します。
Edit ModeでProportional Editingを使って点を引っ張り、凹凸を作りました。
右だけ凸凹になりました。
SmoothとAuto Smoothを使って表面をなめらかにしています。
ローポリのUVマッピング
四角形の展開図がうまく作れるように線を複数選択します。この線に沿って切り離されて展開図ができます。
Ctrl + E からMark Seamを選択します。
赤い線が付きました。
画面を分割します。
片方をUV/Image Editorにして、Newを押して画像を新規作成します。
ローポリを選択してEdit Modeにした状態で A で全選択し、U -> Unwrap をクリックします。
展開図が表示されます。
これで画像内のある位置と、モデルの表面の中のある位置の間に対応関係ができて、画像のこの部分をモデルのこの部分に表示させるというようなことができます。
法線マップをベイクする
3Dモデルの方に戻って、Object Modeでローポリとハイポリを同じ座標にして重ねます。
Transformパネルで両方のLocationを0にすると早いです。
今あるオブジェクトが表示されるOutlinerという画面で、ハイポリ→ローポリの順に複数選択します。
プロパティの一番左の下の方のBakeを開きます。
Bake ModeでNormalsを選択します。
Selected to Activeにチェックをいれて、Bakeを押します。
UV/Image Editorの方にノーマル(法線)マップが作られました。
凹凸がうまく表示されないときは、BakeのDistanceやBiasの値を変えてみるとうまくいくことがあります。
普通の画像として保存できます。
Unityでマテリアルを作る
Unityにもってきました。右がハイポリで左がローポリですね。
ローポリに付けるためのマテルアルを新規作成します。
保存した法線マップもインポートします。
マテリアルをクリックして、インスペクタの「Normal Map」と書いてある左の四角形に、法線マップの画像をドラッグアンドドロップします。
Fix Nowと出てきたらクリックします。
さらに、このマテリアルをローポリモデルにドラッグアンドドロップすることで適用できます。
ちゃんとローポリも凸凹に見えますね。
これはトリックアートのように凸凹に見せているだけで、形は四角形のママ変わらないので、横から見ると違いがすぐにわかります。