【Unity】ポストプロセシング(Post-Processing)のエフェクトまとめ

【Unity】ポストプロセシング(Post-Processing)のエフェクトまとめ

このブログではUnityのポストプロセシング(Post-Processing)で設定できるエフェクトについて、エフェクト自体の解説や設定値の解説、実例を紹介しています。

個別の記事に飛びやすいようまとめたので、興味のあるエフェクトについて触れてみてください。

 

 

環境

記事を書いた時の環境は以下のようになっています。Macを使っていますが、Windowsでも同様にポストプロセシングを使用できます。

macOS 10.15 Catalina

Unity2019.2.9f1

Unity Hub 2.2.2

Post Processing 2.1.7

 

参考文献

公式のパッケージ解説

公式のバッケージ解説の方は英語で書かれていますが、自動翻訳すれば概要を掴みやすくなります。

 

Post-Processing(ポストプロセシング)とは

Post-Processing(ポストプロセシング)とは、画面に描画する前の画像に対して処理を行うことで、最終的に描画される画像の見栄えを良くする機能です。インスタのフィルターのようなイメージです。

ポストプロセシングの概要や導入方法については以下の記事で解説しているので、こちらもご参照ください。

 

 

このページでは以下のように『Post Processing Volume』のコンポーネントから追加できるエフェクトについて一覧として確認できるように列挙しています。個別の解説ページにもリンクを貼っているので、気になるエフェクトがあったらぜひご確認くださいな。

追加できるエフェクト
追加できるエフェクト

 

Ambient Occlusion(環境遮蔽)

Ambient Occlusionの比較
Ambient Occlusionの比較

 

Ambient Occlusion(アンビエント オクルージョン: 環境遮蔽)はオブジェクトの接合部分や穴、折り目などを暗く表示するエフェクトです。シーン内のライトで描画する影にこのAmbient Occlusionが加わると、より現実的な物体の表現が出来ます。

ライティングでは光っている部分に注目することも多いですが、同じように影の部分にも注目することが大切です。

Ambientは周囲を取り巻く環境、Occlusionは遮蔽や閉鎖された状態を表す言葉です。Occlusionの方はそのまま「オクルージョン」とカタカナのまま使う人も多いかもしれません。

オブジェクトが「そこにある感じ(存在感)」を表現できるので、現実を忠実に再現したような画面を作れます。

 

 

 

Auto Exposure(自動露出)

Auto Exposureの例
Auto Exposureの例

 

Auto Exposure(オートエクスポージャー: 自動露出)は画面内の明るさを自動的に調整してくれる機能です。シーン内のライトの光量から画面全体の適切な明るさを計算してくれるので、白飛び、黒つぶれを防いでくれます。

人間の目は、明るいところから暗いところに行くと、しばらくは暗くて何も見えませんが、次第に目が慣れてきます(これを暗順応といいます)。逆に暗いところから明るいところに行った時も目が慣れるまで少し時間がかかります(こちらは明順応と呼ばれています)。目に入ってくる光の量を調整することでこのような機能を実現しているんです。

同じようにカメラのレンズでも画像を記録するセンサーに入る光の量を調整する自動露出の機能があり、Auto Exposureはこれと似たような働きをしています。画面内の明るさを計算し、その輝度を使って平均値を導いて描画する明るさを決めていて、動的に計算することで明るさの変化などにも対応してくれます。

 

 

 

Bloom(ブルーム)

活気のある雰囲気を演出
活気のある雰囲気を演出

 

Bloom(ブルーム)とは、シーン内の光源から放出される光が、あたかも他のオブジェクトに映り込んでいるような表現を追加するエフェクトです。Bloomは「咲く」という意味の言葉で、光の花が咲いているような表現ができます。

通常、光っているオブジェクトはその境界線までが明るく、隣のピクセルまでは明るくしてくれません。光をベイクしたり、ライトプローブを使うことで光を受け取ることができますが、Bloomではカメラを通して見た画像に対して光がにじみ出るような表現を加えます。

全体としてふんわりとした印象を作り出すことができるので、ゲームの雰囲気が柔らかい感じ、周りと調和した感じになります。Bloomを使う際には下記の『Color Grading』も一緒に使います。

 

 

 

Chromatic Aberration(色収差、色ズレ)

おわかりいただけただろうか……
おわかりいただけただろうか……

 

Chromatic Aberration(クロマティックアベレーション)は色収差、色ズレを表現する機能です。色収差は、光学レンズによって光が赤や緑、青といった形で分けられてしまうことによって発生します。

いいカメラだと、凸レンズの後ろに別の材質の凹レンズを挟んで屈折率を調節しているため、色ごとにちゃんと焦点で像を結ぶようになり色収差が抑えられています。どちらかというと普段Unityの中で使っているカメラがこちらの表現になっています。色収差がなくきっちり描画されていますからね。

Chromatic Aberrationは使い捨てカメラやチェキのような比較的安めのカメラで撮影したときのような表現に向いています。「まさにカメラで撮影しています!」という表現にぴったりです。

 

 

 

Color Grading(カラーグレーディング)

コントラストを上げた
コントラストを上げた

 

映像作品には表現したいイメージ、雰囲気などがあるので、これらに沿った色の表現を行っていきます。例えば昔のシーンを表現するなら、画面全体をセピア色すると雰囲気が伝わります。ホラー映画でお化けやモンスターがどこから襲ってくるか分からない場合は、影を濃くして暗い部分を増やし、緊張感を与えることもできます。

こうした演出に沿った色の設定、付加の作業がカラーグレーディングです。

