まずは、暗すぎる部分を明るくすることに挑戦してみましょう。
現実世界であれば間接光が当たって明るくなるべき場所なのに、レンダリング結果では暗くなってしまった部分を、現実的に明るく表現してみましょう。 つまり、環境光を当てようということです。
例えば、Blenderの初期ファイルを標準設定でレンダリングすると以下のようになります。
上図のように陰影が不自然です。 環境光が考慮されていないため、立方体の左手前の面が暗くなっていることが原因です。
このような不自然な陰影をなんとかしましょう。 これまで紹介した技法や機能を使って明るくしていきます。
まずは、周辺光(Ambient Light)を使って明るくしてみましょう。 周辺光は、無条件に全ての面を等しく照らす擬似的な光、つまり、環境光です。
前の記事で作成した実験用シーンを元に解説します。 画面上部のプルダウンメニューの"File" -> "Open"を実行して実験用シーンのファイルを開きます。
まずは、仮想世界の色を設定します。
上図のようにPropertiesウィンドウのワールドパネル切替ボタン()でワールド関連のパネル群に切り替え、仮想世界の色を設定します。 WorldパネルのHorizon Colorに青色、Zenith Colorに緑色、Ambient Colorに赤色を設定します。
Horizon Colorは空の水平線の色、Zenith Colorは空の天頂の色、Ambient Colorは周辺光の色の設定項目です。 つまり、Horizon ColorとZenith Colorは空の色であり、別の表現をすれば背景を表す色です。 周辺光を表す設定項目ではありません。
Horizon Color と Zenith Colorを設定しても、周辺光には何の影響もありません。 何の影響もありませんが、『何の影響もない』ということを説明するため、あえて設定しました。
では、レンダリングしてみましょう。 キーボードのF12キーを押してください。
上図のように背景が青色で塗られ、立方体とスザンヌと平面は赤色に染まっています。
青色はHorizon Colorの影響で、赤色はAmbient Colorの影響です。 気になるのが、Zenith Colorの緑色の影響がないことです。
実は、初期設定では、Zenith Colorは背景色には使われません。 Zenith Colorを背景色として利用するには、WorldパネルのBlend Skyチェックボックスをオンにする必要があります。
上図のようにWorldパネルのBlend Skyチェックボックスをオンにします。
では、再度、レンダリングしてみましょう。 キーボードのF12キーを押します。
上図のように背景色がHorizon ColorとZenith Colorのブレンドになります。 低い位置はHorizon Color、高い位置はZenith Colorで塗られます。
まだ、気になることがあります。 周辺光が、シェーダの陰影計算の前に加算されているのか、後に加算されているのかです。
この記事では、『周辺光は、無条件に全ての面を等しく照らす』と説明しました。 『等しく照らす』の意味が、
のか、それとも、
のかということです。
どちらなのかを確かめるため、ランプ(ポイントライト)を削除してみましょう。
上図のようにポイントライトを削除します。
では、再度、レンダリングしましょう。 キーボードのF12キーを押してください。
上図のようにのっぺりとして陰影が無くなりました。
周辺光がシェーダの陰影計算の入力として渡されていたなら、面と視点の角度によって陰影に差が出るはずです。 陰影に差がないということは、シェーダによる陰影計算の後に加算されているようです。
つまり、ポイントライトからの直接光をもとに陰影計算された結果に周辺光が加算されているということです。
見ての通り不自然であるため、次の記事から紹介するアンビエントオクルージョンや環境照明を使うほうがいいでしょう。