慣れれば3分!Bumpノードを使用した質感表現の方法

Blender

【Blender】Bumpを使用した質感表現の方法

さくっとそれっぽい見た目にしたい
マテリアル作ってみたけど、立体感がない・・・もっと良くしたいのに!

そんなお悩みの方へ、慣れれば3分でできる
Bumpノードを使用したインスタントテクスチャ表現をご紹介します。

結論

Bumpノードを使ってテクスチャにノーマルマップを持たせる
画像のように凹凸感がリアルに表現できます。

この記事で紹介するメッシュの完成形と、ノードマップのキャプチャです。

目次

  1. 結論
  2. 環境
  3. Bumpノードとは
    1. ノイズ系テクスチャと相性が良いBumpノード
  4. Bumpノードで木の質感表現
    1. メッシュの作成
    2. テクスチャの設定
    3. Bumpノードを追加
    4. ColorRampでカスタム
  5. ノイズテクスチャと一緒に使う
    1. 金属の腐食表現
    2. ノイズテクスチャ追加
    3. Bumpノードを追加
    4. ColorRampでカスタム
  6. まとめ

環境

OS: Windows10
メモリ: 32GB

Dependents
Blender: v2.92.0

Bumpノードとは

簡単に言うと、テクスチャの凹凸感を表現してくれるノードです。

詳しい説明については、公式のドキュメントに
詳細が書かれていますので参照してみてください!

一応、公式ドキュメントを見てみると・・・

Bumpノードのドキュメント

Bump (バンプ)ノードは、バンプマッピングのために、高さテクスチャから摂動した法線を生成します。

つまり、Bumpノードは高さのデータを受け取って
それを元に、メッシュに法線(光の反射方向)を生成してくれるノード、ということですね!

法線というのは、Blenderがシェーディング処理を行う際に
面の明るさの計算に使用するベクトルの事です。

要するにBumpノードは
メッシュの法線を高さに合わせて変更し
疑似的に凹凸感を表現してくれるノード、です。

実際にメッシュに凹凸はできませんが、
シェーディング処理を行う時にそれっぽく見せてくれる、というわけですね。

ノイズ系テクスチャと相性が良いBumpノード

メッシュにテクスチャ画像を使用する際
カラー画像と一緒に、ノーマルマップ画像もセットになっている事が多いです。

そういった場合は
付属のノーマルマップ画像を使用した方が、自然な仕上がりになると思います。

ですが、テクスチャを自作した場合や
ノーマルマップ画像が付属していなかった場合などには
Bumpノードでノーマルマップを表現してあげるのが良いかなと思います!

テクスチャを自作する時に、ノイズテクスチャを使ったりします。

ノイズテクスチャとBumpノードを組み合わせた腐食した金属の例

ノイズテクスチャとBumpノードを組み合わせる事で
このような腐食した金属っぽい表現を作る事もできます!

腐食した金属の表現については
この記事の最後に作り方を紹介していますので、そちらも読んでみて下さい。

Bumpノードで木の質感表現

それでは、記事の冒頭で紹介した木のマテリアルを作ってみたいと思います!
完成品はこんな感じになります。

完成イメージ

それでは作っていきましょう~!

メッシュの作成

まずは、円柱のメッシュを追加します。
頂点数は今回は24にしましたが、あまり結果に影響はないので
お好みでOKです。

さくさく、マテリアルを設定していきましょう。

画面をShadingに切り替えて
ShaderEditorから、「+New」をクリックしてマテリアルを追加します。

テクスチャの設定

ShaderEditor上でShift+Aを押すと、ノード追加のメニューが開きます。

メニューの一番上のSearchから、追加するノードを検索できるので
ImageTexture を検索して追加します。
(日本語で使用している場合は、画像テクスチャで検索できると思います)

画像テクスチャを追加したら
Openからテクスチャに使用する画像を開きます

今回は、ambientCGというサイトからテクスチャをお借りしました。
こちらからテクスチャをダウンロードできます。
wood029 | ambientCG

画像を設定したら、画像テクスチャのcolorを
プリンシプルBSDFのcolorに接続します。

ImageTexture: :color -> PrincipledBSDF: :color

このままだと、テクスチャが歪んでいるので整えます。

先ほどと同じ手順で、MappingノードTextureCoordinateノード
検索して追加します。

