今日はノーマルマップの作り方についてまとめておきます。
Unityで壁などのオブジェクトにテクスチャをそのまま貼り付けても、質感がイマイチな場合があります。
下記は壁にそれっぽいテクスチャを貼っている画像ですが・・・
何というか、起伏が無くのっぺりした感じです。
平面の壁紙をペタッと貼り付けているだけなので、こうなってしまうのは当たり前なのですが・・・。
しかし、質感向上のためにゴツゴツしたモデルを一枚一枚作ったり複製したりして、イチイチ貼り付けるのは面倒です。
こういうときはノーマルマップ(法線マップ)を使うと、追加のポリゴンを使わずに質感を向上させることができます。
まずは、法線マップを使うと結果的にどうなるのか?
比較画像を用意しました。(クリック推奨)
ノーマルマップを適用すると壁の凸凹した感じがうまい具合に表現できているのがわかると思います。
①使用する壁紙を用意する。
今回は下記のような壁紙を用意しました。自室の壁紙です。
②ノーマルマップオンラインにアクセスし、ノーマルマップを作ります。
http://cpetry.github.io/NormalMap-Online/
左上の「Select image」をクリックし、先ほどの壁紙を選択してください。
紫色のノーマルマップが中央に作成されますので、画面中央下部の空欄にファイル名を入力し、拡張子を決めた後、「Dowaload」ボタンで画像を保存します。
③Unityを起動し、ノーマルマップを適用したいオブジェクトを選択する。
④オブジェクトのマテリアルを下記のように設定する。
・「Shader」を「BumpedSpecular」に設定する
・「Base(RGB)Gloss(A)」の「Select」をクリックし、壁紙を読み込ませる。
・「Normalmap」の「Select」をクリックし、に先ほど作成したノーマルマップを読み込ませる。(「Select」の下に「Fix Now」という文字が出る場合は、それをクリックして反映してください)
※今回は「Specular Color」は真っ白に設定しています。適宜設定してください。
これで壁にノーマルマップが反映されます。
ノーマルマップの作成は、Photoshopのプラグインを利用したり、専用のソフトを利用したり、他にも作成方法があります。
ネットが使えない場合を想定すると、事前にPhotoshopにプラグインを入れたり、ソフトを用意するのも選択肢の一つと言えると思います。