Blenderで法線マップの作り方
木目のフリーテクスチャ素材を使って法線マップをつくります。
まずはShift + a でPlaneを新規追加します。
このPlaneに「New」で新規のマテリアルを割り当てます。
同じようにテクスチャを新しく作ります。
TypeをImage or Movieにして、Openから木目画像を開きます。
Coordinatesを「Generated」にし、Normalにチェックをいれます。
F12でレンダーしながらNormalの値を変更しましょう。
良ければ「Color」のチェックをはずします。
「N」を押すと出るTransformウィンドウの下の方の、ShadingでGLSLを選択します。
Viewport ShadingでTextureを選びます。Viewport上にテクスチャが映るようになります。
Edit Mode(編集モード)にして「u」でメニューを出し、「Unwrap」をクリックします。
Coordinatesを「UV」にして、MapでUVMapを選びます。新しいシーンから操作を始めたなら、一つしかないはずです。
スクリーンレイアウトをUV Editingに切り替えます。
こんな領域が作られているはずです。
下にあるNewをクリックします。
名前とサイズを決めてOKを押します。
レイアウトをDefaultに戻し、カメラのマークのボタンをクリックして、下の方のBake Mode をNormalにして、Bakeをクリックします。
UV Editing に戻ると法線マップができているので画像で保存します。
Blenderで作った法線マップをUnityで使う
Unityへ行き、今作った法線マップと元の画像の両方をインポートします。
プロジェクトウィンドウの何もないところで右クリックからマテリアルを新規作成します。
マテリアルをクリックしたインスペクタで、元の画像をAlbedoへ、法線マップをNormal Mapへドラッグします。
Fix Nowのボタンが出てきたら押します。
このマテリアルを好みのオブジェクトにドラッグします。
Normal Mapを設定しないものと比べるとかなり立体的になっていますね。
光が拡散せずに、滑らかな面できらきら反射するようにするには、マテリアルの設定のSmoothnessを上げます。
マテリアルはBlenderからインポートしてもほとんど設定が反映されないので、マテリアルはUnityで一から設定するしかないようです。
Normal Mapの横の数字を挙げると、より効果が際立ちます。
Unityで法線マップを作る
元の画像を複製して、一方をマテリアルのAlbedoへ、他方をNormal Mapセットし、Fix Nowを押すことで法線マップを作ることもできます。
元の画像から自動で法線マップができるのは一緒ですが、仕上がりがかなり違います。
Unityで作った法線マップを使用
Blenderで作った法線マップを使用
立体感を出すために使われるHeight Mapや、2つ目のNormal Mapも同時に使えるので試してみてください。