BlenderのEeveeやCyclesで環境テクスチャ(Environment Texture)ノードの使用方法を紹介します。
1 HDR画像の準備
ここでは環境テクスチャ(Environment Texture)ノードにHDR画像(HDRI)を使用するので、予め準備をしておいてください。
「free hdri」などのキーワードで検索すれば、フリーのHDR画像が見つかると思います。
Poly Havenというサイトなどがおすすめです(画像のダウロード方法はこの記事の一番下で紹介をしています)。
HDR画像には屋外/屋内/スタジオ、明るい/暗いなどいろいろありますが、HDR画像を見ただけでは実際にBlender内でどのようなレンダリング結果になるかは予想しづらいので、好みのものをいくつかダウンロードしておくといいと思います。
blender.exeと同じ場所にあるBlenderのバージョン\datafiles\studiolights\worldにある画像を使用しても構いません。
2 環境テクスチャ(Environment Texture)を使用する場合のノードの組み方
手順1
Blenderを起動したら、プロパティ(Properties)>レンダ―プロパティ(Render Properties)>レンダーエンジン(Render Engine)でEeveeとCyclesから選択します(画像1参照)。
CyclesとEeveeでノードの組み方に違いはありませんが、今回はEeveeを使用します。
初めからあるライト(Light)は使用しても問題ありませんが、ここでは削除しておきます。
手順2
エディタータイプ(Editor Type)を3Dビューポート(3D Viewport)からシェーダーエディター(Shader Editor)に変更して(画像2参照)、
画像3の位置で、編集するシェーダーをオブジェクト(Object)からワールド(World)に変更します。
手順3
ノードを画像4のように作成します。
画像4のノードは左から以下のようになっています。
- 追加(Add)>入力(Input)から追加したテクスチャ座標(Texture Coordinate)ノード
- 追加(Add)>ベクトル(Vector)から追加したマッピング(Mapping)ノード
- 追加(Add)>テクスチャ(Texture)から追加した環境テクスチャ(Environment Texture)ノード
- 追加(Add)>シェーダー(Shader)から追加した(または初めからある)背景(Background)ノード
- 追加(Add)>出力(Output)から追加した(または初めからある)ワールド出力(World Output)ノード
テクスチャ座標(Texture Coordinate)ノードとマッピング(Mapping)ノードは生成(Generated)>ベクトル(Vector)でつなぎ、環境テクスチャ(Environment Texture)には開く(Open)ボタンを押して好みのHDR画像を設定してください。
テクスチャ座標(Texture Coordinate)ノードとマッピング(Mapping)ノードは必須ではありませんが、マッピング(Mapping)ノードの回転(Rotation)のZ軸の値を変更することでHDR画像もZ軸に回転させることができるので、光の当たり具合などを調整できます。
背景(Background)ノードの強さ(Strength)を調整すると、環境テクスチャ(Environment Texture)の明るさを調整できます。0にすると真っ暗になります(その他のライトがなければ)。
環境テクスチャ(Environment Texture)ノードと背景(Background)ノードの間に輝度/コントラスト(Bright Contrast)ノードやHSV(色相/彩度/輝度)(Hue Saturation Value)ノードなどを挟むと、HDR画像をある程度調整することも可能です。両方とも追加(Add)>カラー(Color)にあります。
Node Wranglerというアドオンを使用している場合は、背景(Background)ノードを選択してCtrlキー+Tキーで、その他のノードを自動で追加してくれます。
手順4
エディタータイプ(Editor Type)を3Dビューポート(3D Viewport)に戻して、3Dビューのシェーディング(Viewport Shading)をレンダ―(Rendered)に変更します(画像5参照)。
すると、3Dビューポート(3D Viewport)の表示が画像6のようになっているはずです。
画像6のように背景にHDR画像が表示されていない場合はNumpad5(テンキーの5)を押して投影方法を透視投影(Perspective)に変更してみてください。
平行投影(Orthographic)の場合には背景にHDR画像がはっきりと映らなくなりますが、オブジェクトにあたる光自体には投影方法による違いはないので、どちらの投影方法を使用しても問題ありません。レンダリグの結果も同じです。
EeveeではHDR画像を光源として使用しても影が表現されないので、ライト(Light)などが必要になる場合もあります。
3 プロパティ(Properties)のワールド(World)から環境テクスチャ(Environment Texture)を設定する方法
上で紹介した方法の他にプロパティ(Properties)のワールド(World)から環境テクスチャ(Environment Texture)ノードを設定する方法もあります。
手順1
プロパティ(Properties)>ワールド(World)>サーフェス(Surface)のカラー(Color)にある丸のアイコン(画像7参照)をクリックして表示されるメニューで、テクスチャ(Texture)>環境テクスチャ(Environment Texture)を選択します。
手順2
開く(Open)からHDR画像を設定します(画像8参照)。
手順3
ここまでの段階でシェーダーエディター(Shader Editor)のワールド(World)でノードを確認すると、画像9のようになっています。
画像4のノードとの違いはテクスチャ座標(Texture Coordinate)ノードとマッピング(Mapping)ノードがあるかどうかだけなので、必要な場合はこれらをつないでください。
4 レンダリング結果に背景のHDR画像を残さないようにするには
環境テクスチャ(Environment Texture)は背景画像としてレンダリング結果にそのまま残りますが、以下のような方法で環境テクスチャ(Environment Texture)が背景に残らないようにすることもできます。
4.1 背景を透過させてHDR画像を残さないようにする方法
レンダリング結果の背景を透過させる方法については下記の記事で紹介をしています。
4.2 背景用のメッシュを配置してHDR画像を残さないようにする方法
レンダリングされる範囲に、画像10のように背景用のメッシュを配置することでHDR画像を残さないようにすることも可能です。
5 Poly HavenからHDR画像をダウンロードする方法
Poly HavenからHDR画像をダウンロードするにはPoly Havenを開いて、HDRIsのBrowse HDRIsをクリックします(画像11参照)。
好みの画像を選択したらクリックして、Downloadボタンをクリックすると画像をダウンロードできますをクリックします(画像12参照)。
ダウンロードの設定はデフォルトで4KとEXRになっていますが、このままで問題ありません。
以上、Blenderの「環境テクスチャ(Environment Texture)ノードを使用する場合のノードの組み方」でした。
コメント