この記事では『バンプマップ』について説明します。 バンプ(Bump)とは『こぶ』や『隆起』という意味で、バンプマップは凹凸を付けるためのテクスチャです。
テクスチャというと、模様、つまり色をつけるための画像ということが真っ先に思い浮かびます。 しかし、テクスチャは色で模様をつけるだけでなく、凹凸を表現したり、拡散反射や鏡面反射の影響度、発光の強さなども表現することができます。
ここで紹介するバンプマップは、凹凸を表現するためのもので、具体的には、テクスチャの暗い部分はそのままで、明るい部分を隆起させるというような効果があります。 なお、バンプマップとは凸凹を表現するための明暗のテクスチャ画像であり、それをテクスチャとしてメッシュに貼り付けることをバンプマッピングといいます。
では、バンプマップで凹凸を表現してみましょう。 Blenderの新規ファイルを元にして作業を行いますので、画面上部のプルダウンメニューの"File" -> "New"を実行して新規ファイルを開いてください。
まず、UV展開に最適な画面レイアウトに切り替えます。
上図のようにInfoウィンドウのヘッダ部で画面レイアウト選択リスト()に "UV Editing" を選択します。
上図のように左側にUV/Image Editorウィンドウ、右側に3D Viewウィンドウという画面レイアウトに切り替わります。
続いて、UV/Image Editorウィンドウの不要なプロパティシェルフを閉じましょう。 UV/Image Editorウィンドウ上でキーボードのNを押します。
上図のようにUV/Image Editorウィンドウのプロパティシェルフが閉じます。
続いて、新規イメージを作成します。
上図のようにUV/Image Editorウィンドウのイメージ選択リスト()のイメージ追加ボタン()を押します。
上図のように"New Image"というタイトルのパネルが表示されますので、OKボタンを押します。
上図のようにUV/Image Editorウィンドウにイメージが作成されます。 しかし、初期値の1024 x 1024のイメージでは、初期の表示倍率では画面からはみ出します。
適切な表示倍率にするため、キーボードのHomeキーを押します。
上図のように表示倍率が変更され、イメージ全体が表示されます。
次に立方体のUV展開を行いますが、まずはUV展開情報をリセットしましょう。 エディットモードで全選択し、キーボードのUを押します。
上図のように"UV Mapping"というタイトルのメニューが表示されますので、"Reset"を実行します。
では、続いてUV展開を行いましょう。 キーボードのUを押します。
上図のように"UV Mapping"というタイトルのメニューが表示されますので、"Cube Projection"を実行します。
上図のようにUV展開されます。 イメージを大きく超える大きさで展開されているためわかりづらいですが、Cube Projectionによって2面 x 3箇所に展開されています。
6面が同じ位置に重なるようにCube Sizeを1.0未満にしましょう。 Cube Size数値欄の左に配置されている減ボタン()を押すのが簡単です。
上図のようにCube Sizeを 0.99 にします。
上図のようにUV展開されます。 見た目ではわかりませんが、6面が同じ位置に重なっています。
次に、立方体に模様となるテクスチャを貼り付けましょう。 バンプマップではなく、模様としての普通のテクスチャです。 まずは模様としての普通のテクスチャを貼り、その後にバンプマップのテクスチャを貼り付けます。
どんな画像でもいいので模様として貼り付けるテクスチャを用意してください。
では、再び、画面レイアウトを "Default" に戻しましょう。
上図のようにInfoウィンドウのヘッダ部で画面レイアウト選択リスト()に "Default" を選択します。
では、立方体に、用意した画像ファイルをテクスチャとして貼り付けましょう。
上図のようにPropertiesウィンドウのテクスチャパネル切替ボタン()を押します。
続いて、テクスチャを選択し、テクスチャの種類を選択します。
上図のようにテクスチャスロットから "Tex" を選択し、Typeに "Image or Movie" を選択します。
では、用意した画像を読み込みましょう。
上図のようにImageパネルのイメージ選択リスト()のイメージ読み込みボタン()を押します。
上図のようにFile Browserウィンドウが表示されますので、用意した画像ファイルを選択して、[Open Image]ボタン()を押します。
ファイルが読み込まれると、File Browserウィンドウは自動的に閉じます。
次に、メッシュとテクスチャのマッピング方法を変更します。
上図のようにMappingパネルのCoordinatesに "UV" を、Mapに "UVMap" を選択します。
では、この状態でレンダリングしてみます。 キーボードのF12キーを押します。
上図のように模様としてテクスチャが貼り付けられます。
ここまでは、バンプマップとは直接関係のない操作でした。 ここからは、いよいよバンプマップを利用します。 バンプマップを利用することで、立方体に凹凸があるかのように表現しましょう。
では、最初に作成したイメージを、バンプマップのテクスチャとしてマテリアルと関連付けましょう。
上図のようにPropertiesウィンドウのテクスチャパネル切替ボタン()を押します。
続いて、新たなテクスチャを作成します。 テクスチャ "Tex" は、すでに模様のテクスチャで使用していますので、新たに作成する必要があります。
上図のように空のテクスチャスロットを選択し、続けて、テクスチャ選択リスト()のテクスチャ追加ボタン()を押します。
続いて、テクスチャの種類を選択します。
上図のようにTypeに "Image or Movie" を選択します。
続いて、テクスチャとバンプマップ用のイメージを結びつけます。
上図のようにImageに "Untitled" を選択します。
次に、メッシュとテクスチャのマッピング方法を変更します。
上図のようにMappingパネルのCoordinatesに "UV" を、Mapに "UVMap" を選択します。
これで、マテリアルへのバンプマップの割り当てが終わりました。 ただし、バンプマップのイメージは黒色ですので、ここで色を塗りましょう。
作業はUV/Image Editorウィンドウで行いますので、UV展開に最適な画面レイアウトに切り替えます。
上図のようにInfoウィンドウのヘッダ部で画面レイアウト選択リスト()に "UV Editing" を選択します。
続いて、UV/Image Editorウィンドウの画像モードをビューモードからペイントモードへ切り替えましょう。
上図のようにUV/Image Editorウィンドウのヘッダにある画像モード選択リスト()のPaintを選択します。
続いて、筆先を太くします。 ペイント関連の設定項目は、ツールシェルフにあります。 UV/Image Editor上でキーボードのTを押してツールシェルフを開いてください。
上図のようにツールシェルフが開きます。
では筆先のサイズを変更しましょう。
上図のようにRadiusを200に設定します。 設定したら、再度キーボードのTを押してツールシェルフを閉じます。
では、イメージに色を塗りましょう。 隆起させたい部分が白色になるように塗ります。
上図のようにペイントします。
では、画面レイアウトを "Default" に戻します。
上図のようにInfoウィンドウのヘッダ部で画面レイアウト選択リスト()に "Default" を選択します。
ではここでレンダリングしてみましょう。 キーボードのF12キーを押します。
上図のようにバンプマップのテクスチャが模様として貼り付けられました。 凹凸を表しているようには見えません。
そうです、まだ設定が足りません。 テクスチャは、初期設定では模様として貼り付けられるようになっています。
色ではなく凹凸として貼り付けるには、マテリアルがどのように作用するかの設定を変更する必要があります。
上図のようにPropertiesウィンドウのテクスチャパネル切替ボタン()を押します。
続いて、テクスチャを選択します。
上図のようにバンプマップ用のテクスチャ "Texture" を選択します。
では、このテクスチャが、どのように作用するのかを設定しましょう。 模様としてではなく、凹凸を表現するよう設定を変更します。
上図のようにInfluenceパネルのColorチェックボックスをオフにし、Normalチェックボックスをオンにします。 模様、つまり色としてではなく、ノーマル(法線)に作用するよう変更したということです。
では、レンダリングしてみましょう。 キーボードのF12キーを押してください。
上図のように擬似的な凹凸が表現されました。 バンプマップ上で黒色の部分は変化がなく、白色の部分が隆起しているように見えます。
このように、バンプマップを使用することで、平坦な面に凹凸を表現することができます。 もし、モデリングで凹凸を作っていたとしたら、面数が増えてしまいレンダリングの時間が長くかかってしまいます。
バンプマップであれば、面数を増やすことなく凹凸を表現できるのです。
ただし、陰影計算で擬似的に凹凸があるかのように見せているだけなので、面を横から見ても盛り上がってはいません。
試しにカメラを動かしてレンダリングしてみましょう。
上図のように凹凸はありません。 上の面や左の面がわかりやすいです。
今回はテクスチャで凹凸を表現しました。 他にも、拡散反射や鏡面反射の影響度、発光の強さなども表現できます。
それらも、Influenceパネルで調整します。 Diffuseの設定項目で拡散反射を、Specularの設定項目で鏡面反射を、ShadingのEmitで発光の強さを表現できます。
ただし、今回のバンプマップのように、テクスチャの明暗によって強弱がつくのではありません。 テクスチャの不透明度(アルファ値)によって、強弱がつけられます。
つまり、テクスチャとして用意する画像が透明度を持っている必要があります。 他のソフトウェアで出力した画像を使う場合は、PNG形式のような透明を扱える方式でファイルを用意しましょう。
UV/Image Editorウィンドウで作成するイメージも、もちろん透明度を持つことができます。 New Imageパネルのカラーフィールドで、透明な色を設定するだけです。
手順は以下の通りです。
上図のようにUV/Image Editorウィンドウのイメージ選択リスト()のイメージ追加ボタン()を押します。
続いて、イメージの色を指定します。 初期状態では、不透明な黒色が指定されていますので、これを透明に変更しましょう。
上図のようにカラーフィールドをクリックします。
上図のようにカラーピッカーが開きますので、A に 0.0 を指定します。
上図のようにカラーフィールドの右側が市松模様になっていることを確認し、OKボタンを押します。
上図のようにUV/Image Editorウィンドウに透明なイメージが作成されます。 市松模様の部分が透明を表しています。