ポストエフェクト


投稿日:2026年3月13日 | 最終更新日:2026年3月23日

URP版のみ使用可能なコマンドです(BRP版ではエラーがでます)
画面全体にポストエフェクトをかけます。
ImageEffectコマンドは宴の組み込みのものしか使えませんでしたが、ポストエフェクトコマンドはUnity公式のポストエフェクトや、アセットストアなどから入手したポストエフェクトも使用可能です。

リファレンス

Command 説明 Arg1 Arg2 Arg3 Arg4 Arg5 Arg6 WaitType
PostEffect 指定したカメラに
指定ボリュームの
ポストエフェクトをかける
カメラ名 ボリューム名 エフェクト名
カンマ区切りで複数設定可能
空欄の場合、対象ボリューム内の
全てのエフェクトがオンになる
フェード秒
空欄の場合0
ウェイトタイプ
PostEffectOff 指定したカメラの
指定ボリュームの
ポストエフェクトを解除する
カメラ名 対象ボリューム名
空欄の場合、
対象のカメラの全ボリュームを解除する。
(CapututeVoumeとFadVolumeは対象外)
フェード秒
空欄の場合、0
ウェイトタイプ

サンプルシーン


Assets/Utage/Sample/SampleUrp.unityに、URP版のサンプルシーンがあります。
Assets/Utage/Sample/Volumes以下に、サンプルで使用しているVolumeProfileアセットがあります。
Assets/Utage/Sample/Scenarios/SampleScenario3.xls のPostEffectシートにサンプルシナリオがあります。

PostEffectコマンドの基本的な使い方

ポストエフェクトコマンドは、基本的にはUnityのシーン内にあらかじめ作成しておいたポストエフェクト用のVolumeオブジェクトを操作するコマンドです。
基本的には、指定のボリュームを丸ごとオンオフすることで、エフェクトを切り替えていきます。

ボリューム内のエフェクトを個別にオン

Arg3でカンマ区切りでエフェクト名を指定することで、ボリューム内のエフェクトを個別にオンにしたりもできます。
デフォルトで組み込まれているImagaeEffectVolumeは、汎用的なエフェクトのセットになっているため、使いたいエフェクトだけ指定してオンにするという使い方も可能です。
ただし、フェード(徐々にオンにしたりオフにする)はボリューム丸ごとでしかできないため、個別にフェード付きでオンオフすることはできません。
フェードタイミングを分けたい場合は別のボリュームオブジェクトを作成するようにしてください。
ImagaeEffectVolumeをコピペしImagaeEffectVolume2などを作れば、指定したエフェクトを個別にフェードして制御可能です。

複数ボリュームにわたって、同時に同じエフェクトがオンにならないように

複数ボリュームを使う場合、基本的には同時に複数のボリュームがオンになってもよいのですが、1つ注意点があります。

Unityのポストエフェクトは同じ種類のエフェクトを使っている複数のボリュームを同時使用すると、どのエフェクトが優先されるかは不定になってしまいます。
たとえば、「ColorAdjustoment」エフェクトを使ったボリュームが複数オンになっていると、複数のボリューム内のどれか1つのColorAdjustomentが適用されるのですが、どれが適用されるのかは一定ではなく変わる危険があるということです。

Weightが1未満の場合は、Weightの大きさに合わせて混ざった感じになるのでクロスフェードはできるのですが、
Weightが1同士の場合は、どちらかいっぽうのエフェクトしかかからなくなってしまうようで、しかもどちらになるかが制御できず不定なようです。
これはどうもUnityの仕様なようなので、複数のボリュームをオンにする場合は、それらのボリューム内で同じ種類のエフェクトを使ってないか注意してください。

ポストエフェクトの作り方

ポストエフェクトコマンドは、あらかじめ作成したVolume(ポストエフェクトのグループ)を操作するコマンドです。
やりたい演出に合わせたポストエフェクトを自分で作成し、それを操作することになります。
作成の仕方は以下の通りです。

Volumeオブジェクトを作成

シーン内のエフェクトをかけたいカメラのVolumes以下には、デフォルトでは「CaptureVolume」、「ImageEffectVolume」、「FadeVolume」があります。
これは別のコマンドでも使用するので削除したりしないでください。
新しいVolumeを追加するには、すでにあるImageEffectVolumeをコピペするか
新しいGameObjectを追加して「Volume」コンポーネントと「AdvPostEffectVolume」をAddComponentしてください。
ここで作成したGameObjectの名前が、PostEffectコマンドのArg2で指定する「ボリューム名」になります。

VolumeProfileアセットを作成

目的の演出に合わせてエフェクトを組みあわせ数値を調整したVolumeProfileアセットを作る必要があります。
プロジェクトウィンドウで Create>Rendering>Volume Profileを選択して新規作成します。

Volumeオブジェクトにエフェクトを設定

Volumeコンポーネントに作成したVolumeProfileを設定すると、自動的にそれに設定した各エフェクトとその数値が表示されます。

別のボリュームオブジェクトに、同じVolumeProfileアセットを設定することも可能ですが、
エフェクトや数値を調整はVolumeProfileアセットで共有されてしまうので、別の効果を持たせたいなら別のVolumeProfileアセットを設定してください。

エフェクトを追加して数値調整

Volume ProfileアセットかVolumeオブジェクトで「AddOverride」をすると、エフェクトが追加できます。

宴のエフェクトはUtage以下にあり、URP用のシーンを作成したときなどに自動的に使用可能になっています。
Post-Processing以下にはUnity公式のポストエフェクトがあります。
参考:Unity公式のポストエフェクト一覧

このほかにアセットストアから購入したものを追加したり、自作のポストエフェクトを追加することも可能です。
外部から追加した場合、Unityの基本的な仕様としては、Rendererに「Add Renderer Feature」する必要があるかと思います。
(具体的なセットアップ方法はそのポストエフェクトの仕様に従ってください)

目的の演出に合わせて、使用するエフェクトを組み合わせて数値を調整

VolumeProfileは複数のエフェクトを組み合わせて作成可能です。
自分で作成したい演出に合わせて、任意のエフェクトを組み合わせて数値を調整していってください。

例)回想用のエフェクト用に、色を若干暗くし、全体をすこし滲ませ、画面の四隅を暗くする効果をつけるなどします。