evil fridge

冷蔵庫に入れたが最後。

【Unity5】ImageEffectで簡単にリアル表現

f:id:daiki-evilone:20170325180338p:plain:left:w120 カメラにImageEffectをアタッチしてみる。

Image Effectとは

カメラにアタッチするコンポーネントで、カメラの映像に特殊効果を与えます。シーン内のオブジェクトへの影響はなく、カメラの映像にフィルタをかけるようにしてエフェクトを描画します。

ImageEffectの入手方法

上のメニューの「Assets -> Import Package -> Effects」をクリックしてインポートします。Cameraオブジェクトを選択した状態で「Add Component」ボタンを押し、Image Effectsから使用できるエフェクトの一覧を選ぶことができます。

ImageEffectの主な機能

使いそうなエフェクトだけピックアップしました。

  • Bloom : 明るい部分の光が広がり、より輝いているように見える。
  • Blur : 画面をぼかす。Motion Blurならスピード感が出る。
  • Depth of Field : 被写界深度。一定距離にある物体にピントを合わせる。
  • Color Adjustments : モノクロやセピアなど、全体の色を変化させる。
  • Edge Detection : 境界線検出。物体の輪郭を強調する。
  • Displacement : 魚眼レンズやゆがみ。
  • Ambient Occlusion : 物体どうしが接触している部分にできる影。
  • Noise : ホラー演出っぽい画面のノイズ。

では、いくつかを実際に試してみます。使いたいImageEffectのコンポーネントをCameraにアタッチするだけです!
エフェクトの確認には、ホラーな雰囲気のある霊安室アセットを使用しました。

(ImageEffectなしの状態)
f:id:daiki-evilone:20170324224920p:plain:w300

Bloom

明るい部分の光が広がり、より輝いているように見えます。テーブルに反射した光が強まったり、光源の周りに白いもやができています。
f:id:daiki-evilone:20170324225200p:plain:w300

Depth of Field

被写界深度。一定距離にある物体にピントを合わせます。手前のペン立てにピントを合わせているので、遠くにある物体がぼけています。
f:id:daiki-evilone:20170324225738p:plain:w300

Sepia Tone

Color Adjustmentsのうち、セピアに補正するものを選んでみました。古い感じが出ています。
f:id:daiki-evilone:20170325123742p:plain:w300

Edge Detection

物体の境界線を検出し、輪郭線を描画します。コミック調に見えるので、Borderlandsを思い出しました。線以外の部分を単色で塗りつぶすことができるので、手書きの世界を演出することも可能です。
f:id:daiki-evilone:20170325161156p:plain:w300

Fish eye

魚眼レンズです。実際にゲーム中で使うと酔うかもしれないですが、監視カメラのような演出等に良さそうです。
f:id:daiki-evilone:20170325160912p:plain:w300

Ambient Occlusion

物体どうしが接触している部分にできる影を描画します。天井と壁の角や机の下などに効果が表れています。
f:id:daiki-evilone:20170325160849p:plain:w300

Noise

ホラー演出っぽい画面のノイズです。ノイズの粒の大きさや、ノイズが切り替わる速度を設定できます。
f:id:daiki-evilone:20170325161659p:plain:w300

おわりに

とりあえずBloom・Depth of Field・Ambient Occlusionを使えばリアルな絵になると思いました。Ambient OcclusionはLightingの設定にも存在していて、焼きこみの時に影を発生させることができます。ただし、焼きこみの場合は動的な(staticでない)物体には効果がないので、動的な物体を置く場合はカメラ側でAmbient Occlusionを使おうと思います。