ノーマルマップでCGのクオリティを上げよう

はじめに

皆さんこんにちは!3回生3D課のチャンリーです。

早速ですが、皆さんはノーマルマップというものを知っていますか?

ノーマルマップとは、3Dモデルの凹凸を“見た目だけ”立体的に見せるテクスチャです。
僕は3回生になってからやっと使い始めました・・・

とても良いものだと思ったのでこのアドカレで共有しようと思います。

ノーマルマップの利点

ノーマルマップを使うと3Dモデルのクオリティが一気に上がります!
特に、リアルなモデル制作が好きな人には必須の技術でしょう。

具体例を紹介します。実際に下記の2つの画像を比較してみてください。

2枚目がノーマルマップを反映させたモデルです。1枚目がなんだかのっぺりしているのに対して、2枚目は凹凸が表現されていてリアルなモデルになっていますよね。これがノーマルマップの力です。

このように細かい凹凸があるモデルを作るときに役立ちます。
他にも以下のようなモデルを作るときに役立つでしょう。
金属の細かい傷・・・
服の模様・・・
生物の皮膚・・・
植物の表面・・・

また、ノーマルマップを応用すればポリゴン数を抑えることも出来ます。
ハイポリモデルから作成したノーマルマップによって元の凹凸を再現したローポリモデルが作れられるらしいです。
ポリゴン数は少なく済む方がゲーム制作的には嬉しいので、これは大きな利点となります。

ノーマルマップのつくりかた

単純にノーマルマップを作りたい時は「NormalMapOnline」を使うのがオススメです!

NormalMapOnlineはテクスチャ画像を渡すとノーマルマップなどを生成してくれる便利なツールです。
実際に検索して開いてみると画像のように表示されます。左の場所にベイクしたテクスチャ画像などを渡し、中央の下のDownloadでノーマルマップを得ることが出来ます。

それぞれの設定項目について解説します(分からないものもある)。面倒くさかったら初期設定で作ってもそれなりに良いものが作れます。

①Strength
凹凸の強調度を設定できます。数値が小さければ控えめ、大きければより誇張された凹凸ができます。

②Level
凹凸の深さを変えれる・・・?数値が小さいほど溝が深くなってる気がする。

③Blur/Sharp
凹凸情報をどれだけ滑らかにするかを設定できる。数値が小さいと滑らかで、高いとノイズが出てくる。

④Filter
分からない。基本変更しなくて良いと思います。

⑤Invert
凹凸を反転できる。

⑥Z Range
溝による影が消えてる・・・?

右の設定項目では実際にモデルに適用したらどうなるかをリアルタイムで見ることが出来ます。
最初から立方体や球、ティーポットなど様々なモデルがあるので色々試せます。

もちろん自分の作ったモデルで試すこともできますが、OBJファイルのみなので気を付けてください。
OBJファイルはBlenderのエクスポートからでも作れます。

もちろん、ノーマルマップはこれ以外にも様々な方法で作ることが出来ます。実際、先ほど紹介したポリゴンの削減のためのノーマルマップはBlenderで作るようですしね。

しかし、個人的にはBlenderによるノーマルマップ作製は難しいですし、NormalMapOnlineの方が細かい設定が出来るので基本はこちらをお勧めします。

ノーマルマップの適用の仕方

作ったノーマルマップをBlenderに適用する方法はシェーディングで画像のように繋げるだけです。
一番左のブロックは画像テクスチャから作ったノーマルマップを開いたものです。

ノーマルマップをUnityに適用する方法は、モデルのマテリアルのNormal Map(法線マップ)に作ったノーマルマップを指定するだけです。

おわりに

初めに謝罪から入らせていただきます。利点のところで紹介したハイポリモデルの凹凸を再現したローポリモデルを紹介したかったのですが、納得のいく成功品が作れませんでした。色々なサイトや動画で紹介されているので、興味がある人はぜひ調べてみてください。実際、使いこなせたらとても強いと思います。

今回はノーマルマップの原理を紹介しませんでしたが、法線が深く関わっています(法線の英語がNormal)。法線はシェーダーやCGの勉強自体にも深く関わってくるので、この分野に詳しくなりたいなら勉強しておくと良いかもしれません。

コメントを残す

CAPTCHA