Version: Unity 6.0 (6000.0)
言語 : 日本語
面法線の概要
ハイトマップ

法線マップのインポート

法線マップは、アセットフォルダーにテクスチャファイルを置くと、普通にインポートできます。ですが、Unity にそのテクスチャが法線マップであることを伝える必要があります。これは、インポート設定の Inspector で “Texture Type” 設定を “Normal Map” に変更することで行います。

白黒のハイトマップを法線マップとしてインポートするときは、 “Create from Greyscale” オプションにチェックを入れます。それ以外は同じです。

“Create From Greyscale” を選択すると、Inspector に Bumpiness のスライダーが表示されます。これを使うと、ハイトマップの高さから変換する際に法線マップの角度をどのぐらい急にするか調節できます。Bumpiness の値を低くすると、ハイトマップでコントラストが高い部分でも、緩やかな角度の凹凸になります。高い値にすると、凹凸が誇張され、凹凸に対して非常にコントラストの高いライティング作用になります。

【上】ハイトマップを法線マップとしてインポートする際に Bumpiness を低く設定した場合と、高く設定した場合。【下】それぞれがモデルに反映されたもの。
【上】ハイトマップを法線マップとしてインポートする際に Bumpiness を低く設定した場合と、高く設定した場合。【下】それぞれがモデルに反映されたもの。

法線マップをアセットに登録したら、マテリアルの Inspector にある Normal Map スロットに入れる事ができるようになります。スタンダードシェーダーには Normal Map スロットがありますし、古い機能のシェーダーでも、その多くは法線マップをサポートしています。

法線マップやハイトマップをインポートしたのに、法線マップである印 (上で説明した Texture Type:Normal Map の選択) をつけなかった場合、マテリアルの Inspector は警告を出し、以下のように解決を指示します。

Inspector 上で法線マップである事を示す印を付けないまま使おうとすると Fix Now 警告が表示されます。
Inspector 上で法線マップである事を示す印を付けないまま使おうとすると “Fix Now” 警告が表示されます。

“Fix Now” をクリックするのは、テクスチャの Inspector 設定で Texture Type:Normal Map を選択するのと同じ事になります。これは、テクスチャが本当に法線マップだった場合は機能します。しかし、グレースケールのハイトマップだった場合、自動的に検出される事はありません。ハイトマップの場合は必ずテクスチャの Inspector ウィンドウにある “Create from Greyscale” オプションを選択してください。

補助の法線マップの使用

スタンダードシェーダーのマテリアルの Inspector 下段に、補助法線マップ用スロットがある事にも注意してください。これは、ディティールを増やすための追加法線マップを使える、という事です。通常の法線マップ用スロットと同じ方法で、このスロットに法線マップを追加することができますが、補助法線マップのスケールやタイリング数を変えて、高レベルのディティールを作成することが意図されています。例えば、通常の法線マップで乗り物や壁のパネルのディテールを定義し、パネルのエッジに木立を加えます。補助法線マップは、基本となる法線マップより 5 - 10 倍密度を上げ、表面上のとても小さなひっかき傷やすり傷の凹凸をつけます。それらのディテールは、かなり近づいたときだけ見えるぐらい細かくすることができます。これだけの量の詳細を基本の法線マップ上に描こうとすると、かなり巨大な基本法線マップになってしまいますが、異なるスケールで 2 つを組み合わせると、補助の小さな法線マップテクスチャだけで、全体的な詳細レベルを高くすることができます。

面法線の概要
ハイトマップ