CGBoxの一部の記事にはアフィリエイト広告が含まれております。
【Blender 3.5】バンプマップの作り方・バンプノードの使い方を紹介!
こんにちは!
こちらの記事では、フリーの3DCGソフト「Blender」を使う上でのヒントになる情報を発信しています。
今回は、白黒のテクスチャ画像(バンプマップ)から簡単に凹凸を作ることができるバンプノードの使用方法について解説します。
また、バンプマップの作り方についてもあわせて説明します。
バンプとは?
「バンプマッピング」とは、「白黒テクスチャ画像のピクセルの明るさに応じて、オブジェクト表面の凹凸を再現する」手法です。
バンプマッピングに使用する白黒テクスチャを「バンプマップ」と呼びます。
こちらのように、バンプマッピングの結果は、白色に近いピクセルほど高く(盛り上がって)、黒色に近いピクセルほど低く(凹んで)表現されます。
バンプマップを活用することで、ピクセル数の少ないオブジェクトや平らな面に対して、ディテールを追加することができ、よりリアルなマテリアルを表現できます。
後で紹介しますが、ノイズテクスチャやテクスチャペイントなどを使うことで、簡単にバンプマップを作成し、凹凸を表現することができます。
Blender上では、上の例のようにバンプマップをオブジェクト表面の凹凸として出力するために「バンプ」ノードを使用します。
バンプノードの設定および使い方については後で説明します。
バンプマップとノーマルマップの違い
バンプマップと同様にテクスチャで凹凸を表現できる機能として、「ノーマルマップ」があります。
バンプマップが白黒画像でピクセルごとの「高さ」を表現するのに対して、ノーマルマップはこちらのようにテクスチャのピクセルごとの法線の向き(UV座標系)をR(赤)・G(緑)・B(青)の3色で表現します。
法線方向をマッピングすることで表面の凹凸を表現できる「ノーマルマップ」の機能についてはコチラの記事で紹介しているので、あわせて参考にしてください。
バンプマップとノーマルマップには、簡単にまとめるとこちらのような違いがあり、それぞれメリット・デメリットがあります。
バンプマップ | ノーマルマップ | |
仕組み | 白黒画像で高さを表現 | 赤・青・緑で法線の角度を表現 |
作りやすさ | 比較的かんたん (白黒画像を作ればよい) | やや難しい (Blenderのベイクまたは 画像ソフトを使いこなす必要がある) |
グラデーション | 表現できない (不自然な段差ができる) | 表現できる |
向いているもの | 凹凸がハッキリしているもの (パネルライン、ざらざらした表面など) | 細かい凹凸 (木目や皮膚など) |
特にバンプを使う上で注意しておきたい点としては、バンプマップは「グラデーション」(滑らかな凹凸)を表現するのに不向きです。
たとえば、コチラの例では白黒のグラデーションを付けた模様をバンプマップに入力していますが、黒いところと灰色のところで不自然に段差が生じているように見えます。
こちらのように、カラーランプの補間を「一定」にして、灰色の濃さを徐々に変えることである程度グラデーションを再現することはできますが、バンプでなめらかな凹凸を表現するのは難しいです。
バンプマップとノーマルマップの違いについては、コチラの記事でくわしく解説されているので、あわせて参考にしてみてください。
バンプノードの使い方
バンプノードを、Blender上で使用する方法について紹介します。
バンプノードの追加方法
まず、バンプノードの追加方法ですが、シェーダーエディター上で「Shift+A」→「ベクトル」→「バンプ」で追加できます。
バンプノードを使用する際は、こちらのように白黒テクスチャをバンプノードの「高さ」ソケットに入力し、バンプノードの「ノーマル」出力ソケットからシェーダーの「ノーマル」に入力します。
間違ってテクスチャをバンプの「ノーマル」などに接続してしまうと、バンプが反映されないので注意してください。
バンプノードの設定
バンプノードには、以下5種類の入力・設定項目があります。
一つ一つ順に説明します。
- 強さ:「バンプによって得られる効果の強さ」を調節
- 距離:バンプマッピングの全体的な距離を制御する、高さの値の乗数
- 高さ:オブジェクト表面からの高さのオフセット量
- ノーマル:ノーマル情報を入力
- 反転:バンプマッピングを反転する
強さ
「強さ」は、「バンプによって得られる効果の強さ」を調節する項目で、0だとバンプによる凹凸はなく、数値を上げると凹凸が深くなります。
また、スライダーだと0~1の数値内でしか変えられませんが、直接数値を入力することで1よりも強く設定することも可能です。
距離
Blenderリファレンスマニュアルによると、「バンプマッピングの全体的な距離を制御する、高さの値の乗数。」だそうです。
1よりも大きい値にしてもあまり影響ありませんが、0に近い値にすると凹凸がなだらかになり、0にすると凹凸がなくなります。
高さ
バンプマップの入力によって、オブジェクト表面からの高さのオフセット量を与えます。
ここにテクスチャ入力を接続します。
ノーマル
ノーマル情報を入力します。
バンプマップやノーマルマップの出力結果の上にさらにバンプマップを重ねる場合は、こちらに入力します。
反転
「反転」にチェックを入れると、バンプマッピングを反転します。
コチラのように、バンプマップの白の部分が内側に凹むように見えます。
バンプマップの作り方・バンプの使い方
ここからは、バンプを使って具体的な表現を行うために、バンプマップの作り方・バンプの代表的な使い方をいくつか紹介したいと思います。
金属の傷を表現する
バンプを使って、金属の表面についた細かい傷を表現することができます。
こちらのように、「ノイズテクスチャ」「カラーランプ」「バンプ」を接続して、プリンシプルBSDFの「ノーマル」に入力しています。
カラーランプの白と黒を反転させることで、傷の凹みを表現しています。
金属表面の凹凸や傷の作り方は、以前の記事でも紹介しているので、参考にしてみてください。
リアルな「傷」を表現する方法について、コチラの記事ではバンプを使った方法以外にも様々な手法を紹介しています。
あわせて参考にしてみてください。
パネルラインを追加する(筋彫り)
「テクスチャペイント」で作成した画像テクスチャをバンプに接続することで、コチラのように簡単にロボットのようなパネルライン(筋彫り)を表現することができます。
やり方はこんな感じです。
背景カラーを白色に設定し、「OK」を押します。
ブラシのカラーを黒に設定し、ラインを引いていきます。
テクスチャペイントスロットを追加すると、自動的に画像テクスチャとバンプが追加されます。
Blender上でモデルにペイントできる「テクスチャペイント」の基本的な設定方法については、コチラの記事を参照ください。
バンプノードを重ね合わせて岩肌を表現する
こちらのように、ノイズテクスチャを接続したバンプノードを重ね合わせるだけで、簡単にリアルな岩肌を表現することができます。
上の図のノイズテクスチャ①②と、バンプノード①②は、以下のように「スケール」と「強さ」を変えて重ね合わせています。
- ノイズ①:スケール5.0
- バンプ①:強さ1.0
- ノイズ②:スケール50
- バンプ②:強さ0.55
リアル調の岩・石を作るには様々な方法があります。
詳しくはコチラの記事で解説していますので、あわせて参考にしてください。
バンプマップのノーマルマップへのベイク
バンプマップは、ノーマルマップにベイクすることができます。
モデルを外部にエクスポートする場合など、バンプが使えない場合は、こちらの方法でノーマルマップにベイクしてみてください。
画像テクスチャの「新規」をクリックし、新規画像を作成しておきます。
シェーダーエディター上で、画像テクスチャを選択した状態にしておいてください。
すると、表面の凹凸がノーマルマップとして表示されます。
ノーマルマップをベイクする方法については、コチラの記事で紹介しているので、あわせて参考にしてみてください。
まとめ
バンプノードの使用方法と、バンプマップの作り方について、基本的な設定内容と使用例を紹介してみました。
バンプを使うことで、ポリゴン数を増やさなくても簡単に情報量を増やし、リアルな表現ができるようになるので、ぜひバンプを使い倒していただければと思います!