Blenderのシェーダーエディタ(Shader Editor)
【概要】Blenderでテクスチャマッピングを例として、シェーダーエディタを用いてシェーダーツリーを編集し、レンダリングする手順を説明する。シェーダーエディタの基本操作、テクスチャ座標の使用、粗さの設定、バンプマップの設定について、具体的な操作手順を示す。
【目次】
【サイト内の関連ページ】
【関連する外部ページ】
- Blenderの公式ページ: https://www.blender.org/
前準備
Blenderのインストール
【Blenderのインストール】
- WindowsでのBlender 4のインストール: 別ページで説明
- UbuntuでのBlender 3のインストールは、別ページで説明
メニューの日本語化を行っておくと使いやすい。
Blenderの基本操作のまとめ
【サイト内の関連ページ】
- Blenderの基本操作(立体の新規作成と配置の調整、立体の操作、カメラ視野(カメラビュー)の調整、レンダリング、マテリアル、元に戻す、やり直す): 別ページで説明
- Blenderの種々の操作と設定: 別ページで説明
Blenderのシェーダーツリー
ルック開発モード、スタジオライトの設定
マテリアル(3Dオブジェクトの表面特性を定義する設定群)を3Dビューポートで即座に確認するために、3Dビューポートをルック開発モード(マテリアル調整のための特殊な表示モード)に変更する。スタジオライト(3D環境の照明設定のプリセット)の設定も行う。
- まず、ルック開発モードに切り替える。ルック開発モードへの切り替えは、メニューで行うことができる。
ルック開発モードは、立体のマテリアル等を調整するために、シーン内のライトを簡単に切り替えながら確認するためのモードである。
- 次に、スタジオライトの設定を行う。スタジオライトの設定はメニューで行うことができる。ここでは、一番左のcity.exrを選ぶ。
シェーダーエディタを使ってみる
シェーダーエディタは、マテリアルに関する設定をシェーダーツリー(マテリアルの外観や特性を定義するノードの接続関係図)の編集で行うことができるエディタである。マテリアルの詳細設定を行う際、プロパティのマテリアル画面よりも視認性が高く、効率的に設定できる。
- Blenderのワークスペースを「シェーディング(Shading)」に変更する。
- 「Shading」のワークスペースに変わるので確認する。
下側の画面は、シェーダーエディタ(Shader Editor)になっている。この中には、シェーダーツリー(Shader Tree)が表示されている。シェーダーツリーでは、互いにノード(特定の機能や処理を持ったシェーダーの構成要素)が接続されている。現在は、「プリンシプルBSDF」(物理ベースのシェーディングモデルを実装した標準的なマテリアルノード)と「マテリアル出力」の2つのノードが接続されている。
- シェーダーエディタを使用して、シェーダーツリーの編集が可能である。ノードの移動は、マウス操作で行うことができる。
ノードの削除は、削除したいノードの右クリックメニュー(ノードコンテクストメニュー)で実行できる。
ノードの追加は、メニューから行うことができる。
ノード間の接続は、マウス操作で直感的に編集できる。
演習
シェーダーツリーを、次の3つのノードを使用するように設定する。
- 「レンガテクスチャ」(レンガのパターンを生成するテクスチャノード)
- 「プリンシプルBSDF」
- 「マテリアル出力」
次のように操作する。
- 「レンガテクスチャ」を追加する。「レンガテクスチャ」は、メニューの「追加」の「テクスチャ」の下のメニューから追加できる。
- 「レンガテクスチャ」を追加したら、下の図のように接続する。「レンガテクスチャ」の「カラー」を、「プリンシプルBSDF」の「ベースカラー」(Blender 4では「基本色」とも表示される)に接続する。
- 3Dビューポートで、確認する。
- 「レンガテクスチャ」の「色1」、「色2」、「モルタル」の色を調整する。色は自由で良いが、「モルタル」は、「色1」と「色2」よりも暗い色になるように設定する。
3Dビューポートの表示を確認しながら、色の調整を行う。
この時点でのBlenderファイル:01a.blend
テクスチャ座標のノードを使用
「テクスチャ座標」(3Dオブジェクト上でテクスチャが配置される位置を指定する座標系)のノードを作成し、その出力を、テクスチャのノードの「ベクトル」(方向と大きさを持つ数学的要素)につなぐ。このとき、次の2つの違いを確認する。
- 「テクスチャ座標」のノードの「UV」(オブジェクト表面に2次元テクスチャを配置するための座標マッピング手法)
- 「テクスチャ座標」のノードの「オブジェクト」
- 「テクスチャ座標」を追加する。「テクスチャ座標」は、メニューの「追加」の「入力」の下のメニューから追加できる。
- 「テクスチャ座標」を追加したら、下の図のように接続する。「テクスチャ座標」の「UV」を、「レンガテクスチャ」の「ベクトル」に接続する。これは、「テクスチャ座標」の「UV」を使用するための設定である。
- 3Dビューポートで、確認する。
- 今度は、下の図のように接続する。「テクスチャ座標」の「オブジェクト」を、「レンガテクスチャ」の「ベクトル」に接続する。これは、「テクスチャ座標」の「オブジェクト」を使用するための設定である。
- 3Dビューポートで、確認する。
この時点でのBlenderファイル:01b.blend
テクスチャを用いた粗さ(Roughness)の設定
テクスチャを用いて、粗さ(表面の微細な凹凸による光の散乱度合い)を設定する。ここでは、レンガは粗さが低く(滑らか)、モルタルは粗さが高く(ざらざらした質感)なるように設定する。
- 「カラーランプ」(特定の入力値に応じた色の変換や分布を制御するコンバーター)を追加する。「カラーランプ」は、メニューの「追加」の「コンバーター(Converter)」の下のメニューから追加できる。
- 「カラーランプ」を追加したら、下の図のように接続する。「レンガテクスチャ」の「カラー」と、「カラーランプ」の「係数(Fac)」をつなぐ。「カラーランプ」の「カラー(Color)」と、「プリンシプルBSDF」の「ベースカラー」をつなぐ。
- 3Dビューポートで、確認する。
- カラーランプの反転を行う。
カラーランプ(ColorRamp)では、画素の色や明るさを変更することができる。
「カラーランプ」のノード内のメニューで、「カラーランプを反転」を選択する。
- カラーランプにより、反転するので確認する。
- ゲージを調整し、モルタルは白、レンガは黒になるように調整する。
- 「カラーランプ」のカラーを、「ベースカラー」から「粗さ」につなぎなおす。
- 回転させて、モルタルの部分は粗さが高く、レンガの部分は粗さが低いことを確認する。
演習
次のように「カラー」と「ベースカラー」を接続する。ほかは変更しない。結果を確認する。
Blenderのシェーダーツリーを用いた、バンプマップの設定
バンプマップ(Bump Map)(表面の凹凸を実際の形状変更なしに表現するテクスチャ技術)を設定してみる。
- 次の手順で、「レンガテクスチャ」を「ノイズテクスチャ」(ランダムなパターンを生成するテクスチャノード)に変更する。
- カラーランプの調整を元に戻す。左端が白、右端が黒になるようにする。
- 「ノイズテクスチャ」を追加する。「ノイズテクスチャ」は、メニューの「追加」の「テクスチャ」の下のメニューから追加できる。
- 下の図のように接続する。このとき、「レンガテクスチャ」は不要なので削除する。
- 表示を確認する。
- カラーランプの調整を元に戻す。左端が白、右端が黒になるようにする。
- 「バンプ」(表面の凹凸効果を生成するノード)を追加する。「バンプ」は、「追加」から「ベクトル」の下にある。
- 「カラーランプ」を追加する。「カラーランプ」は、メニューの「追加」の「コンバーター(Converter)」の下のメニューから追加できる。
- 下の図のように接続する。「バンプ」の「ノーマル」(表面の法線方向を示すベクトルで、光の反射計算などに使用)は、「プリンシプルBSDF」の「ノーマル」につなぐ。
- これで、バンプの効果を確認する。
- バンプの「距離」(バンプによる凹凸の強さ)を変更してみる。
- バンプの距離が変化したことを確認する。
- 立体を回転して、バンプの効果を確認する。
- スタジオライトを別のものに変更して、バンプの効果を確認する。Blender 4では、スタジオライトの設定は3Dビューポート右上の「シーン」メニュー、または「表示」から「スタジオライト」から行うことができる。
演習
ベースカラーは、ノイズテクスチャを利用するが、虹のような色ではなく、単色(輝度が変わる)に変更する。
- 「HSV(色相/彩度/輝度)」(色の調整を行うノード)を追加する。これは、「追加」から「カラー」から「色相/彩度」から追加する。
- 次のようにつなぎ、「カラー」は自由に設定する。
この時点でのBlenderファイル:01c.blend