トップ > レンダリング > Blender Renderでレンダリングしてみよう >
環境光で暗すぎる部分を明るくする

  

環境光を当てて暗い部分を明るくしてみよう

まずは、暗すぎる部分を明るくすることに挑戦してみましょう。

現実世界であれば間接光が当たって明るくなるべき場所なのに、レンダリング結果では暗くなってしまった部分を、現実的に明るく表現してみましょう。 つまり、環境光を当てようということです。

例えば、Blenderの初期ファイルを標準設定でレンダリングすると以下のようになります。

初期ファイルの標準設定でのレンダリング
初期ファイルの標準設定でのレンダリング

上図のように陰影が不自然です。 環境光が考慮されていないため、立方体の左手前の面が暗くなっていることが原因です

このような不自然な陰影をなんとかしましょう。 これまで紹介した技法や機能を使って明るくしていきます。

周辺光で環境光を表現してみよう

まずは、周辺光(Ambient Light)を使って明るくしてみましょう。 周辺光は、無条件に全ての面を等しく照らす擬似的な光、つまり、環境光です。

前の記事で作成した実験用シーンを元に解説します。 画面上部のプルダウンメニューの"File" -> "Open"を実行して実験用シーンのファイルを開きます。

  
実験用シーンは、レンダリング > Blender Renderでレンダリングしてみよう > 実験用シーンの作成で作成しました。 まだ作成していない場合は、そちらの記事を参考にして作成してください。
  
開いた実験用シーンを上書き保存しないよう注意しましょう。 Windows上(またはLinux上)でファイルをコピーしたものを開くのがいいかもしれません。

まずは、仮想世界の色を設定します。

1. 仮想世界の色を設定
1. 仮想世界の色を設定

上図のようにPropertiesウィンドウのワールドパネル切替ボタン(ワールドパネル切替ボタン)でワールド関連のパネル群に切り替え、仮想世界の色を設定します。 WorldパネルのHorizon Colorに青色、Zenith Colorに緑色、Ambient Colorに赤色を設定します。

Horizon Colorは空の水平線の色、Zenith Colorは空の天頂の色、Ambient Colorは周辺光の色の設定項目です。 つまり、Horizon ColorとZenith Colorは空の色であり、別の表現をすれば背景を表す色です。 周辺光を表す設定項目ではありません。

Horizon Color と Zenith Colorを設定しても、周辺光には何の影響もありません。 何の影響もありませんが、『何の影響もない』ということを説明するため、あえて設定しました。

  
今回の例では、影響をわかりやすくするためにHorizon Color、Zenith Color、Ambient Colorに原色を設定しましたが、通常はこんな設定にはしません。

では、レンダリングしてみましょう。 キーボードのF12を押してください。

2. レンダリング結果
2. レンダリング結果

上図のように背景が青色で塗られ、立方体とスザンヌと平面は赤色に染まっています。

青色はHorizon Colorの影響で、赤色はAmbient Colorの影響です。 気になるのが、Zenith Colorの緑色の影響がないことです

実は、初期設定では、Zenith Colorは背景色には使われません。 Zenith Colorを背景色として利用するには、WorldパネルのBlend Skyチェックボックスをオンにする必要があります。

3. Blend Skyチェックボックスをオンにする
3. Blend Skyチェックボックスをオンにする

上図のようにWorldパネルのBlend Skyチェックボックスをオンにします。

では、再度、レンダリングしてみましょう。 キーボードのF12を押します。

4. レンダリング結果
4. レンダリング結果

上図のように背景色がHorizon ColorとZenith Colorのブレンドになります。 低い位置はHorizon Color、高い位置はZenith Colorで塗られます。

まだ、気になることがあります。 周辺光が、シェーダの陰影計算の前に加算されているのか、後に加算されているのかです

この記事では、『周辺光は、無条件に全ての面を等しく照らす』と説明しました。 『等しく照らす』の意味が、

  1. 直接光 + 周辺光(どの面でも同じ強さ) → シェーダに渡されて陰影計算される

のか、それとも、

  1. 直接光 → シェーダに渡されて陰影計算される → さらに周辺光(どの面でも同じ強さ)が加算される

のかということです。

どちらなのかを確かめるため、ランプ(ポイントライト)を削除してみましょう。

5. ポイントライトを削除する
5. ポイントライトを削除する

上図のようにポイントライトを削除します。

では、再度、レンダリングしましょう。 キーボードのF12を押してください。

6. レンダリング結果
6. レンダリング結果

上図のようにのっぺりとして陰影が無くなりました。

周辺光がシェーダの陰影計算の入力として渡されていたなら、面と視点の角度によって陰影に差が出るはずです。 陰影に差がないということは、シェーダによる陰影計算の後に加算されているようです。

つまり、ポイントライトからの直接光をもとに陰影計算された結果に周辺光が加算されているということです

見ての通り不自然であるため、次の記事から紹介するアンビエントオクルージョンや環境照明を使うほうがいいでしょう。

次の記事へ

では、長くなりましたので、ここで一区切りします。 続きは次の記事を参照ください

  
  

まとめ

WorldパネルのAmbient Color(周辺光)は、仮想世界の全ての面を等しく照らします。 ただし、不自然であるため、アンビエントオクルージョンや環境照明を使うべきです。

 
メニュー