【Unity5】ImageEffectで簡単にリアル表現
カメラに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なしの状態)
Bloom
明るい部分の光が広がり、より輝いているように見えます。テーブルに反射した光が強まったり、光源の周りに白いもやができています。
Depth of Field
被写界深度。一定距離にある物体にピントを合わせます。手前のペン立てにピントを合わせているので、遠くにある物体がぼけています。
Sepia Tone
Color Adjustmentsのうち、セピアに補正するものを選んでみました。古い感じが出ています。
Edge Detection
物体の境界線を検出し、輪郭線を描画します。コミック調に見えるので、Borderlandsを思い出しました。線以外の部分を単色で塗りつぶすことができるので、手書きの世界を演出することも可能です。
Fish eye
魚眼レンズです。実際にゲーム中で使うと酔うかもしれないですが、監視カメラのような演出等に良さそうです。
Ambient Occlusion
物体どうしが接触している部分にできる影を描画します。天井と壁の角や机の下などに効果が表れています。
Noise
ホラー演出っぽい画面のノイズです。ノイズの粒の大きさや、ノイズが切り替わる速度を設定できます。
おわりに
とりあえずBloom・Depth of Field・Ambient Occlusionを使えばリアルな絵になると思いました。Ambient OcclusionはLightingの設定にも存在していて、焼きこみの時に影を発生させることができます。ただし、焼きこみの場合は動的な(staticでない)物体には効果がないので、動的な物体を置く場合はカメラ側でAmbient Occlusionを使おうと思います。