Unityでブルームを使って光の効果を加える

UnityのStandardAssetsにあるBloomを使用してゲームオブジェクトに当たった光に効果を与えてみます。

Unityのマニュアルを見ると

Blooming は、(閃光のような)明るい光源から物体を囲むように漏れ出る光による、光学的なエフェクトです。
Unityマニュアルーブルーム(最適化)-

とあります。

Bloomを日本語に訳すと花開くや満開という意味があるらしく明るい部分から花が開いたような効果を与えるんでしょうか(^_^;)

スポンサーリンク

UnityでBloomを使う

Unityのスタンダードアセットの中には3種類のブルームが用意されています。

Bloom Optimizedは高速で最適化されたスクリプト。

BloomAndFlaresはブルームと自動的にレンズフレアを生成します。

レンズフレアはカメラに強い光が向けられている時に発生する光の漏れだそうです・・・。

BloomはBloom OptimizedとBloomAndFlaresを拡張したスクリプトのようです。

Bloom Optimized

カメラのインスペクタでAdd Component→Image Effects→Bloom And Glow→Bloom(Optimized)を選択し追加します。

Bloom Optimizedを追加する

Thresholdはブルームを開始するRGB値
Intensityはブルームの強さ
Blur Sizeはぼやけさせるサイズ
Blur Iterationsはぼやけさせる増加量
Blur Typeはよくわかりません

個々のパラメータの概要より実際に変化させた方がわかりやすいですね。

↑のように光の明るい付近をボヤッとさせてますね。

Bloom And Flares

Bloom And Flaresはレンズフレアの自動生成も設定出来るスクリプトです。

カメラのインスペクタでAdd Component→Image Effects→Bloom And Glow→Bloom And Flaresを追加します。

BloomAndFlaresのモードをBasicにする

Tweak Modeでモード選択が出来、BasicだとBloom Optimizedと設定がほとんど同じです。

Complexにするとレンズフレアの設定項目等が増えます。

Blend ModeはScreenとAddが選択出来、ScreenモードはHDR(High Dynamic Range)では使用出来ません。

HDRの設定はカメラのCamera項目でチェックを入れて有効に出来ますが、UnityメニューのEdit→Project Settings→QualityのAnti AliasingがDisable(無効)でないと動作しないようです。

元に戻せなくなる人は変更しない方がいいです。

カメラのHDRを有効にする

↑のようにカメラのHDRの設定にチェックをいれると、下に警告文が出ますのでそれを見て設定を変更します。

設定でアンチエイリアスを無効にする

↑のAnti AliasingをDisableにするとHDRが有効になります。

再びカメラのインスペクタを見てみると、

カメラのHDRの下の警告が消える

↑のように警告が消えました。

HDRが有効になっているとブルームの効果がより有効になるみたいです。

HDR以下はBloom Optimizedと同じなので割愛します。

Blur Spreadはぼかしの最大半径です。

ここまではTweak modeがBasicの場合です。

Tweak modeをComplexにすると

Tweak modeをComplexにする

のような項目が増えます。

Cast lens flaresにチェックを入れるとさらに項目が増え↑のようになります。

Use Alpha Maskはよくわかりません
lens flare modeでGhosting(お化け風?)、Anamorphic(歪み風?)、Combine(両方を合わせたモード)が設定出来ます。
Tint ColorはAnamorphicモードにした時のレンズフレアのカラー調整のようです。
Ghosting、Combineモードの場合は4色設定出来ます。

他の設定はIntensityやThreshold等なので同じですね。

値を調整し試してみましょう。

↑のようになりました。

レンズフレアが全然わかりませんね・・・・・(^_^;)

Bloom

BloomはBloom OptimizedとBloom And Flaresの拡張版です。

なので設定値は今までの説明と同じです。

Sample distanceはぼかしの最大半径です。

カメラのインスペクタでAdd Component→Image Effects→Bloom And Glow→Bloomを選択し追加します。

実行して確認してみましょう。

↑のようになりました。

Bloomだとレンズフレアもわかりますね。

参考サイト

Unityマニュアルーブルーム(最適化)-
Unityマニュアル-ブルームとフレアー-
Unityマニュアル-ブルーム-