SpriteCameraへのポストエフェクトについて

42 views
Skip to first unread message

sola

unread,
Sep 21, 2025, 9:44:11 PM (11 days ago) Sep 21
to 宴ユーザーグループ
宴のバージョン:宴4.2.2
UnityのバージョンとOS:Unity6000.1.16f1 Mac
Unityの習熟度:初心者

お世話になっております。

https://groups.google.com/g/utageuser/c/2v3T8tpI4h8/m/bV5DcZAVBAAJ
上記に関連した質問なのですが、
UICameraは除いてSpriteCameraに映るものだけに独自のポストエフェクト(Volume)をかけたいです
可能でしたらご教示お願い致します。

マッドネスラボ

unread,
Sep 21, 2025, 10:19:59 PM (11 days ago) Sep 21
to 宴ユーザーグループ
デフォルト設定のままなら、SrpiteCameraにだけポストエフェクトをかけるなら、ImageEffectコマンドのArg1でSpriteCameraを指定するだけでいいです。

ポストエフェクトは、カメラにかけるエフェクトです。
カメラ1とカメラ2が順番に描画される(つまりカメラ1が奥。カメラ2が手前)の場合、
カメラ1(奥)にポストエフェクトをかけた場合、カメラ1(奥)にだけポストエフェクトがかかります。
カメラ2(手前)にポストエフェクトをかけた場合、カメラ2(手前)にはカメラ1(奥)の描画結果がすでに映り込んでいるので、両方にエフェクトがかかったような結果になります。




2025年9月22日月曜日 10:44:11 UTC+9 sola:

sola

unread,
Sep 21, 2025, 10:32:01 PM (11 days ago) Sep 21
to 宴ユーザーグループ
ご回答ありがとうございます。
チュートリアルの上記を見落としてました。

ただこちらですと元々あるイメージエフェクト一覧の中からしか指定できないため、
Hierarcy内のImageEffectVolumeに独自のポストエフェクトを追加してそれをコマンドなどで適用させることは可能でしょうか?

2025年9月22日月曜日 11:19:59 UTC+9 マッドネスラボ:

マッドネスラボ

unread,
Sep 21, 2025, 11:53:34 PM (11 days ago) Sep 21
to 宴ユーザーグループ
失礼しました。独自のポストエフェクトでしたか。
であれば、今はできないのですが実装しようと思っています。

ただ、ポストエフェクトはちょっとむずしい点があって、
Unityの描画パイラインによって実装方法が大きく異なっています。
(Unity公式のポストエフェクト機能自体が、描画パイプラインが違うと互換性がないなど)

プロジェクトの描画パイプラインはBRPでしょうか、それともURPでしょうか?
BRPとURPについては、Unityプロジェクト作成時に決まっています。

URPであれば、
独自のポストエフェクトのVolume設定にも対応できるようにましたので、添付のパッケージファイルを適用してください。
(ダウンロードした添付ファイルの拡張子が *. gzになっている場合は、*.unitypackageに変えてからプロジェクトに適用してください)
この変更は、次回の宴のアップデートにも反映させる予定です。

添付のパッケージファイルを適用したのち、
SpriteCamera以下のVolumes>ImageEffectVolumeにあるVolumeProfileに「Add Override」でポストエフェクトを追加して、
追加したVolumeComponentの名前のスペースを除いて(例ですと「Color Adjustments」 -> 「ColorAdjustments」)、ImageEffectコマンドのArg2で指定すれば、ほかのImageEffectコマンドと同様に使えるようなると思います。
ss_1164.png

ss_1165.png

ただ、これは簡易的な処理でしかないです。
  • URP版でしか機能しない。
    • BRP版の場合、宴のImageEffectコマンドは独自実装しています。これはUnityがポストエフェクトの仕組みを作る以前作ったもので、設計方針が違うのでうまく両立して実装できるかわからない。
  • VolumeProfileは、宴のImageEffectVolumeProfileに追加する形になる。
    • 独自のVolumeProfileを使えないので、場合によってはVolumeProfile単位で操作するコマンドなどが必要になる。
  • 複数のエフェクト (VolumeComponent)  を同時にかけることができない
    • アクティブがオンになるエフェクトは一度に1つという設計にしてしまっているため、複数エフェクトを同時に使えない。
    • 上記の VolumeProfile単位での操作との話でもあるのですが、あらかじめ複数のエフェクトを設定しておいた VolumeProfileを用途に合わせて複数作成しておいてそれぞれに パラメーター調整もあらかじめしておき 、有効にする VolumeProfileを切り替える・・・という方針のほうが柔軟に実装できそうな気がします。
    • ただ、それがふさわしい実装方法なのかがわからない状態です。

という懸念点があります。
将来的にはImageEffectコマンドを拡張するか、新しくPostEffectというコマンドを作るかして、需要に合わせて設計・実装していきたいと思っています。
ご意見等あればよろしくお願いいたします。




2025年9月22日月曜日 11:32:01 UTC+9 sola:
UrpPostEffect.unitypackage

sola

unread,
Sep 22, 2025, 12:17:41 AM (11 days ago) Sep 22
to 宴ユーザーグループ
頂戴したパッケージを用いて実装した所、無事独自のポストエフェクトをSpriteCameraのみに適用できました!
ちなみにURPです。

現状の自分のプロジェクトですとImageEffectコマンドで十分ですが、
将来的に言及されたPostEffectコマンドもお願いするかもしれないです。

この度もご対応誠にありがとうございました!
2025年9月22日月曜日 12:53:34 UTC+9 マッドネスラボ:
Reply all
Reply to author
Forward
0 new messages