[2.8]PBRマテリアル+NodeWranglar
Blender 2.79以降のCycles、2.80のCyclesとEeveeでPrincipled ShaderをベースとしたPBRマテリアルを作成する場合のメモ。
(紹介している動画やページについて2.79またはそれ以前のものが多いですが、ノードについては2.79と2.80でそこまで変わってないので十分に参考に出来ます。)
PBR?
PBRとは"Physically-Based Rendering"で…という説明はpolycountwikiのたくさんのリンクからそれぞれ各自で調べてもらうこととして、「リアルな表現のアプローチ」くらいに考えてもらえればいいと思います。そのマテリアルをつくるには?ってことですね。
Principled BSDF
Principled BSDFシェーダーについてはこのビデオで説明してくれてますので、暇なときに見てみるといいでしょう。(ここでは見なくて次に行っちゃっていいです。)
Principled Shader+PBR Texture = ❤️
さて、その"PBR"をBlenderでするには?ものすごく雑にいうとPrincipledシェーダーとディフューズ/ラフネス/ノーマルといった各種マップ画像を組み合わせてPBRマテリアルとして作成します。
Node Wrangler Add-on でスピードアップ
Blenderをインストールしたままで ディフューズ/ラフネス/ノーマル の各マップ画像をノードに追加、シェーダーに繋いで、その繰り返し…は面倒ですね。これを自動的にできないか?実は標準パッケージに含まれるNode Wranglerアドオンと、ディフューズ/ラフネス/ノーマル/バンプの各マップ画像が1組になったテクスチャを使うとそれらを「いい感じに」ノードで繋いでくれます。
Note: 「ディフューズ/ラフネス/ノーマル/バンプの各マップ画像が1組になったテクスチャ」のセットは"PBR textures"で検索して出てくるサイト(例:CC0 Textures)から入手できます。
「見た目の良さはやる気に繋がる」ということで、さらにそれが手早くセットアップできるとまた違います。
+1 な表現
ディフューズ/ラフネス/ノーマル の各マップに加えて「汚れを追加」「傷を追加」とかそういうことをするにはどうすればいいか、という事についてはこちらを。「ノーマルマップにノーマルマップをミックス」を扱えるノードグループもダウンロード出来るのでチェックしておくといいですね。
別解。
ノーマルマップ画像の合成にオーバーレイを使っている例がありますが、厳密に言うと正しくはありません。R、Gはオーバーレイ、Bは乗算で計算する、というのが正しいようです。
まとめ?
まとめると以下のようになりますね。
(1) Principled BSDF Shaderを使おう
(2) ディフューズ/ラフネス/ノーマルの各マップ画像を用意しよう(シェアしているサイトもあります)
(3) NodeWranglerAdd-onを使って各マップ画像をまとめてノード配置したり時短可能
See Also
https://www.cgbookcase.com/textures/how-to-use-pbr-textures-in-blender