※記事製作時のバージョン:Blender2.92
プリンシプルBSDFで、いろいろな質感表現の方法を探っていくシリーズ。
第10回は布のマテリアルの作り方です。
布の質感表現には
- シーン
- シーンチント
- スペキュラーチント
を使います。
この3つのパラメーターについては、マニュアルに書かれている以上の詳しい説明が見当たりません。
よって今回の記事は、大部分が筆者の個人的な検証に基づいています。
その点をご了承の上で、ご利用ください。
シーン
※Sheen:輝き・光沢・つや
シーンは、かすめるような角度(グレージング角)の反射に追加される、やわらかい光沢です。
布の織目やケバなどの、複雑で立体的な表面構造から生じる光沢を表現します。
布の他に、スエード(起毛革)などにも使えます。
ただし、「シーンを使えば布に見えるようになる」わけではありません。
シーンはあくまでも「やわらかい表面の質感」を表現するだけのパラメーターです。
この点は、使えば何でも金属に見えるメタリックのようなパラメーターとは異なります。
布を表現するには、前提として次のどちらかが必要となります。
- オブジェクトが服やクッション、カーテンなど布製と分かる形をしている
- 布地のテクスチャが貼られている
シーンはそこに一段上の質感を加える、隠し味のような役割です。
シーンはとてもほんのりとした光沢です。
細かい値の差による見た目の違いはほとんど分からないので、
- 使わない時は 0.0
- 使う時は 1.0
と決めてしまうのが、シンプルで扱いやすい方法です。
なお、シーンよりも、メタリックと伝播の方が優先されます。
メタリックか伝播のどちらかが 1.0 の場合、シーンは無効になります。
シーンチント・スペキュラーチント
※Tint:色うつり・薄く色を付ける
シーンチント・スペキュラーチントは、反射光にベースカラーの色味を付け加えます。
シーンチントはシーンの反射光に、スペキュラーチントはスペキュラーの反射光に影響を与えます。
通常、 非金属の反射光は、当たった光を色変化させずにそのまま反射します。
しかし現実の布を観察すると、光沢にも地色の色味が付いて見えるのが分かります。
シーンチント・スペキュラーチントは、この色うつりを表現するパラメーターです。
おおまかなイメージは、次のようになります。
- シーンのみ
⇒ レインコートやリュックなど、ケバ立ちの無い布 - シーン + シーンチント
⇒ 繊維のケバ立ちがある、普通の布 - シーン + シーンチント + スペキュラーチント
⇒ フリースやベルベットなど、毛足の長い布
スペキュラーチントを使う際は、シーンチントを 1.0 にします。
シーンチント無しでスペキュラーチントだけを上げると、布自身の色の深みが増すのに光沢が白っぽいままなので、不自然な見た目になります。
シーンチント・スペキュラーチントは、見た目の変化がとてもほのかです。
いい具合の中間値を狙うと決めあぐねるので、0.0 , 0.5 , 1.0 の三段階で使うくらいの感覚で丁度良いと思います。
なお、シーンチント・スペキュラーチントは色味に作用するものなので、ベースカラーが無彩色の場合は効果がありません。
具体的な設定の仕方
下の表は、設定値の目安を個人的にまとめてみたものです。
この表は、あくまでも一つの目安です。
例えば同じ綿でも、「古びてケバ立った綿」では光沢が白っぽくなるので、シーンチントも 0.0 にした方がそれらしくなります。
最終的には画面上の見た目に基づき、感覚と好みで決めます。
粗さ(ラフネス)は、基本的に 0.8~1.0 くらいに設定します。
ツルツルした布(ダウンジャケットやスポーツバッグなど)や光沢のある布(絹など)を作る場合は、ノーマルと組み合わせて、粗さ(ラフネス)を下げます。
これらは次項で見本を示しましたので、参考にしてください。
より布らしくするには
シーンを使っても、現実の布にあるしわや織目、色ムラなどは表現されません。
そのため、なんとなくツルッとした見た目になり、布としては物足りなさがあります。
しわや織目、色ムラなどをテクスチャで表現すると、より布らしく見えるようになります。
ノイズテクスチャでバンプマッピングをすると、ちょっとヨレヨレな感じのしわが表現できます。
マジックテクスチャでバンプマッピングをすると、織目模様が作れます。
しわと織目を重ね合わせると、こんな感じです。
ベースカラーにノイズテクスチャをミックスすると、細かい色ムラを付けられます。
全部重ねると、こんな感じです。
ツルツルした布の作り方
- シーンチント・スペキュラーチント:両方とも 0.0
- マジックテクスチャのスケールを大きくして、織目模様を細かくする
(バンプの強さは適宜調整) - 粗さ(ラフネス)を下げる
これでダウンジャケットやスポーツバッグに使われるような、ツルツルした布が表現できます。
ベルベットの作り方
- シーンチント・スペキュラーチント:両方とも 1.0
- ボロノイテクスチャでノーマルマッピング
- 粗さ(ラフネス):0.7~1.0
これでベルベットの雰囲気が出ます。
レイヤーウェイトでベースカラーに変化を付けたり、ラフネスを調整すると、いろいろなバリエーションが作れます。
-------- 2022/05/04 追記 --------
ベルベットの作り方を改良しました。
レイヤーウェイトで色変化をつけると、よりベルベットらしい深みのある色合いになります。
また、2種類のノーマルマップ(目が粗い・細かい)を合成して光沢の具合に変化をつけて、毛足の長い雰囲気を出しています。
ここまでの説明では『ベルベットのスペキュラーチントは「1」』としていましたが、改めて作ってみると「1」ではかなり不自然な色味に感じたので、「0.5」にしました。
パラメーターの設定については私もまだまだ試行錯誤中です。
-------- 追記終了 --------
絹の作り方
- シーンチント:適宜
- スペキュラーチント:0.0
- ボロノイテクスチャでノーマルマッピング
⇒ テクスチャのスケールを大きくして、模様を非常に細かくする - スペキュラー:2.0
- 粗さ(ラフネス):0.1~0.2
- レイヤーウェイトでベースカラーに変化を付ける
これで絹のような、ツヤのある光沢が表現できます。
光沢のある布の作り方(2021/09/16 追記)
光沢のある布は、異方性を設定するとリアルな質感になります。
これは繻子(しゅす)織りという織り方で、縦糸か横糸のどちらかだけが表から見えるように織られます。
それがヘアラインと同じ働きをして、異方性反射が生じます。
「異方性」「異方性反射」「ヘアライン」とは何か?
どう設定するのか?
についての詳細は、こちらの記事を参照してください。
-------- 追記終了 --------
さらに布らしくするには
布の質感を表現する一番簡単で確実な方法は、布地パターンのテクスチャとシーンの併用です。
この『プリンシプルBSDFでいろいろな質感の作り方』シリーズは、基礎的な機能や手法の紹介が目的なので、画像テクスチャは極力使わないようにしています。
しかし布に関しては、プロシージャルテクスチャだけで表現するのは限界があるので、ある程度以上の「自然な布らしさ」を目指す場合は、画像テクスチャが必要になります。
-------- 2023/01/26 追記 --------
私の書いた本『Blender 質感・マテリアル設定実践テクニック』で、プロシージャルテクスチャで布の質感を表現する方法を解説しています。
以下の作り方を解説しているので、興味のある方は参考にしてください。
- シャツやシーツなどに使われる標準的な布
- デニム
- 目の粗いゴワゴワした帆布や麻布
- いろいろな模様(縞、水玉、タータンチェック、迷彩、などなど・・・)
本の内容については、こちらの記事で紹介しています。
-------- 追記終了 --------
以上、布の作り方でした。
※本文添削・構成アドバイス & アイキャッチ画像の原案とデザイン:相方
使用した3Dモデル
マテリアルボールの3Dモデルはこちらからお借りしました。
Material ball in 3D-Coat - Download Free 3D model by 3d-coat (@3d-coat) [a6bdf1d] - Sketchfab is licensed under Creative Commons Attribution
参考サイト
Principled (プリンシプル) BSDF — Blender Manual
Disney Principled BRDF - Computer Graphics - memoRANDOM