はじめに
イメージエフェクト(ポストエフェクト)を使用すると、カメラに特殊なフィルターを追加して見た目のクオリティをあげることができます。Unityのポストプロセッシングスタックはすべてのエフェクトを1つにまとめて設定することが可能です。技術的な問題(レンダーの順序など)を心配することなく、複数のエフェクトを簡単に調整することができます。
今回はイメージエフェクトの導入方法を紹介したいと思います。細かい設定等はUnityの公式ドキュメントを見てください。
環境
- Unity 2020.2.1f1
- Post Processing 2.3.0
使用アセットの紹介
画像に出ている3Dモデルは下記のアセットを利用しています。
実装方法
パッケージのインストール
[Window]→[Package Manager]を開きます。
[Packages: Unity Registry]に変更します。
[Post Processing]をインストールします。
プロファイルの作成
Projectビュー上で右クリックして[Create]→[Post-processing Profile]でPost Processing Profileを作成します。
あるいは[Assets]→[Create]→[Post-processing Profile]でもできます。
今回は「SampleProfile」と名付けます。
グローバルポストプロセッシングボリュームの作成
イメージエフェクトをプロファイルに追加する前に、シーンに設定して、プロファイル編集時にエフェクトを表示できるようにします。そのためにまずはPost-process Volumeをシーン上に配置します。
空のGameObjectを用意し、[Inspector]から[Add Component]ボタンをクリックして、「Post-process Volume」を追加します。今回は「PostProcessingGO」と名付けます。
次に追加した「Post-process Volume」コンポーネントの「Is Global」にチェックを入れます。
そして「Profile」にさきほど追加したSampleProfileを設定します。
イメージエフェクト用のレイヤーの追加
次にPostProcessingGOのInspector上部の「Layer」のドロップダウンをクリックし、「Add Layer」を選択します。
使用な可能「Layer」スロットに、ポストプロセッシング用のレイヤーを追加します。
今回は「PostProcessing」を追加します。
追加したら、PostProcessingGOの「Layer」の設定を追加した「PostProcessing」に設定します。
ポストプロセスレイヤーの追加
次に「Main Camera」を選択して「Inspector」上の「Add Component」から「Post-process Layer」を追加します。
追加した「Post-process Layer」の「Layer」に今回追加した「PostProcessing」を設定します。
これで準備は完了です。
エフェクトの追加
あとは自分の好きなエフェクト追加するだけです。
SampleProfieを選択してInspector上の[Add Effect…]から自分好みのエフェクトを追加してください。
下記の例ではVignetteを使っています。
注意点として、エフェクトはデフォルトで「ON」に設定されていますが、このままだとエフェクトのオプションは有効になりません。
それぞれのオプション横にあるチェックボックスにチェックに入れる必要があります。
また、使わないオプションはオフにしてください。
エフェクト数や値の高いオプションが増えてくるとアプリケーションのパフォーマンスが低下します。
ポストプロセッシングエフェクトは一般的に必要最小限に抑えた方が効果的です。
さいごに
見た目のクオリティを上げるイメージエフェクトの導入もこんなに簡単にできてしまうなんて、Unity様様です。
コメント