Blenderであそんでみた

3D-CGソフトBlenderの小技や豆知識など。

プリンシプルBSDFで布の作り方

f:id:hainarashi:20210326151847j:plain

※記事製作時のバージョン:Blender2.92

 

プリンシプルBSDFで、いろいろな質感表現の方法を探っていくシリーズ。
第10回は布のマテリアルの作り方です。

 

布の質感表現には

  • シーン
  • シーンチント
  • スペキュラーチント

を使います。

 

この3つのパラメーターについては、マニュアルに書かれている以上の詳しい説明が見当たりません。
よって今回の記事は、大部分が筆者の個人的な検証に基づいています。
その点をご了承の上で、ご利用ください。

 

シーン

※Sheen:輝き・光沢・つや

シーンは、かすめるような角度(グレージング角)の反射に追加される、やわらかい光沢です。
布の織目やケバなどの、複雑で立体的な表面構造から生じる光沢を表現します。
布の他に、スエード(起毛革)などにも使えます。

f:id:hainarashi:20210322193927j:plain

シーン

 

ただし、「シーンを使えば布に見えるようになる」わけではありません。

シーンはあくまでも「やわらかい表面の質感」を表現するだけのパラメーターです。
この点は、使えば何でも金属に見えるメタリックのようなパラメーターとは異なります。

f:id:hainarashi:20210319203039j:plain

シーンを設定するだけで布に見えるわけではない

 

布を表現するには、前提として次のどちらかが必要となります。

  • オブジェクトが服やクッション、カーテンなど布製と分かる形をしている
  • 布地のテクスチャが貼られている

シーンはそこに一段上の質感を加える、隠し味のような役割です。

 

シーンはとてもほんのりとした光沢です。
細かい値の差による見た目の違いはほとんど分からないので、

  • 使わない時は 0.0
  • 使う時は 1.0

と決めてしまうのが、シンプルで扱いやすい方法です。

f:id:hainarashi:20210322194957j:plain

シーンの中間値

 

なお、シーンよりも、メタリックと伝播の方が優先されます。
メタリックか伝播のどちらかが 1.0 の場合、シーンは無効になります。

 

シーンチント・スペキュラーチント

※Tint:色うつり・薄く色を付ける

シーンチント・スペキュラーチントは、反射光にベースカラーの色味を付け加えます。
シーンチントはシーンの反射光に、スペキュラーチントはスペキュラーの反射光に影響を与えます。

通常、 非金属の反射光は、当たった光を色変化させずにそのまま反射します。
しかし現実の布を観察すると、光沢にも地色の色味が付いて見えるのが分かります。
シーンチント・スペキュラーチントは、この色うつりを表現するパラメーターです。

f:id:hainarashi:20210322195909j:plain

シーンチント・スペキュラーチント

 

おおまかなイメージは、次のようになります。

  1. シーンのみ
    ⇒ レインコートやリュックなど、ケバ立ちの無い布
  2. シーン + シーンチント
    ⇒ 繊維のケバ立ちがある、普通の布
  3. シーン + シーンチント + スペキュラーチント
    ⇒ フリースやベルベットなど、毛足の長い布

 

スペキュラーチントを使う際は、シーンチントを 1.0 にします。
シーンチント無しでスペキュラーチントだけを上げると、布自身の色の深みが増すのに光沢が白っぽいままなので、不自然な見た目になります。

f:id:hainarashi:20210323152029j:plain

スペキュラーチントだけを上げた場合との比較

 

シーンチント・スペキュラーチントは、見た目の変化がとてもほのかです。
いい具合の中間値を狙うと決めあぐねるので、0.0 , 0.5 , 1.0 の三段階で使うくらいの感覚で丁度良いと思います。

f:id:hainarashi:20210323153938j:plain

シーンチント・スペキュラーチントの中間値

 

なお、シーンチント・スペキュラーチントは色味に作用するものなので、ベースカラーが無彩色の場合は効果がありません。

f:id:hainarashi:20210323154323j:plain

無彩色のベースカラーには効果が無い

 

具体的な設定の仕方

下の表は、設定値の目安を個人的にまとめてみたものです。

f:id:hainarashi:20210327123757p:plain

設定の目安

 

この表は、あくまでも一つの目安です。
例えば同じ綿でも、「古びてケバ立った綿」では光沢が白っぽくなるので、シーンチントも 0.0 にした方がそれらしくなります。

最終的には画面上の見た目に基づき、感覚と好みで決めます。

 

粗さ(ラフネス)は、基本的に 0.8~1.0 くらいに設定します。

f:id:hainarashi:20210323155732j:plain

粗さ(ラフネス)

 

ツルツルした布(ダウンジャケットやスポーツバッグなど)や光沢のある布(絹など)を作る場合は、ノーマルと組み合わせて、粗さ(ラフネス)を下げます。
これらは次項で見本を示しましたので、参考にしてください。

 

より布らしくするには

