Blenderであそんでみた

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

マスグレイブテクスチャを分かりやすく説明してみる/使い方編

f:id:hainarashi:20220206224258j:plain

※記事製作時のバージョン:Blender3.0

 

今回の記事はマスグレイブテクスチャについてです。
マスグレイブテクスチャは、とてもリアルな質感が作れる便利なテクスチャです。
ところが、

  • 名前からして何の模様を作るテクスチャか分からない。
  • パラメーターが「次元」や「空隙性(くうげきせい)」とか、名前から働きが想像できない。
  • パラメーターの値と、模様の変化の関連性がつかみにくい。
  • マニュアルが専門用語だらけで理解できない。

と、やたら分かりづらくて敬遠されがち。
しかし! これが使われないのは非常にもったいないので、分かりやすいようにまとめてみました。
使ってみれば意外と簡単なので、オススメです!

 

今回の記事は長いので、「使い方編」と「仕組み編」に分けています。
使い方だけではなく仕組みも知っておくと、パラメーターの働きが具体的に理解できるので、より扱いやすくなります。
「仕組み編」はこちらのリンクからどうぞ。

hainarashi.hatenablog.com

 

マスグレイブテクスチャって何?

「自然界によく見られる、複雑な不規則パターン」を作るテクスチャです。
汚れ、シミ、色ムラ、塗装の剥げ、表面劣化、錆び、ひび、和紙、革製品、大理石、雲、煙、炎、波・・・などなど、幅広い材質や表現に応用できます。

f:id:hainarashi:20220206140516j:plain

f:id:hainarashi:20220205153005j:plain

マスグレイブテクスチャには「こう設定すればOK」という基本の設定方法があります。
まずはそこから、実際に使ってみましょう。

 

基本の設定方法

まず、下の画像のようにノードを設定します。
テクスチャ座標の出力は「オブジェクト」を使います。

f:id:hainarashi:20220206224726j:plain

 

マスグレイブテクスチャのパラメーターを次の値にします。

  • 細かさ:15(最大値。固定)
  • 次元:0(用途に合わせて調整)
  • 空隙性:1.4(固定)

これは個人的に、一番バランス良く自然なパターンになると思う設定です。

※スケールは画面で模様の大きさを確認しながら、好みで調整します。

f:id:hainarashi:20220206224948j:plain


「スケール」と「次元」は次のように調整します。

スケール(Scale)

全体的な模様の大きさを操作するパラメーターです。
他のテクスチャノードと同じく、

  • 値を大きくすると模様が小さくなる
  • 値を小さくすると模様が大きくなる

と働きます。

あまり大きい値にするとノイズテクスチャと区別がつかなくなり、マスグレイブテクスチャの意味が無くなります。
f:id:hainarashi:20220131141257j:plain

 

次元(Dimension)

模様の「ぼやけ具合」を操作するパラメーターです。
この値を大きくすると全体的に模様がぼやけて、細かい部分が消えていきます。

塗装の剥げや錆びなど、くっきりしたパターンを作る場合は「0」。
シミなどのぼんやりしたパターンを作る場合は値を大きくします。
あまり大きい値にすると模様がぼやけすぎて、マスグレイブテクスチャの意味が無くなります。

f:id:hainarashi:20220131143045j:plain

f:id:hainarashi:20220131143050j:plain

 

以上がマスグレイブテクスチャの基本設定です。
次はこの白黒模様を元に、汚れやシミ、塗装の剥げなどのマテリアルを作ってみましょう。

 

マテリアルの設定:基本編

「数式」と「RGBミックス」を追加します。
数式の関数は「追加」、値は「0」にしておいてください。

f:id:hainarashi:20220206230813j:plain

 

RGBミックスは、色1を「オブジェクト本来の色」、色2を「汚れやシミ、塗装の剥げなどの色」として設定します。

f:id:hainarashi:20220206225225j:plain

 

「オブジェクト本来の色」をテクスチャで設定する場合は、色1につなげます。
下の画像は、ボロノイテクスチャのカラーを「オブジェクト本来の色」に設定した例です。

f:id:hainarashi:20220207143611j:plain

 

色の範囲の操作

