Unityで焦点が合っていない部分をぼかす

今回はUnityのStandardAssetsに入っているDepthOfFieldとTilt Shiftを使い焦点の合わないゲームオブジェクトをぼかして表示してみます。

スポンサーリンク

Depth Of Field

Depth Of Fieldを使用すると焦点が合っていない部分をぼかして表示する事が出来ます。

カメラのインスペクタからAdd Component→Image Effects→Camera→Depth Of Field(Lens Blur, Scatter, D)を選択します。

DepthOfFieldのインスペクタ

Defocus TypeでDisc BlurとDX11が選択出来、それぞれ設定項目が変わります。

まずは共通項目であるFocal Settingsの部分を見ていきましょう。

Visualizeは焦点が合っている部分と合っていない部分を単純に見える化するかどうかです。黒い部分が焦点が合ってる部分です。
Focus On Transformは焦点対象を設定出来ます(キャラクターをフォーカスするならキャラクターを設定する)。
Focal Distanceはカメラから焦点面までの距離
Focal Sizeは焦点のサイズ
Apertureは焦点の合っている部分と合っていない部分のカメラの絞りの設定みたいです。よくわかりませんが・・・(^_^;)

次にDefocus TypeをDisc Blurにした時の設定です。

Sample Countはフィルタタップの量
Max Blur Distanceはフィルタタップの最大距離
High Resolutionにチェックを入れると不要なノイズを低減します。
Near Blurにチェックを入れると前景領域の重ね合わせを行います。パフォーマンスコストが大きくなります。
Overlap Sizeは前景の重ね合わせの領域の大きさです。

専門的すぎてよくわかりません・・・・・(^_^;)

Defocus TypeをDX11にした場合DX11 Bokeh Settingsが表示されます。

Bokeh Textureはボケの形状のテクスチャ
Bokeh Scaleはボケのテクスチャのサイズ
Bokeh Intensityはボケの強度
Min Luminanceはこの値より明るいピクセルにだけボケが投影されます。
Spawn HeuristicはUnityマニュアルに

Bokeh 形状は、クエスチョンのピクセルが頻度チェックをパスした場合にのみキャストされます。

とありますが、よくわかりません。

値は0.1ぐらいがいいと書いてあります・・・・・(-_-)

Defocus TypeをDX11にして使用するにはShader Model 5が必要みたいで、わたくしのパソコンでは出来ませんでした・・・。

なのでDefocus TypeをDisc Blurにして試してみます。

↑のようになりました。

Depth Of Fieldを使うと焦点を合わせる対象を設定出来るのが便利ですね。

Tilt Shift

Tilt Shiftを使うとカメラの描画画面の中心に垂直方向と放射状に焦点を合わせ周りをぼかす事が出来ます。

Tilt Shiftのインスペクタ

ModeはTilt Shift Mode(垂直方向)とIris Mode(放射状)が選択出来ます。
Qualityはぼかしの量でPreviewを選択するとDepthOfFieldのVisualizeと同じように焦点を視覚的に見る事が出来ます。
Max Blur Sizeはブラ-の効く最大距離
Blur Areaはぼかしの領域と強度

になります。

それでは実行して確認してみましょう。

↑のようになりました。

カメラの中心に焦点を当て他をぼかすという単純な場合はこちらの方が簡単に出来ますね。(^_^)v

参考サイト

UnityマニュアルーDepth of Fieldー

Unityマニュアルーティルトシフトー