特に注目したいのがトーンマッピングの機能で、光の明るさが1を超えた範囲まで情報を持てるHDRの表現ができます。Bloomの機能では光の明るさを追加して全体的に明るくなる表現ができるので、組み合わせて使いましょう。

 

 

 

Depth of Field(被写界深度)

テーブルの上の茶色いビンに焦点が合っている
テーブルの上の茶色いビンに焦点が合っている

 

Depth of Field(被写界深度)とは、焦点の合っている(ピントの合っている)距離の範囲のこと。この距離はカメラからの距離を指しています。

  • 被写界深度が「浅い」=焦点の合う範囲が狭い
  • 被写界深度が「深い」=焦点の合う範囲が広い

焦点が合っているとオブジェクトがはっきりと見え、焦点が合っていないとオブジェクトがぼやけて見えます。

焦点を合わせたいオブジェクトに注目させる効果があり、画面にメリハリが生まれます。

 

 

 

Grain(グレイン:粒子)

思い出の家
思い出の家

 

Grain(グレイン)とは、フィルムで撮影した写真を現像したときのような、ざらざらとした粒子を表現するエフェクトです。

画像が粗くなり、鮮明ではない様子を表現することができます。公式のマニュアルを読むと、「ホラーゲームでよく使われます」とあり、確かに画面が鮮明でない方が恐怖をかき立てる意味ではマッチしています。

この時代になるとデジタルで写真を保持することも多くなってきたので、もしかしたらフィルムカメラで撮影して現像した写真には馴染みがない方もいるかもしれません。その場合は親御さんの持っている昔の写真などを見せてもらうと「これがGrainか」と分かると思います。

 

 

 

Lens Distortion(レンズの歪み)

レンズディストーションの適用
レンズディストーションの適用

 

Lens Distortion(レンズの歪み)とは、その名の通りレンズの歪みを表現するエフェクトです。魚眼レンズのような表現だったり、逆に中央を縮小してワープの表現をすることもできます。

通常はカメラのレンズに歪みがない方が好ましいです。しかし、歪んだレンズによる映像を使うことで、他者の視点を表現することもできます。

広角レンズのような表現が可能ですが、ポストプロセシングは現在カメラに映し出されている画像に対して処理を行うため、カメラに映っていない範囲が見えるようにはなりません。この場合は端のピクセルがそのまま引き伸ばされたような画像になります。

Lens Distortionを使うことで遠近感が強調されます。中央に映っているオブジェクトが強調され、ある種デフォルメされたような効果が得られます。

 

 

 

Motion Blur(被写体ブレ、移動ぼかし)

Motion Blurの有無を比較
Motion Blurの有無を比較

 

Motion Blur(モーション ブラー: 被写体ブレ)は高速で移動するオブジェクトやカメラによるブレを表現するエフェクトです。通常、ゲーム画面に描画される画像ではブレが表示されず、オブジェクトがいる位置で、オブジェクトがアニメーションしているその瞬間を切り出して描画しています。

コマ送りの画像はたとえ60FPSであってもフレームとフレームの間で別の絵になってしまい、フレーム間の繋がりが感じられないんです。ここでMotion Blurを使って前の数フレームの画像を合成することによって、あたかもフレームの間も動きが連続しているかのように表現しています。

Motion Blurを加えることで前のフレームから連続しているような動きや速さを表現することができます。人間の目の働きに近い映像になることで、より違和感のないゲーム画面を表現できます。

 

 

 

Screen Space Reflections(反射)

水たまり
水たまり

 

 

Screen Space Reflections(反射)は、地面や水面オブジェクトに対する反射を表現するエフェクトです。

カメラに映っているオブジェクトが地面や水面のオブジェクトに反射している様子を描画してくれるので、より現実感のある映像になります。

像が反射する現実的な表現ができます。特に水面や水たまりで効果を発揮します。影が映るだけでなく像が映ることで、より自然な映像に仕上がります。

 

 

 

Vignette(ビネット)

思い出の我が家
思い出の我が家

 

Vignette(ビネット)とは、画像の中央をそのままに、画像の端(特に四隅)を暗くするエフェクトです。

写真の世界では口径食とかケラレのことを指します。

  • 口径食……レンズ端に入ってくる光の量が中央に比べて少なくなること
  • ケラレ……レンズフードなど物理的なものが映り込んで端が暗くなること

本来は撮りたい映像がちゃんと撮れていない状態なのですが、「この写真、なんかイケてね?(意訳)」なんて意見が広がって表現技法のひとつとして使われるようになりました。

ビネットを使うことで、画面中央のオブジェクトに注目させたり、レトロだったりノスタルジックな表現ができます。

 

 

 

まとめ

このページでは『Post Processing Volume』のコンポーネントから追加できるエフェクトについて一覧として確認できるように列挙しました。

ポストプロセシングのエフェクトは単体で使う場合もあれば、組み合わせて使うことでさらに効果が倍増する場合もあります。シーンの雰囲気やゲームの雰囲気に合わせてどのエフェクトを適用するかを選んでみると良いでしょう。

きっとあなたのゲームの画面が素晴らしいものになるはずです。

 

     

ゲーム開発の攻略チャートを作りました!

CTA-IMAGE

「ゲームを作ってみたいけど、何から手を付けていいか分からない!」


そんなお悩みをお持ちの方向けに、todoがアプリをリリースした経験を中心に、ゲーム作りの手順や考慮すべき点をまとめたe-bookを作成しました。ゲーム作りはそれ自体がゲームのように楽しいプロセスなので、「攻略チャート」と名付けています。


ゲームを作り始めた時にぶつかる壁である「何をしたら良いのか分からない」という悩みを吹き飛ばしましょう!