ノードを追加したら
TextureCoordinateのGeneratedを、MappingのVectorに接続します。Mappingの出力のVectorは、画像テクスチャのVectorに接続します。

接続すると、こんな感じになると思います。

TextureCoordinate: :Generated -> Mapping: :Vector
Mapping: :Vector -> ImageTexture: :Vector

このままだと、テクスチャの向きが不自然なので
MappingのRotation: X を90°に変更します。

Bumpノードを追加

ただテクスチャを追加しただけだと、まだ表面のつるつる感が目立ちますね。
よりリアルな質感に近づけるために、Bumpノードを追加していきます。

ノード検索で、bumpを検索します。
画像テクスチャと、プリンシプルBSDFの間に追加しましょう!

接続はこんな感じです。

ImageTexture: :color -> Bump: :height
Bump: :normal -> PrincipledBSDF: :normal

Bumpを追加することで、一気に凹凸感が出てきました!
Bump適用前と比較してみるとこんな感じです。

Bump適用後
Bump適用前

BumpノードのStrengthを調整してあげるだけでも
凹凸感の調整ができますので、試してみて下さい!

ノードはこんな感じになっています。

ColorRampでカスタム

さて、Bumpノードを追加したことで凹凸感が出ましたが
少しデコボコしすぎていますね。
これから、このデコボコを調整していきます!

まずは、ColorRampノードを検索して追加しましょう。

接続はこんな感じです。
ColorRampを画像テクスチャとBumpの間に入れてください。

ImageTexture: :color -> ColorRamp: :fac
ColorRamp: :color -> Bump: :height

ColorRampを追加したら、グラデーションの左端にある、
黒色を左右に動かしてみましょう。
今まで全体的にデコボコしていたのが、凹凸感にばらつきが出てくるのが分かりますね。

Bumpは色の明暗を、高さに変換しているので
黒 = 低い、白 = 高い となって、法線に適用されていきます。

グラデーションの黒を右に動かす事で
Bumpノードに渡される暗い色の範囲が増えて、凹凸感に影響を与えているようです。

それではColorRampのグラデーションを調整して、
凹凸感を調整してみましょう!

今回は、こんな感じになりました!
程よく凹凸がついて、よりリアルになったのではないでしょうか?

一応、ColorRampを追加した後と前で比較してみましょう。

ColorRamp追加後
ColorRamp追加前

以上が、Bumpノードの基本的な使い方と、
Bumpノードを使った木の質感表現です。

今の作例では、テクスチャ画像と合わせてBumpを使ってみたので
次は、ノイズテクスチャとセットで使ってみましょう。

ノイズテクスチャと一緒に使う

次は、Bumpノードをノイズテクスチャと一緒に使って
冒頭で紹介した金属の腐食表現を行ってみます!

完成品はこんな感じです。
ちょっとホラーゲームとかで出てきそうな
痛々しい見た目ですね・・・苦笑

腐食した金属の例

金属の腐食表現

それではサクサク進めていきましょう!
まずは立方体を追加して、金属のパラメータを設定します。

パラメータはこんな感じです。
Rouchnessの値を調整すると、表面の光沢を調節できるので
お好みで調整してみて下さい。

# 金属表現のパラメータ
Metalic: 1.0,
Specular: 0,
SpecularTint: 0,
Roughness: 0.2,
Sheen: 0,
SheenTint: 0,

ノイズテクスチャ追加

次に、今回のテクスチャの要になる、
ノイズテクスチャを検索して追加します。

ノードの接続とパラメータはこんな感じです。
立方体の表面にモザイクのような模様が出てくると思います。

NoiseTexture: :color -> PrincipledBSDF: :color
# ノイズテクスチャのパラメータ
Scale: 4.0,
Detail: 16.0,
Roughness: 0.5,
Distortion: 0

ではこれを、錆っぽく加工していきましょう!

ColorRampを追加します。
ノード接続はこんな感じで、ノイズテクスチャとプリンシプルBSDFの間に入れてください。

NoiseTexture: :fac -> ColorRamp: :fac
ColorRamp: :color -> PrincipledBSDF: :color

グラデーションの色を、金属の錆っぽく変更します。

今回はこんな感じになりました!
暗めの赤、こげ茶、少し明るめの赤と茶色
バランスよく混ぜるといい感じになります!

この状態でも割とそれっぽく見えますね!
PS2くらいのホラゲーのグラフィックを思い出しますね。

Bumpノードを追加

