Web Top Page

このページは、最初にに覚えるべきBlender操作や、 meshesによるモデリングの理解後の方を閲覧対象にしています。

Blenderの レンダー(シェーダー、マテリアル、テクスチャ関連) その1

レンダーエンジの指定

最終的に画面に表示させるこことをレンダリング(rendering)と言います。
レンダー(render)とは作成したオブジェクトを、レンダリングする作業や機能、能力のことで、 Blenderでは「レンダーエンジン」で行われます。
その仕組みは、「質感(マテリアル)」「模様(テクスチャ)」「光(シェーディング)」「色味」などを計算して実現しています。
光による陰影の計算を専門に行うプログラムのことをシェーダー(Shader)と呼びます。
シェーダーには、例えば材木の質感に使うシェーダー、金属の質感に使うシェーダーなど、たくさんの種類があります。
対してマテリアル(Material)の直訳は材料ですが、プログラム的には各種材質に応じたてシェーダーのパラメタ群を保持し、 対象の3Dオブジェクトに紐付けるものと言えます。
Blenderで、これらの情報を使って処理する「レンダーエンジン」は、次の種類(Eevee,Cycles)が存在します。


レンダーエンジンの名前概要
Eevee(イービー)素早いプレビューやリソースをあまり必要としない作業向き
Workbench(ワークベンチ)ライトやマテリアルは反映しないが、最も高速なレンダリング速度とシンプルな設定
Cycles(サイクルズ)レンダリング時間が長くなる代わりにリアリティが向上するので、最終確認向き


通常の作業はEevee(イービー)で行うがお勧めです。

右がプロパティ エリアのレンダーで、赤マルの箇所で「レンダーエンジン」Eevee(イービー)に設定します。

この設定は、 レンダリングモード やF12ショートカットのレンダリングに影響します。

なお下記では、Poly Haven(ポリーヘブン)様のWebページからの画像をダウンロードして使用させて頂きました。

下記で使用したのは「テクスチャ」より、「地形」から、「石」の中の、「Aerial Rocks 02」を選び、1Kのサイズをダウンロードして使っています。
ダウンロードしたファイルの中に「aerial_rocks_02_diff_1k.jpg、aerial_rocks_02_disp_1k.png、aerial_rocks_02_nor_gl_1k.exr、aerial_rocks_02_rough_1k.jpg」 が入っており、
その中のaerial_rocks_02_diff_1k.jpgの画像を、貼り付けたイメージを下記に示します。

上記で、赤マルのマテリアルプロパティで、サーフェスの選択域内のベースカラーの項目があります。
ベースカラーの右の矩形域のクリックでオブジェクトの色を指定できます。
そして、ベースカラーのすぐ左の赤マルが示す〇の箇所をクリックで様々なサーフェスを選ぶためのパネルが出現します。
こパネル内で、オブジェクトに貼り付ける画像を指定する場合は、「画像テクスチャ」を選択します。 これでカラーの代わりに「画像テクスチャ」になります。
そこで、開くボタンでaerial_rocks_02_diff_1k.jpgの画像に変更した状態が、上記イメージです。
上記黄色マルで示すように「マティリアルプレビュー」のシェイダーモードにします。「ソリッドモード」では確認できません。)

上記は、ピンクで示すデフォルトの[Material]の名前が付いたマテリアルを設定しています。
このパネル内で、「サーフェス」の範囲の中に[サーフェス]という項目があり、それがプリンシプルBSDFになっています。
サーフェス:Surfanceとは、オブジェクトの表面の表示手法(シェーダーの技法)で、Blenderでは複数の技法から選択できます。
そして、プリンシプルBSDFが、ブレンダーの主要シェーダーになっています。
(なお、Principled BSDF:bidirectional scattering distribution function は、 双方向散乱分布関数で、物体表面での光の散乱を計算するために使用される拡散近似モデル?ということだそうです。)

