Blenderのシェーダーエディタ(Shader Editor)

【概要】

テクスチャマッピングを例として、Blenderのシェーダーエディタでシェーダーツリーを編集し、レンダリングする手順を説明する。シェーダーエディタの基本操作、テクスチャ座標の使用、粗さの設定、バンプマップの設定を扱う。

【目次】

  1. 前準備
  2. Blenderのシェーダーツリー

【関連する外部ページ】

【サイト内の関連情報】

前準備

Blenderは,3次元コンピュータグラフィックス・アニメーションソフトウェアである.3次元モデルの編集,レンダリング,光源やカメラ等の設定による3次元コンピュータグラフィックス・アニメーション作成機能がある.

メニューの日本語化を行っておくと使いやすい.「編集(Edit)→プリファレンス(Preferences)→インターフェイス(Interface)→翻訳(Translation)」で設定できる.

Blenderのシェーダーツリー

マテリアルプレビューモード、HDRI環境の設定

マテリアル(3Dオブジェクトの表面特性を定義する設定群)を3Dビューポートで確認するために、3Dビューポートをマテリアルプレビューモードに変更する。あわせて、HDRI環境(3Dビューポートを照らすHDRI画像による照明)の設定も行う。

  1. マテリアルプレビューモードに切り替える。

    3Dビューポート右上に並ぶビューポートシェーディングのアイコンのうち、左から3番目の「マテリアルプレビュー」をクリックする(ショートカットキー:Zでパイメニューを開く、Shift + Zで直前の表示モードと切り替え)。

    ビューポートシェーディングでマテリアルプレビューを選択

    マテリアルプレビューは、EEVEEとHDRI環境を用いて3Dビューポートを描画する表示モードであり、マテリアルの調整やテクスチャのペイントで使う。

  2. HDRI環境の設定を行う。ビューポートシェーディングのアイコンの右にある下向き矢印のアイコンをクリックするとポップオーバーが開く。「シーンのワールド」のチェックを外すと、Blenderに内蔵されているHDRI環境の一覧から選択できる。ここでは、一番左のcity.exrを選ぶ。
    HDRI環境の一覧からcity.exrを選択

シェーダーエディタを使ってみる

シェーダーエディタは、マテリアルの設定をシェーダーツリー(マテリアルの外観や特性を定義するノードの接続関係図)の編集で行うエディタである。ノードの接続関係を見ながら、マテリアルの詳細な設定ができる。

シェーダーエディタの例1
シェーダーエディタの例2
  1. Blenderのワークスペースを「シェーディング(Shading)」に変更する。
    ワークスペースの変更メニュー
  2. 「Shading」のワークスペースに変わるので確認する。
    Shadingワークスペース

    下側の画面は、シェーダーエディタ(Shader Editor)である。この中に、シェーダーツリー(Shader Tree)が表示されている。シェーダーツリーでは、ノード(特定の機能や処理を持ったシェーダーの構成要素)が互いに接続されている。初期状態では、「プリンシプルBSDF」(物理ベースのシェーディングモデルを実装したマテリアルノード)と「マテリアル出力」の2つのノードが接続されている。

    シェーダーツリーの初期状態
  3. シェーダーエディタでは、シェーダーツリーの編集ができる。ノードの移動は、マウス操作で行う。
    ノードの移動

    ノードの削除は、削除したいノードの右クリックメニュー(ノードコンテキストメニュー)で行う。

    ノードの削除メニュー

    ノードの追加は、メニューの「追加」で行う。

    ノードの追加メニュー

    ノード間の接続は、マウス操作で行う。

    ノード間の接続

演習

シェーダーツリーを、次の3つのノードを使うように設定する。

  1. 「レンガテクスチャ」(レンガのパターンを生成するテクスチャノード)
  2. 「プリンシプルBSDF」
  3. 「マテリアル出力」

次のように操作する。

  1. 「レンガテクスチャ」を追加する。「レンガテクスチャ」は、メニューの「追加」の「テクスチャ」の下のメニューから追加できる。
    レンガテクスチャの追加メニュー
  2. 「レンガテクスチャ」を追加したら、下の図のように接続する。「レンガテクスチャ」の「カラー」を、「プリンシプルBSDF」の「ベースカラー」に接続する。
    レンガテクスチャの接続
  3. 3Dビューポートで確認する。
    レンガテクスチャ適用後の3Dビューポート
  4. 「レンガテクスチャ」の「色1」、「色2」、「モルタル」の色を調整する。色は自由でよいが、「モルタル」は、「色1」と「色2」よりも暗い色に設定する。
    レンガテクスチャの色調整

    3Dビューポートの表示を確認しながら、色の調整を行う。

    色調整後の3Dビューポート

この時点でのBlenderファイル: 01a.blend

テクスチャ座標のノードを使用

「テクスチャ座標」(3Dオブジェクト上でテクスチャが配置される位置を指定する座標系)のノードを追加し、その出力を、テクスチャのノードの「ベクトル」につなぐ。このとき、次の2つの違いを確認する。

