UnityのStandardAssetsにあるBlurを使用するとカメラに映る画像を簡単にぼかす事が出来ます。
キャラクターの目がカメラとなっているようなゲームでキャラクターが寝起きでフォーカスが合っていない時のボヤーッとした状態を表現する時等に使えそうですね(^_^)v
Unityの新しめのバージョンを使用している方は
を使用してください。
Blur Optimized
カメラのインスペクタでAdd Component→Image Effects→Blur (Optimized)を選択します。
Blurというスクリプトもありますが、こちらは非奨励になっているようなので使用しない方がいいでしょう。
Down Sampleはダウンサンプルする回数です。サンプリングする周波数を減らして高速化する事が出来るみたいです。
Blur Sizeはぼかすサイズです。
Blur Iterationsはぼかしの繰り返し回数
Blur Typeはぼかす為の方法を選択出来ます。
まぁ・・・例のごとく詳しい事はわかりませんね(^_^;)
実際に実行してパラメータを操作してみましょう。
↑のようにゲーム画面がぼかされるようになりました。
Motion Blur
Motion Blurを使用するとカメラに映った映像を動きによってぼかす事が出来ます。
カメラのインスペクタでAdd Component→Image Effects→Blur→Motion Blur(Color Accumulation)を選択し追加します。
Blur Amountは前のフレームの画像をどれだけ残すか
Extra Blurにチェックを入れるとさらにぶれを適用します。
試してみましょう。
↑のようにキャラクターを動かすと動きにぶれが発生しています。
Camera Motion Blur
カメラのインスペクタでAdd Component→Image Effects→Camera→Camera Motion Blurを選択し取りつけます。
Techniqueはモーションブラ-のアルゴリズムを選択します。
Techniqueで選択したアルゴリズムによって設定出来る項目が変わってきます。
Velocity Scaleはぶれの大きさ
Velocity Maxはブラ-が行われる最大ピクセル距離
Velocity Minはブラ-が行われない距離
Camera Rotationはカメラの回転によるブラ-の強さ
Camera Movementはカメラの移動によるブラ-の強さ
Previewにチェックを入れると人為的にブラ-を発生させます。
Exclude layersを選択するとそのレイヤーを除外します。
Velocity Downsampleは速度でダウンサンプリングします。
Jitter Strengthはブラ-の落ち着きのなさ度を指定します。大きくするとブレが大きくなります。
それでは確認してみましょう。
動画内の白い坂にはStageというレイヤーを取り付けExclude layersに指定して除外してみます。
↑のようになりました。
白い坂を除外しましたが他の背景にブラ-がかかっているのでわかり辛いですね・・・・(^_^;)