上記ではピンクで示すデフォルトの[Material]の名前が付いたマテリアルが、存在していますが隣の+ボタンで追加、−で削除が可能で、 複数のマテリアルを適用できます。


シェーダーエディターの操作概要

オブジェクトの設定は、上記イメージの赤マルのマテリアルプロパティの操作で出来ますが、 それよりも、シェーダーエディターエリアでノードを使用した操作の方がお勧めです。
シェーダーエディターエリアは、上記の水色マルの箇所から選んで、利用するとよいでしょう。
以下のシェーダーエディターエリアのイメージは、上記の[Material]の操作によって出来た構造です。(3Dビューは同じ表示です)

上記は、四角のノードと呼ばれる情報を左から右のノードへと線で伝達し、最終的に「マテリアル出力」に伝達して結果を出しています。
伝達の線は、ノードの「右にある出力用小丸」からドラックして、ノードの「左にある入力用小丸」にドロップすることで接続します。
外す場合は、線の上で、Shiftキーを押しながら右ボタンで、切るようにドラックします。
設定の構造が把握しやすいので、複雑な表現でも、容易に作れます。
なお上記の各ノードの種類は、左から「画像テクスチャ」、「プリンシプルBSDF」、「マテリアル出力」と伝達しています。

補足
マテリアルプロパティエリアで設定した内容は、シェーダーエディターで編集でき、シェーダーエディターで行った変更はマテリアルプロパティエリアに反映されます。 (この二つのエリアは、同じマテリアルデータを異なる視点から操作しています。)
なお、マテリアルプロパティエリアでは、マテリアルの名前を直接変更できますが、シェーダーエディターではこの機能はありません。
対してシェーダーエディターでは、複数のシェーダーをブレンドする設定や、複数のノードをグループ化して再利用した使い方ができます。(マテリアルプロパティエリアでは不可?)
一般に、まずマテリアルプロパティエリアで基本的なマテリアルを設定し、その後シェーダーエディターで詳細な調整やカスタマイズを行います。


背景を利用したレンダリング

画像を背景に設定し、その画像から光源を得ることでリアルな光源・背景を実現する技法のことを、IBL(イメージベースドライティング:Image Based Lighting)と呼びます。
そこで使う光の情報を含む画像の一つが、(HDRI:(High Dynamic Range Image)で、これは広いダイナミックレンジを持ち、物理的に正確なライティングでき、一般的に使われます。
他に、EXR (OpenEXR)、Radiance (.HDR)が使われます。
JPEGやPNGなどのLDR形式も使用できますが、ライティング効果は限られらしいです。
以下は、JPEGを使った操作例です。(IBL(イメージ・ベースド・ライティング)はEeveeのレンダープレビューでも使えます。)

背景にはhdr拡張子の(High Dynamic Range:ハイダイナミックレンジ)ファイルを指定します。
画像の最も暗い部分と最も明るい部分のディテールをより鮮明に表現したファイルです。
(ですが、上記ではjpgを指定して、レンダープレビューモードの状態です)

単純な背景指定は、 「プロパティ」エリアで、「ワールド」を選択し、「サーフェス」の中で設定します。
まず、「サーフェス」をクリックして[背景]にします。
カラーの[RGB]を変更して、[環境テクスチャ]にして、開くから背景のファイルを選択します。
レンダープレビューモードで見えるようになります。

上記のイメージは、「サーフェス」を[ノード使用]にして「シェイダーエディター」エリアも表示しています。
そして、背景を縮小して表示するなどの調整を次の操作でしています。
「シェイダーエディター」エリアの「追加」で、入力→[テクスチャ座標]
「シェイダーエディター」エリアの「追加」でベクトル→[マッピング]
ノード連結は、次の通りです。
[テクスチャ座標]の[生成]から、[マッピング] の[ベクトル]に繋げる。
[マッピング] の[ベクトル]から[環境テクスチャ(背景に指定したファイル)] の[ベクトル]に繋げる。