【Unity】ARでUIにポストプロセスを使う方法

普通UIにポストプロセスを適用する場合、CanvasのRenderModeをScreenにしてRenderCameraにメインカメラを設定すればよい。

(ポストプロセスと書いているが、ここではPostProcessingStackV2のこと)

しかし、ARで使用しているカメラをそのまま使用してみるとUnity上では問題ないが、ビルド後のスマホでは表示されなかった。

解決策

UI表示用のCameraを分ける。

新しくUI用のカメラ(UICamera)を作成し以下の設定を行うことでUIでもポストプロセスを適用する事ができた。

  • UICameraのClear FlagsをDepth onlyに変更
  • UICameraのCulling MaskをUIに変更
  • UICameraにPost-process Layerコンポーネントを追加、TriggerにUICameraを設定
  • 元々のARCameraのPost-process Layerは外す(効果が重複してしまう)
  • CanvasのRender CameraをUICameraに変更
  • CanvasのPlane Distanceを1に設定