ではBumpを追加して凹凸を出していきましょう。

ノードの接続です

NoiseTexture: :fac -> Bump: :height
Bump: :normal -> PrincipledBSDF: :normal

Strengthが1.0だと、かなり凸凹になってしまいます。

Strengthを調整してみましょう。
今回はStrengthを0.3に下げてみました。

大分見た目に金属っぽさも出てきましたね!

この状態でも、金属に見えますが
腐食している部分にだけ、凹凸をつけたいので
ColorRampで調整していきます!

ColorRampでカスタム

ColorRampを追加します。
ノイズテクスチャとBumpの間に追加してあげましょう。

接続はこんな感じです。

NoiseTexture: :fac -> ColorRamp: :fac
ColorRamp: :color -> Bump: :height

グラデーションの白色を動かすことで、
腐食してない部分がつるつるになっていくと思います。

白を動かすと、腐食していない部分がつるつるになる!

つるつる過ぎるのも不自然だったりするので、
グレーで緩急をつけながら調整してみます。

調整後がこちらです!

腐食した部分にだけ凹凸がつくことで、より雰囲気が出てきたかなと思います。
ちょっと痛々しいですね・・・

Bump後とBump前で比較してみます。

BumpとColorRampを適用した後
Bump適用前

また、現在のノードマップはこんな感じになっています。
最終的にこのノードと同じように設定すれば、上のような見た目にすることができます!

ここからは応用編です。
例えばこんな剣を作っていて、これを腐食させたい時は

この剣を腐食させたい

先ほどのマテリアルを適用してあげればこんな具合になります。

マテリアルを適用することで腐食表現ができる

立方体以外に適用すると、ノイズの位置がずれると思うので
その場合は、MappingとTextureCoordinateを追加してあげて
こんな感じにつなぐと解消されます。

TextureCoordinate: :object -> Mapping: :vector
Mapping: :vector -> NoiseTexture: :vector

まとめ

今回はBumpノードを使った質感表現について
作例を交えつつ紹介してみました。

メッシュを変形して、凹凸をつけていくのはかなり大変ですが
今回のようにBumpノードを使用すれば、簡単にリアルな凹凸をつける事ができます。

ノーマルマップ画像を使わない場合や、
ノイズテクスチャでマテリアルを作る時には、是非使ってみてください!

ピックアップ記事

  1. 【ツール開発】ポケモンの種族値と実数値を調べるツール – 1
  2. 【UE4】用語備忘録メモ
  3. 【Blender】アニメーションでポーズを左右反転してコピペしたい時
  4. 【WPテーマ自作】ローカル環境でWP開発ができる「Local」の導入
  5. 【Rails】modelを作成する

関連記事

  1. Blender

    【Blender】起動時に強制終了してしまう問題

    Blenderを起動すると、コンソールが立ち上がった後にBlender…

  2. Blenderの複数バージョンを簡単に管理できるBlenderLauncherの使い方

    Blender

    【Blender】複数バージョンを簡単に管理できる、BlenderLauncherの使い方

    Blenderを使っていると、最新版を入れて動かなくなったり、試験的に…

  3. 複数に分けたテクスチャを1枚に統合する方法

    Blender

    【Blender】複数に分けたテクスチャを1枚に統合(ベイク)する方法

    VRChat用のアバターを用意するに当たって、テクスチャをベイクする必…

  4. Blender

    【Blender】アニメーションでポーズを左右反転してコピペしたい時

    Blenderで、例えば歩いているアニメーションを作成したい場合、1つ…

  5. Blender

    【UE4】用語備忘録メモ

    UE4、Blenderを勉強するにあたって初めて知ったCG関連の用語を…

カレンダー

2021年6月
 123456
78910111213
14151617181920
21222324252627
282930  

最近の記事

  1. 複数に分けたテクスチャを1枚に統合する方法
  2. 慣れれば3分!Bumpノードを使用した質感表現の方法
  3. Blenderの複数バージョンを簡単に管理できるBlenderLauncherの使い方
  1. Ruby on Rails

    【Rails】railsでIndex name ‘xxx’…
  2. Ruby on Rails

    【Rails】findメソッドで連想配列から指定した値を検索する
  3. WordPress

    【WPテーマ自作】UnderScoresの導入
  4. Blender

    【Blender】起動時に強制終了してしまう問題
  5. Ruby on Rails

    【Rails】modelを作成する
PAGE TOP