K06のBLOG

BlenderとInkscapeとDavinciResolveを使用する上での日記的なブログ

【blender3.01】ディスプレイスメントノードとモディファイアーの使い方

f:id:K06:20220308123304j:plain

ディスプレイスメントを使うときはもっぱらモディファイアーでやってた筆者のK06です。

どうもこんにちは!

ディスプレイスメントがわからない人の為に最初に軽く触れておくと、ディスプレイスメントはディスプレイスメントマップ(画像)を使いメッシュを変形させる機能の事です。

バンプマップやノーマルマップはメッシュを変形させずに擬似的に凹凸を作ることができますが、ディスプレイスメントマップはテクスチャ(画像)でメッシュに直接凹凸を作る事ができます。

ディスプレイスメントノードを使ってる人を見たことがないので、恐らく皆さんはディスプレイスモディファイアーでメッシュを変形してるのではないでしょうか?

モディファイアーだと手順が多いのですが、ノードを使えば簡単な上に一箇所(シェーダーエディタ)でディスプレイスメントマップを管理できますので楽になります。

ただし、Eeveeだとディスプレイスメント「ノード」は効かないので レンダリングエンジンをCyclesレンダーにしておく必要があります。(Eeveeだとノードを反映させる設定すらできません)

といったところで早速やってみましょう。

ディスプレイスメントマップノードの使い方

といっても超絶簡単なのでもう結論をお伝えすると、ディスプレイスメントマップを付けたいオブジェクトを選択 → マテリアルプロパティ → 新規 。 f:id:K06:20220308123346j:plain

設定 → ディスプレイスをバンプのみからディスプレイスメントマップのみかディスプレイスメントマップとバンプに変更するとディスプレイスメントマップが使えるようになります。 f:id:K06:20220308123401j:plain

Tabキー(編集)→ Aキー(全選択) → 辺 → 細分化。 f:id:K06:20220308123601j:plain

左下の細分化タブをクリック → 分割数を100 → Tabキー(オブジェクト)にもどしておきます。 f:id:K06:20220308123627j:plain

続いてShadingタブをクリック f:id:K06:20220308123702j:plain

シェーダーエディタ内でShift+A → ベクトル → ディスプレイスメント。

ディスプレイスメントとマテリアル出力のディスプレイスメントを接続 → シェーダーエディタにディスプレイスメントマップをドラッグアンドドロップで読み込み、カラーと高さを接続するとディスプレイスメントマップがきいたはずです。 f:id:K06:20220308123723j:plain

あとはスケールの値を変更することで出っ張り具合を調整できます。 f:id:K06:20220308123750j:plain

ディスプレイス「モディファイアー」の使い方

ディスプレイスモディファイアーの使い方も説明しておきます。

ディスプレイスモディファイアーを付けたいオブジェクトを選択 → Tab(編集) → Aキー(全選択) → 辺 → 細分化 → 3Dビューポート左下の細分化タブを展開 → 分割数の値を100(細かい方が綺麗に形がでますが重くなります。) → Tab(オブジェクト)

モディファイアープロパティー f:id:K06:20220308123833j:plain 

モディファイアーを追加 → ディスプレイスモディファイアーをクリックして追加します。 f:id:K06:20220308123846j:plain

テクスチャプロパティーでディスプレイスになっている事を確認し、新規でテクスチャを作成 → タイプから好きなテクスチャを選択 → あとはテクスチャプロパティのサイズやモディファイアープロパティーの他の項目を編集するだけです。 f:id:K06:20220308123924j:plain

ディスプレイスメント「ノード」と「モディファイア」の使い所

モディファイアーだとblenderのシェーダーエディタ内蔵のいくつかのプロシージャルテクスチャを時、一旦画像にしないと使えないのですが、ノードだとつなげるだけで使えます。

例えばレンガテクスチャ、グラデーションテクスチャ、波テクスチャはノードでしか使えませんね。

逆にクラウド、変調ノイズ、マーブル、凹凸、木目をノードで貼りたい場合、テクスチャペイントで一旦画像として書き出す必要があります。

使いたいテクスチャによってノードとモディファイアーを使い分けるといいと思います。

まとめ

最後にこの記事のまとめを書いてみます。

  • ディスプレイスメントノードを使う時はディスプレイスメントマップノードの使い方で書いたように設定をする必要がある
  • ノードはCyclesレンダー限定
  • ノードとモディファイアーでは使えるプロシージャテクスチャが違う
  • モディファイアーはEevee、Cyclesどちらでも使える

最後まで読んでいただきありがとうございます!