シーンを使っても、現実の布にあるしわや織目、色ムラなどは表現されません。
そのため、なんとなくツルッとした見た目になり、布としては物足りなさがあります。

f:id:hainarashi:20210323160452j:plain

初期状態の布

 

しわや織目、色ムラなどをテクスチャで表現すると、より布らしく見えるようになります。

 

ノイズテクスチャでバンプマッピングをすると、ちょっとヨレヨレな感じのしわが表現できます。

f:id:hainarashi:20210327210106j:plain

ノイズテクスチャで しわの表現

 

マジックテクスチャでバンプマッピングをすると、織目模様が作れます。

f:id:hainarashi:20210327210417j:plain

マジックテクスチャで織目の表現

 

しわと織目を重ね合わせると、こんな感じです。

f:id:hainarashi:20210327210859j:plain

しわ+織目

 

ベースカラーにノイズテクスチャをミックスすると、細かい色ムラを付けられます。

f:id:hainarashi:20210327211142j:plain

色ムラ

 

全部重ねると、こんな感じです。

f:id:hainarashi:20210327211352j:plain

全部乗せ

 

f:id:hainarashi:20210323170408j:plain

初期状態との比較

 

ツルツルした布の作り方
  • シーンチント・スペキュラーチント:両方とも 0.0
  • マジックテクスチャのスケールを大きくして、織目模様を細かくする
    バンプの強さは適宜調整)
  • 粗さ(ラフネス)を下げる

 これでダウンジャケットやスポーツバッグに使われるような、ツルツルした布が表現できます。

f:id:hainarashi:20210324075310j:plain

ツルツルした布

 

ベルベットの作り方
  • シーンチント・スペキュラーチント:両方とも 1.0
  • ボロノイテクスチャでノーマルマッピング
  • 粗さ(ラフネス):0.7~1.0

これでベルベットの雰囲気が出ます。

f:id:hainarashi:20210327090944j:plain

ベルベット

 

レイヤーウェイトでベースカラーに変化を付けたり、ラフネスを調整すると、いろいろなバリエーションが作れます。

f:id:hainarashi:20210323171657j:plain

バリエーション

 

-------- 2022/05/04 追記 --------

ベルベットの作り方を改良しました。

レイヤーウェイトで色変化をつけると、よりベルベットらしい深みのある色合いになります。
また、2種類のノーマルマップ(目が粗い・細かい)を合成して光沢の具合に変化をつけて、毛足の長い雰囲気を出しています。

ベルベット・改

ここまでの説明では『ベルベットのスペキュラーチントは「1」』としていましたが、改めて作ってみると「1」ではかなり不自然な色味に感じたので、「0.5」にしました。
パラメーターの設定については私もまだまだ試行錯誤中です。

-------- 追記終了 --------

 

絹の作り方
  • シーンチント:適宜
  • スペキュラーチント:0.0 
  • ボロノイテクスチャでノーマルマッピング
    ⇒ テクスチャのスケールを大きくして、模様を非常に細かくする
  • スペキュラー:2.0
  • 粗さ(ラフネス):0.1~0.2
  • レイヤーウェイトでベースカラーに変化を付ける

 これで絹のような、ツヤのある光沢が表現できます。

f:id:hainarashi:20210327093235j:plain

 

光沢のある布の作り方(2021/09/16 追記)

光沢のある布は、異方性を設定するとリアルな質感になります。

f:id:hainarashi:20210826104954j:plain

光沢のある布

 

これは繻子(しゅす)織りという織り方で、縦糸か横糸のどちらかだけが表から見えるように織られます。

それがヘアラインと同じ働きをして、異方性反射が生じます。

f:id:hainarashi:20210828193907j:plain

光沢のある布のマテリアル

 

「異方性」「異方性反射」「ヘアライン」とは何か?
どう設定するのか?
についての詳細は、こちらの記事を参照してください。

  1. 旋盤加工の作り方
  2. ヘアライン加工の作り方
  3. スピン加工の作り方
  4. 異方性反射の基礎知識
  5. 応用と補足と余談

-------- 追記終了 --------

 

さらに布らしくするには 

布の質感を表現する一番簡単で確実な方法は、布地パターンのテクスチャとシーンの併用です。

f:id:hainarashi:20210327160222j:plain

デニム

 

f:id:hainarashi:20210327141310j:plain

フェルト

 

f:id:hainarashi:20210328103032j:plain

スエード

 

この『プリンシプルBSDFでいろいろな質感の作り方』シリーズは、基礎的な機能や手法の紹介が目的なので、画像テクスチャは極力使わないようにしています。
しかし布に関しては、プロシージャルテクスチャだけで表現するのは限界があるので、ある程度以上の「自然な布らしさ」を目指す場合は、画像テクスチャが必要になります。

 

 

以上、布の作り方でした。

 

※本文添削・構成アドバイス & アイキャッチ画像の原案とデザイン:相方

 

twitter

灰ならし (@hainarashi) | Twitter

 

使用した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