Blenderテクスチャリング

[Blender] シェーダーノードの基本的な使い方とPBRテクスチャでリアルな質感を表現してみよう

3DCGにおいてテクスチャリングは色を追加する単純なものから、PBRテクスチャという画像を使ったテクスチャを反映させて、フォトリアルなマテリアルを作成することができます。

PBRテクスチャの「PBR」とは「Physically Based Rendering(物理ベースレンダリング)」の頭文字を取ったもので、現実世界での光の流れを表現できるための3DCGの技術の一つです。

主に現実世界で撮影されたコンクリートや壁などの画像をベースに、色情報を含んだ「カラー(Color)」、反射を表現する「ラフネス(Roughness)」、凹凸を表現する「ノーマル(Normal)」や「ディスプレイスメント(Displacement)」など様々あり、これらを組み合わせることでより本物に近い質感を表現できます。

PBRテクスチャの種類については「イメージテクスチャを使って、よりリアルなマテリアルを作ってみよう!マップの種類と適用方法とは?」でも紹介しています。こちらはCinema 4Dの標準マテリアルを使ったものですが、テクスチャの概要は理解できると思います。

この他にもbe CG Artist!ではCorona RendererRedshiftを使ったPBRテクスチャの反映方法を紹介しており、今回紹介するBlenderでも他のレンダラーと同じようにシェーダーノードを使ってPBRテクスチャを使ったマテリアルを作成していきます

マテリアルの作成とシェーダーノードのワークスペースを開く

今回はこのシーンで使われている平面にPBRテクスチャを追加していきます。部屋を表現したいので、床となる部分にウッドタイルのテクスチャを反映します。

ちなみにこのシーンではシンプルに部屋の壁を表現する立方体と床になる平面、そして一つのエリアライトを追加しています。

レンダープレビューを使って確認してみるとこのような感じ。ちなみにレンダラー(レンダーエンジン)はCyclesを使用しています。

床の部分である「Floor」の平面を選択して、マテリアルプロパティを開いて新しいマテリアルを作成します。そしてマテリアルの名称をわかりやすくなるように「Wood Floor」のように変更します。

次にノードでの編集が行いやすくなるように、上部にある「Shading」をクリックしてワークスペースを変更します。

テクスチャを入手する

使用するテクスチャは何でも良いのですが、今回は床を表現したいのでambientCGにある「Wood Floor 004」を使用します。

ZIPを展開し、中にあるファイルを参照します。色々なファイルがありますが、今回使用するのは「Color」、「Displacement」、「Normal(GL)」、「Roughness」の4つです。

シェーダーノード

Shading」のワークスペースを開くと色々なウィンドウ(エリア)が表示されていますが、基本的に中央下にある「シェーダーエディタ」からノードを追加したりパラメータの操作を行い、マテリアルを作っていきます。

シェーダーエディタでは追加されたマテリアルのノードが表示されており、今回の場合は床である「Floor」オブジェクトの「Wood Floor」のノードになっています。

プリンシプルBSDF」はマテリアル作成に必要なパラメータが集まったノードで、マテリアルプロパティの「サーフェス」のものと全く同じです。ノードまたはマテリアルプロパティ上で操作しても同じように反映されます。

マテリアル出力」はマテリアルの出力に必要なノードです。このノードが無いとマテリアルが反映されず、黒くなります。マテリアル出力には凹凸を表現するディスプレイスメントのポートも用意されています。

ノードの追加と接続、解除

新しくノードを追加するにはショートカットキー「Shift + A」または上部メニューの「追加」からキーワードを入力または一覧からノードを追加できます。

PBRテクスチャなどによってはFinderやExplorerなどから直接ドラッグ・アンド・ドロップで追加することも可能です。

ノード同士を繋げるにはノード右にあるポートをドラッグして線(ヌードル)を表示させ、接続するノードの左側のポートにドラッグします。

ノードの接続を解除する場合は「Control + 右クリック」を行うとカーソルがナイフに変わるので、接続解除したい線をカットすると良いでしょう。

ノードを削除する際は「X」キーまたは右クリック「削除」で、シェーダーエディタ内の移動はビューポートで操作する時と同じマウスまたはキーの組わせになります

PBRテクスチャの反映

左上の「ファイルブラウザー」またはFinderやExplorerのファイルマネージャーからシェーダーエディタの中にテクスチャをドラッグ・アンド・ドロップします。

各テクスチャの接続についてはRedshiftのものと非常に似ています。「Color」、「Diffuse」、「Albedo」のテクスチャはプリンシプルBSDFの「ベースカラー(Base Color)」に接続します。

Roughness」のテクスチャはプリンシプルBSDFの「粗さ(Roughness)」へと接続し、「色空間」を「非カラー(Non-Color)」にします。

Normal」のテクスチャは「ノーマルマップ(Normal Map)」のノードを接続し、「カラー」同士を接続させ、ノーマルマップの「ノーマル」をプリンシプルBSDFの「ノーマル」へと接続します。テクスチャの色空間はラフネスと同じく「非カラー」を選択します。

最後はディスプレイスメントです。「Displacement」のテクスチャは新しく「ディスプレイスメント(Displacement)」のノードを追加し、テクスチャの「カラー」をディスプレイスメントの「高さ」へと接続します。

その後はディスプレイスメントノードの「ディスプレイスメント」をマテリアル出力の「ディスプレイスメント」へと接続しましょう。テクスチャの色空間は「非カラー」にします。

最終的に出来上がったノードが上のもので、下がレンダリングを行ったもの。フォトリアルな感じが出ていていい具合になりました。

テクスチャのサイズ調整

上の方法を行うことでPBRテクスチャを反映させることができましたが、テクスチャのサイズが床のサイズに比べて大きいため、少し違和感があります。その際はUVエディターを使ってテクスチャのサイズを調整すると良いでしょう。

BlenderにおけるUV展開方法はこの記事では割愛しますが、UVマップなどの概要を確認したい場合は「Cinema 4D マテリアルを綺麗に反映するために必要なUVマップやUV展開ってなんだろう?」をチェックしてみてください。

平面オブジェクトのUVマップを調整します。アウトライナーから平面を選択し、編集モードに切り替えて面(ポリゴン)を選択します。

次に左下にある画像ビューアの「エディタタイプ」のドロップダウンメニューから「UVエディター」を選択してウィンドウを切り換えます。

UV選択モード:面」のアイコンをクリックし、面を選択した後は「S」キーを使ってUVアイランドのサイズを変更しましょう。サイズ調整を完了させてレンダリングを行ったものが下のもの。最初のレンダリングに比べるとよりリアルに近づけることができました。

今回の記事ではBlenderでのシェーダーノードの基本操作を紹介しました。このシェーダーノードはマテリアルだけではなくHDRIなどにも活用できるので、ぜひ使ってみてください。

(MIKIO)

mikio

コマーシャルを中心に企画から撮影、編集などの映像制作に10年携わる。最近3DCG制作にも興味を持ち始め、学んだことを備忘録として残したり、独学で3DCGを学びたい初心者にもわかるようにbe CG Artist!では3DCG制作で役に立つチュートリアルを紹介していきます。

関連記事

Back to top button