UV座標を使用した例
オブジェクト座標を使用した例
  1. 「テクスチャ座標」を追加する。「テクスチャ座標」は、メニューの「追加」の「入力」の下のメニューから追加できる。
    テクスチャ座標の追加メニュー
  2. 「テクスチャ座標」を追加したら、下の図のように接続する。「テクスチャ座標」の「UV」を、「レンガテクスチャ」の「ベクトル」に接続する。これは、「UV」を使うための設定である。
    UV座標の接続
  3. 3Dビューポートで確認する。
    UV座標適用後の3Dビューポート
  4. 次に、下の図のように接続する。「テクスチャ座標」の「オブジェクト」を、「レンガテクスチャ」の「ベクトル」に接続する。これは、「オブジェクト」を使うための設定である。
    オブジェクト座標の接続
  5. 3Dビューポートで確認する。
    オブジェクト座標適用後の3Dビューポート

この時点でのBlenderファイル: 01b.blend

テクスチャを用いた粗さ(Roughness)の設定

テクスチャを用いて、粗さ(表面の微細な凹凸による光の散乱度合い)を設定する。ここでは、レンガは粗さが低く(なめらか)、モルタルは粗さが高く(ざらざら)なるように設定する。

粗さ設定後の3Dビューポート
  1. 「カラーランプ」(入力値に応じて色を変換するコンバーター)を追加する。「カラーランプ」は、メニューの「追加」の「コンバーター(Converter)」の下のメニューから追加できる。
    カラーランプの追加メニュー
  2. 「カラーランプ」を追加したら、下の図のように接続する。「レンガテクスチャ」の「カラー」と、「カラーランプ」の「係数(Fac)」をつなぐ。「カラーランプ」の「カラー(Color)」と、「プリンシプルBSDF」の「ベースカラー」をつなぐ。
    カラーランプの接続
  3. 3Dビューポートで確認する。
    カラーランプ適用後の3Dビューポート
  4. カラーランプの反転を行う。

    「カラーランプ」のノード内のメニューで、「カラーランプを反転」を選ぶ。

    カラーランプの反転メニュー
  5. 色が反転するので確認する。
    反転後の3Dビューポート
  6. カラーランプのカラーストップ(色の位置を指定するつまみ)の位置を調整し、モルタルは白、レンガは黒になるようにする。
    カラーランプのカラーストップ調整
    調整後の3Dビューポート
  7. 「カラーランプ」の「カラー」の接続先を、「ベースカラー」から「粗さ」につなぎ直す。
    粗さへの接続
  8. 立体を回転させて、モルタルの部分は粗さが高く、レンガの部分は粗さが低いことを確認する。
    粗さの効果確認

演習

次のように「カラー」と「ベースカラー」を接続する。ほかは変更しない。結果を確認する。

カラーとベースカラーの接続
接続後の結果

Blenderのシェーダーツリーを用いた、バンプマップの設定

バンプマップ(Bump Map)(形状を変えずに表面の凹凸を表現するテクスチャの技術)を設定する。

バンプマップ設定後の3Dビューポート
  1. 次の手順で、「レンガテクスチャ」を「ノイズテクスチャ」(ランダムなパターンを生成するテクスチャノード)に変更する。
    1. カラーランプの調整を元に戻す。左端が白、右端が黒になるようにする。
      カラーランプの初期状態への復帰
    2. 「ノイズテクスチャ」を追加する。「ノイズテクスチャ」は、メニューの「追加」の「テクスチャ」の下のメニューから追加できる。
      ノイズテクスチャの追加メニュー
    3. 下の図のように接続する。「レンガテクスチャ」は使わないので削除する。
      ノイズテクスチャの接続
    4. 表示を確認する。
      ノイズテクスチャ適用後の3Dビューポート
  2. 「バンプ」(表面の凹凸効果を生成するノード)を追加する。「バンプ」は、「追加」の「ベクトル」の下のメニューから追加できる。
    バンプノードの追加メニュー
  3. 「カラーランプ」を追加する。「カラーランプ」は、メニューの「追加」の「コンバーター(Converter)」の下のメニューから追加できる。
    カラーランプの追加メニュー
  4. 下の図のように接続する。「バンプ」の「高さ」には、ノイズテクスチャの出力をつなぐ。「バンプ」の「ノーマル」(表面の法線方向を示すベクトルで、光の反射計算に使用)は、「プリンシプルBSDF」の「ノーマル」につなぐ。
    バンプノードの接続
  5. バンプの効果を確認する。
    バンプ効果の確認
  6. バンプの「距離」(凹凸の強さ)を変更する。
    バンプ距離の変更
  7. 凹凸の強さが変わったことを確認する。
    バンプ距離変更後の3Dビューポート
  8. 立体を回転させて、バンプの効果を確認する。
    回転後のバンプ効果
  9. HDRI環境を別のものに変更して、バンプの効果を確認する。ビューポートシェーディングのアイコンの右にある下向き矢印のアイコンから開くポップオーバーで、別のHDRI環境を選ぶ。

演習

ベースカラーはノイズテクスチャを利用するが、虹のような色ではなく、明るさが変化する単色に変更する。

  1. 「色相/彩度/明度(HSV)」(色の調整を行うノード)を追加する。これは、「追加」の「カラー」の「色相/彩度/明度」から追加する。
  2. 次のようにつなぎ、「カラー」は自由に設定する。
    HSVノードの接続
    HSVノード適用後の3Dビューポート

この時点でのBlenderファイル: 01c.blend