数式(追加)の値で、「本来の色の部分(色1)」と「汚れなどの部分(色2)」の範囲を操作できます。
「0」は元のまま変化無し。
値を小さくすると色1の範囲が増え、値を大きくすると色2の範囲が増えます。

f:id:hainarashi:20220206225508j:plain

 

ブレンドモード

RGBミックスのブレンドモードを変えることで、汚れ方の違いを表現できます。
主に「ミックス」「乗算」「スクリーン」のどれかを使います。

・ミックス

色1を色2に置き換えます。
泥やホコリなどの汚れ、塗装の剥げ、錆びなどの表現に使います。

f:id:hainarashi:20220131151504j:plain

 

・乗算

色1に色2を掛け合わせて、暗い色味に変化させます。
水や油などによるシミの表現に使います。

f:id:hainarashi:20220131151508j:plain

 

・スクリーン

色1と色2を乗算と逆の方法で掛け合わせて、淡く明るい色味に変化させます。
かすれや色あせの表現に使います。

f:id:hainarashi:20220208172219j:plain

 

マテリアルの設定:応用編

上の設定にラフネスマッピングバンプマッピングを組み合わせると、表現の幅が広がります。

ラフネスマッピング

下の画像の位置に「範囲マッピング」を追加します。
範囲マッピングは次のように設定します。

  • 最小へ:色1の範囲の粗さ
  • 最大へ:色2の範囲の粗さ

f:id:hainarashi:20220206225911j:plain

この画像では「最小へ:0.3、最大へ:0.8」と設定しています。
「最大へ」の値を大きくすることで色2の範囲だけ表面が荒れて、「細かいキズ」や「薄く付着したホコリ」などでくすんでいる表現ができます。

 

バンプマッピング

下の画像の位置に「数式」「ノイズテクスチャ」「バンプ」を追加します。
パラメーターは次のように設定します。

  • 数式 関数:乗算、値:0.3
  • ノイズテクスチャ スケール:100

f:id:hainarashi:20220208170641j:plain

これで色2の範囲だけ細かい凹凸が表現されます。
「部分的な錆び」や「こびりついた泥汚れ」などの表現に使えます。

 

マテリアルの設定:秘伝編

ここでもうひとつ、フォトリアルな色ムラを簡単に作れる秘伝を授けましょう。
この手法は、プラスチックや塗装の劣化変色、コンクリートや天然石、革製品、古ぼけた紙、木材、アスファルト、布・・・などなど、自然な色ムラを作る基本テクニックとして使えます。

まず、元になるベースカラーを用意します。

f:id:hainarashi:20220201214326j:plain

このベースカラーを、RGBミックスでマスグレイブテクスチャと合成します。
RGBミックスは以下のように設定します。

  • ブレンドモード:覆い焼きカラー
  • 係数:0.2
  • 色1:元のベースカラー
  • 色2:マスグレイブテクスチャ

これで、自然な変化のある色ムラをつけられます。

f:id:hainarashi:20220201214330j:plain

 

色ムラの強さは、RGBミックスの「係数」で調整します。
あまり大きい値にすると色味が破綻する部分が出てくるので注意です。

f:id:hainarashi:20220207224024j:plain

 

色ムラのぼやけ具合は、マスグレイブテクスチャの「次元」で操作します。

f:id:hainarashi:20220207234750j:plain

なお、「次元」を大きくして色ムラをぼやかすと、その分色ムラが見えにくくなるので、RGBミックスの「係数」も大きくして調整します。

f:id:hainarashi:20220208171238j:plain

 

このようにマスグレイブテクスチャは、組み合わせ方次第で様々な使い方ができます。
まだまだ沢山のネタがあるのですが、それはそのうちマテリアル見本集をまとめようと思っています。
というわけで、マテリアル設定についてはここまでにして、次の説明に移ります。

 

タイプ

マスグレイブテクスチャの「タイプ」を変更すると、模様のパターンが変わります。
タイプには次の5種類があります。

f:id:hainarashi:20220201224259j:plain

 

