2019年11月03日

Blender2.8でマテリアルを設定

3DCG制作において質感は非常に重要な要素です。Blenderを始めて8ヶ月、マテリアルについてだいぶわかってきたので、基本的な設定方法をまとめてみました。

Blender2.8のマテリアルについて

● マテリアルについて

マテリアルは、オブジェクトの表面の材質のことです。ゴムやプラスチック、金属やガラスなど様々な質感を表現することができ、レンダリングによって計算され最終的に画像や動画として出力されます。

● EeveeとCycles

Blender2.8には複数のレンダリングエンジンが用意されています。Blender2.8から搭載されたEeveeは、リアルタイムレンダリングによりレンダリング時間が圧倒的に早い反面、設定が複雑でCyclesに比べると表現力がやや落ちます。Blender2.7系まで主流だったCyclesは物理ベースレンダリングにより綺麗な仕上がりにレンダリングできる反面、レンダリング時間が長くかかります。

EeveeとCyclesはマテリアルの設定は基本的に同じですが、今回はCyclesを使用します。

初期設定ではレンダリングエンジンはEeveeになっているので、プロパティでレンダーのレンダーエンジンをCyclesに変更します。

● PBRとプリンシプルBSDF

PBR(物理ベースレンダリング)は、光の反射特性を物理的に正しく行うレンダリング手法で、フォトリアリスティックにレンダリングすることができます。

プリンシプルBSDFはPBRにもとづいたシェーダで、様々な質感を表現できます。Blender2.8からマテリアルを新規追加すると、プリンシプルBSDFが最初から設定されるようになりました。

マテリアルの設定方法

UV球にマテリアルを設定します。Shadingタブをクリックして、オブジェクトモードで新規追加したUV球を選択します。

プロパティで、マテリアルの新規をクリックして、マテリアルを新規追加します。

マテリアルはプロパティパネルでも設定できますが、マテリアルノードを使用した方が便利です。

マテリアルを追加するとプンシプル BSDFが自動的に設定されます。設定項目が多いので、最初は戸惑うかもしれませんが、よく使う項目は「ベースカラー」、「粗さ」、「メタリック」、「伝播」、「IOR」の5項目です。

● 色について

「ベースカラー」はマテリアルの色を設定します。初期設定では少しグレーになっているので、注意が必要です。

● 粗さについて

「粗さ」はオブジェクトの表面のつやや映り込みを設定します。0.0だとつや消しになり、1.0だと光源や背景が強く映り込みます。

● 金属質の材質

「メタリック」は金属質かどうかを設定します。1.0で金属質、0.0で非金属質で、中間の値は意味を持ちません。

メタリックを1.0粗さを0.0に設定すると、鏡のようになります。

● ガラス質の材質

「伝播」はガラスや水など透明な質感を設定します。透明なマテリアルは光の反射が複雑なため、レンダリングのさいデノイズをしないと粒子が残ってしまうことがあるので、注意が必要です。

「IOR」は屈折率で、ガラスと水では屈折率が違い、表現したい質感によって値を変更する必要があります。

上記の場合は、「ベースカラー」を白にして、ガラスは非金属質なので「メタリック」は0.0、「伝播」は1.0にして、「IOR」は1.497(光学ガラス)、「粗さ」を0.2に設定しています。

● ポリゴンにマテリアルを設定

マテリアルはオブジェクトだけではなく、ポリゴンにも設定できます。

マテリアルを新規追加して、編集モードでマテリアルを設定したいポリゴンを選択し、割り当てをクリックすると、ポリゴンにマテリアルを設定できます。

● マテリアルを共有する

一度設定したマテリアルは別のオブジェクトやポリゴンにも設定できます。

マテリアル(正確にはマテリアルスロット)を新規追加して、新規の横のアイコンをプルダウンするとマテリアル一覧が表示されるので、使用したいマテリアルを選択します。

● マテリアルを削除する

設定されていないマテリアルは、次回起動時に自動的に削除されます。

テクスチャの設定方法

● テクスチャの設定

テクスチャは模様を表現するビットマップ画像で、プリンシプルBSDFはベースカラーにテクスチャ画像を接続することができます。テクスチャをはるためにはテクスチャの画像を用意する必要がありますが、「Poliigon」は登録すると、クオリティの高いテクスチャ画像を一部無料でダウンロードできるのでオススメです。

シェーダーエディターで「Shift」+「A」+「テクスチャ」で「画像テクスチャ」を追加して、ベースカラーに接続します。球体なので、投影方法を球にします。

テクスチャをはるさいにはUV展開をする必要がありますが、Blender2.8では、UV球などプリミティブなオブジェクトは自動でUV展開されます。ただし、それではうまくいかない場合もあるので、「Shift」+「A」+「入力」で「テクスチャ座標」を追加して画像テクスチャに接続します。

● ノーマルマップについて

ノーマルマップはポリゴン数を増やすことなく、オブジェクトの凸凹を表現します。

ノーマルマップを設定するには、テクスチャ画像と同じように、シェーダーエディターで「Shift」+「A」+「テクスチャ」で「画像テクスチャ」を追加します。「Shift」+「A」+「入力」で「ノーマルマップ」を追加して、ノーマルマップをはさんで、プリンシプルBSDFのノーマルに接続します。

テクスチャ画像と同じように、画像テクスチャは投影方法を球にして色空間をNon-Colorに設定し、テクスチャ座標を接続するとノーマルマップを設定することができます。

マテリアルは本当にいろいろな質感を表現することができるので、参考書やYoutubeのチュートリアル動画を参考にいろいろ試してみると面白いと思います。

  • このエントリーをはてなブックマークに追加

関連記事

前の記事へ

Three.jsで煙を制作

次の記事へ

Blender2.8でレンダリング(Cycles編)