Tamago Design

【blender 2.8】EEVEEでの放射シェーダーの扱い

cyclesではマテリアルに放射シェーダーを利用することで、通常のオブジェクトを照明のように利用できました。eeveeではこの放射の挙動に癖があるので、学んだ扱い方法などをまとめていこうと思います。

EEVEEで制作中のイメージ

eeveeで開くと光が拡散してない

放射シェーダーを利用したオブジェクトは、eeveeでそのまま開くと光が上手く拡散せず凄く暗くなった表示になります。下記の画像のように光がまわりにまったく拡散しない状態です。デフォルトだとこのような形になってしまうのでeeveeで放射を利用する場合はいくつかの工程が必要になります。

放射オブジェクトの光が拡散しない様子

イラディアンスボリュームを設置してベイクする

eeveeで放射シェーダーのオブジェクトが発する光を拡散させたような形に表現するには、3Dビュー上にイラディアンスボリュームを設置して拡散範囲を決めた上でベイクする必要があります。

イラディアンスボリュームは追加メニューから設置

shift + A、もしくは「追加」からメニューを展開し、「ライトプローブ」の「イラディアンスボリューム」を選択して設置します。

メニューリスト(イラディアンスボリューム)

位置やサイズを反映させたい部分を囲うように調整します。

イラディアンスボリュームの設置

プロパティメニューの「オブジェクトデータ」を選択してイラディアンスボリュームの設定をします。「コレクション可視設定」で反映させたいコレクションを選択。

プロパティメニュー(イラディアンスボリューム)

イラディアンスボリューム解像度は、範囲内をどのくらいの細分化するかという感じでした。デフォルトは4ですが、これだと影とかが四角のタイルが大きすぎてシャドウとかが大きな四角になってしまいます。解像度をあげると細かくなりますがベイクの時間が驚くほどながくなります…

下記の画像は解像度を12にあげた結果となります。
まだタイルの四角が目視できます。もう少し解像度をあげたいところですが、12でもベイクの待機時間はかなりあったのでこれ以上は作業効率悪いから難しいなと思いました。

ベイク後の荒いシャドウの様子

その他の項目がどのような影響を与えるか今一わかりかねている部分があるので都度さわりながらフィーリングをつかめるようにしていきたいです。

レンダー設定からベイク

プロパティメニューの「レンダー」を選択して「間接照明をベイク」をクリックしてベイクします。イラディアンスボリュームの範囲内に拡散した光が表現されます。

プロパティメニュー(レンダー)

下記画像のようにイラディアンスボリュームの範囲から外れている部分には光は拡散されません。イラディアンスボリュームをサイズ変更や場所移動した場合は、ベイクしなおすと最新の結果に更新されます。

ベイク後の画面

ベイクが必要なので負荷も大きい

イラディアンスボリュームの解像度を上げると影などより詳細な形に表現が可能ですが、ベイクの時間も飛躍的に長くなってしまいます…。
放射マテリアルの拡散された光は都度ベイクしなければいけないので、広範囲の拡散や高解像度のものは物凄く負荷がかかるので現実的ではないかもしれませんね。

これからは使い方を都度検討

放射は、自由に形を変えられる通常のオブジェクトを利用できることころなど使い勝手の良さでかなり多用してきました。2.79などで作成したデータをeeveeで開くと表示がおかしくなっていて、最初何が起きているのかわからずかなり驚いてしまいました。
cyclesとの連携やベイクによる負荷を考えると放射をベースにしたライティングは控え、きちんとランプオブジェクトを利用した制作を心がけた方が良いなと今までのやり方を反省しました…。
放射は間接照明とか部分的な利用して、きちんとTPOを考慮した利用をしていけるようにしてきいたいと思います。

category:
Blender