fBM(Fractal Brownian Motion/非整数ブラウン運動

デフォルトのタイプです。
一番汎用性が高く、使い勝手の良いパターンです。
ここまでの見本はすべてfBMで作っています。

f:id:hainarashi:20220201221920j:plain

 

マルチフラクタル(Multifractal)

基本はfBMと同じパターンですが、fBMよりも白・黒の間が緩やかに変化します。
私もまだ研究中ですが、シミ、カビ、腐食、霜などの表現に使えるかと思います。

f:id:hainarashi:20220201221924j:plain

 

畝のあるマルチフラクタル(Ridged Multifractal)

血管のようなパターンを作ります。
ひび、傷、大理石の模様などに使えます。

f:id:hainarashi:20220201221929j:plain

 

ハイブリッドマルチフラクタル(Hybrid Multifractal)

細胞組織の内部を向こう側から光で照らしているような、奥行きのあるパターンを作ります。
どのような使い道があるか、研究中です。
質感作りとは別ですが、ディスプレイスでメッシュ形状を変形させて、自然地形などを作る用途があるようです。

f:id:hainarashi:20220201221932j:plain

 

ヘテロ地形(Hetero Terrain)

くっきりした黒の範囲と、ノイズ模様を含んだ白の範囲のパターンを作ります。
これもどのような使い道があるか、研究中です。
上と同じく、ディスプレイスでメッシュ形状を変形させて、自然地形などを作る用途があるようです。

f:id:hainarashi:20220201221937j:plain

 

タイプ毎に、「fBM」とはまた違うマテリアル設定のコツがあります。
それについては、いずれ別の記事で解説しようと思います。

 

ゲインとオフセット

「畝のあるマルチフラクタル」と「ハイブリッドマルチフラクタル」では、「ゲイン」と「オフセット」というパラメーターが追加されます。
ヘテロ地形」では、「オフセット」だけが追加されます。

f:id:hainarashi:20220206220315j:plain

 

ゲイン(Gain)

模様を浮かび上がらせるパラメーターです。
この値を大きくすると全体的に明るくなり、模様が浮かび上がってきます。
「50~100」の範囲で、丁度良い模様になります。

f:id:hainarashi:20220207171611j:plain

f:id:hainarashi:20220207171615j:plain

 

オフセット(Offset)

模様の明るさを変化させるパラメーターです。
この値を大きくすると模様が明るくなり、小さくすると模様が暗くなります。

f:id:hainarashi:20220207165517j:plain

 

ハイブリッドマルチフラクタルでは、まず「ゲイン」を「50~100」に設定してから「オフセット」で模様の微調整をする、という手順で使います。

f:id:hainarashi:20220207165512j:plain

 

畝のあるマルチフラクタルも、まず「ゲイン」を「50~100」に設定してから「オフセット」で模様の微調整をする、という手順で使います。
ただし他の2つとは異なり、「0.2」辺りが一番暗く、そこから値を大きくしても小さくしても明るくなる、という特殊な変化をします。

f:id:hainarashi:20220207171440j:plain

 

補足:平面が変な模様になる現象について

平面オブジェクトにマスグレイブテクスチャを設定すると、下の画像のようにおかしな結果になります。

f:id:hainarashi:20220131221017j:plain

仕組みはよく分かりませんが、「オブジェクトの原点を含む平面上」で発生する現象です。
オブジェクトの形状が立体でも、平面部分にオブジェクトの原点がある場合は、同じ現象が発生します。

f:id:hainarashi:20220131221021j:plain

このおかしな模様は、原点を中心にした一定の範囲内だけに発生するので、テクスチャをずらして対処します。
マッピング」を追加して「位置」のパラメーターに適当な値を入力すれば、テクスチャをずらすことができます。
入力するのは X,Y,Z どれでも構いません。

f:id:hainarashi:20220206221844j:plain

 

 

というわけで、使い方についてはここまでとなります。
次回の「仕組み編」では、「マスグレイブテクスチャはどういう仕組みで模様を作っているのか」を説明します。
仕組みを知っておくとパラメーターの働きが具体的に理解できるので、より扱いやすくなります。

以上、「マスグレイブテクスチャを分かりやすく説明してみる/使い方編」でした。

 

※本文添削・構成アドバイス:相方

 

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

 

参考サイト

edom18.hateblo.jp

 

qiita.com

 

thebookofshaders.com