使用バージョン:Blender 2.81

服、というか布のマテリアルをいくつも作ってきたので、ある程度シェーダーノードが定型化してきました。 なのでここで一度、布系のマテリアルのシェーダーノードを整理しておきたいと思います。

※ Cycles、Eevee どちらでも使えますが、ベルベット BSDF、異方性 BSDF は Eevee 未サポートのため使っていません。

目次

布系マテリアルの基本的な設定 – プリンシプルBSDF

プリンシプル BSDF シェーダーを使う場合の基本的な設定。 まずはベースカラーを黒にして、ツヤや凹凸を調整します。

プラスチックのような質感のマテリアル
プラスチックのような質感
プリンシプルBSDFのデフォルト設定
デフォルトからベースカラーを黒にした状態

デフォルトの設定だとプラスチックのような質感なので、布っぽい質感にします。

シーンを有効にした質感

「粗さ」「0」にして「シーン」を上げていきます。

粗さを0にしてシーンを上げる

シーンのスライダーはデフォルトでは「1.000」が上限ですが、数値を直接入力すれば 1 以上の値を指定することも可能です。 上記の画像では 3.000 まで上げています。

続いてバンプマップやノーマルマップ、ディスプレイスメントマップなどで凹凸を設定します。 テクスチャは 3D TEXTURESFabric 002 を使用しています。

バンプなどを適用させ凹凸を表現
ノーマルマップやディスプレイスメントマップを追加

あとはベースカラーにディフューズテクスチャを設定して完成。

ディフューズテクスチャを設定
ディフューズテクスチャノードを追加

布系マテリアルの基本的な設定 – ディフューズ・光沢シェーダー + レイヤーウェイト

続いてプリンシプル BSDF を使わず、ディフューズ BSDF光沢 BSDF シェーダーを使う場合です。 まずディフューズ BSDF をふたつ用意してシェーダーミックスでミックスします。

ミックスノードでディフューズシェーダーふたつをミックス
ディフューズBSDFふたつをシェーダーミックスノードでミックス

ディフューズ BSDF のひとつは「黒」、もうひとつは「白」にすると、上記の画像のようにグレーになります。

「入力」→「レイヤーウェイト」を追加し「前方向」をシェーダーミックスの「係数」につなぎます。

レイヤーウェイトの前方向を係数に接続
レイヤーウェイトの前方向を係数に接続(ノード)

すると陰の部分は黒く、ハイライト部分は白くなり、プリンシプル BSDF の「シーン」と同じような効果になります。 「前方向」ではなく「フレネル」に接続すると金属っぽい質感になるので、作りたい質感に応じて使い分けます。

効果を調整するにはレイヤーウェイトの「ブレンド」「カラー」→「RGB カーブ」を追加して調整します。

トーンカーブでハイライト、シャドウのバランスをとる
トーンカーブでハイライト、シャドウのバランスをとる(ノード)

ディフューズ BSDF の代わりに 光沢 BSDF を使うとバリエーションが増えます。

光沢BSDFシェーダーを使用
ディフューズ+光沢
光沢BSDFシェーダーを使用(ノード)
光沢シェーダーをふたつ使用した例
光沢 + 光沢
光沢シェーダーをふたつ使用した例(ノード)

ベースカラーにテクスチャを使う場合は間に RGB カーブを入れて、シャドウ部分は暗く、ハイライト部分は明るくなるようにカーブを調整します。

カラーテクスチャを加える
カラーテクスチャを加える(ノード)

あとはノーマルマップなどを設定して完成。

バンプなど凹凸を加える
バンプなど凹凸を加える(ノード)

レザー系のマテリアル

レザーの場合はバンプやノーマルなどの凹凸と粗さがポイントだと思っています。 プリンシプル BSDF シェーダーを使って作っていきたいと思います。

レザーマテリアルの完成図
完成図 : テクスチャは Leather 005 を利用しています。

まずは基本形で紹介したようにベースカラーを黒にしてシーンを調整し、凹凸のノーマルマップやバンプマップを設定します。

プリンシプルシェーダーで凹凸やシーンで光沢を加える
プリンシプルシェーダーで凹凸やシーンで光沢を加える(ノード)

次にディフューズテクスチャを追加して色を付けます。

カラーテクスチャを追加
カラーテクスチャを追加(ノード)

革の凹凸に少しコントラストを付けていきます。 ディフューズテクスチャに RGB カーブを追加して、係数バンプマップを接続します。

カラーテクスチャにコントラストをつける
カラーテクスチャにコントラストをつける(ノード)

カーブを S 字にしてコントラストを付けます。

次にラフネスマップを「粗さ」に接続します。 ラフネスマップがなければバンプマップを代用します。

ラフネスマップを追加
ラフネスマップを追加(ノード)

粗さを調整できるようにするため、「カラー」→ 「ミックス」を追加してラフネスマップを「係数」に接続します。

レザーマテリアルの完成図
ミックスノードを調整して粗さを調整

ミックスの「色1」と「色2」を調整して「粗さ」の質感を調整して完成です。

シルク/サテン系マテリアル

シルク/サテンの完成図
完成図 ; テクスチャは Fabric 006 を利用しています。

まずはディフューズ BSDF を使った基本形の応用で、ベースカラーを作ります。

レイヤーウェイトとミックスを使ってディフューズを作成
レイヤーウェイトとミックスを使ってディフューズを作成(ノード)

「レイヤーウェイト」ノードと「ミックス」ノードを使って、モノクロのディフューズカラーを作ります。 このとき「色1」がシャドウ、「色2」がハイライトになっていることを覚えておきます。

テクスチャを使わない場合はこの「色1」「色2」を好きな色に変更します。 今回はディフューズテクスチャを使っていきます。

ディフューズにテクスチャを設定
ディフューズにテクスチャを設定(ノード)

「色1」のシャドウの方が暗くなるように、「色2」のハイライトの方は明るくなるようにそれぞれカーブを調整します。

一度ディフューズの方は置いておいて、次に光沢部分を作っていきます。

光沢シェーダーふたつでツヤを作る
光沢シェーダーふたつでツヤを作る(ノード)

光沢 BSDF をふたつ、基本形のとおり接続します。 ひとつめの光沢 BSDF シェーダーがシャドウ、ふたつめの光沢 BSDF シェダーがハイライト部分になっています。

これに先程作成したテクスチャの RGB カーブノードを接続します。

光沢にカラーテクスチャを追加
光沢にカラーテクスチャを追加(ノード)

次に作っておいたディフューズと光沢部分をシェーダーミックスとレイヤーウェイトを使ってミックスします。

ディフューズと光沢をミックス
ディフューズと光沢をミックス(ノード)

このときのレイヤーウェイトのブレンドは 0.9 ほどに調整します。 ツヤは光沢 BSDF の「粗さ」で調整します。

最後にバンプマップなど凹凸系を設定して完成です。

シルク/サテンの完成図

Blender Eeveeでの影・AO・SSR・SSS・ガラスの設定

参考にさせていただいたページ