対処法
Pixel Perfect Camera の Crop Frame で Stretch Fill 以外を使う。
環境
- Unity Editor 2023.2.0f1
- Universal RP (URP) 16.0.4
- Game画面サイズ Full HD (1920×1080)
問題
エディタでは問題なく動いていたのに、コンソール機で動かしてみるとPost ProcessのBloomが効かなくなってしまう現象が発生しました。
Post Process なし
![](https://shirokurohitsuji.studio/wp/wp-content/uploads/2023/11/20231124-204206-1024x576.png)
青い背景の上に白い円と三角形を並べました。
マテリアルやシェーダーの問題かなと思っていたので、ふたつのオブジェクトには異なるマテリアル / シェーダーが使われています(ので若干色が違います)。
URPのPixel Perfect Cameraはすでに設定されており、Crop FrameはNoneになっています。
Post Process (Volume) の設定
上の状態にPost Processを加えてみます。変化がわかりやすそうな以下の3つを選びました。
- Bloom (ぼんやりと光らせる)
- Color Adjustments (黄色のフィルター)
- Vignette (周りの黒い部分)
Crop Frame: None
![](https://shirokurohitsuji.studio/wp/wp-content/uploads/2023/11/Screenshot-2023-11-24-204553.png)
![](https://shirokurohitsuji.studio/wp/wp-content/uploads/2023/11/20231124-204248-1024x576.png)
Crop Frame: Pillarbox
![](https://shirokurohitsuji.studio/wp/wp-content/uploads/2023/11/Screenshot-2023-11-24-204337.png)
![](https://shirokurohitsuji.studio/wp/wp-content/uploads/2023/11/20231124-204316-1024x576.png)
Crop Frame: Stretch Fill (200×181)
![](https://shirokurohitsuji.studio/wp/wp-content/uploads/2023/11/Screenshot-2023-11-24-204415.png)
![](https://shirokurohitsuji.studio/wp/wp-content/uploads/2023/11/20231124-204356-1024x576.png)
ポストプロセスがまったく働かなくなってしまいました。
しかし、Reference Resolution をかえてみると、
Crop Frame: Stretch Fill (200×180)
![](https://shirokurohitsuji.studio/wp/wp-content/uploads/2023/11/Screenshot-2023-11-24-204442.png)
![](https://shirokurohitsuji.studio/wp/wp-content/uploads/2023/11/20231124-204424-1024x576.png)
ポストプロセスが復活しています。
逆に200×181 のまま、画面サイズをFree Aspectにして色々変化させてみると、エフェクトがきくアスペクト比にあたることもあります。
本記事のタイトルには「実機で」と書いたのですが、実際には実機でおこる問題というわけではなくて、特定の解像度で発生する問題のようです。Reference Resolution と 画面アスペクトの兼ね合いですね。コンソール機のフォーラムで検索しても何も出てこないわけです……。
Pixel Perfect Camera も Post Process も同じURPパッケージ内のコンポーネントなので、協調してほしいような、バグのような、と思う一方で、Bloomさせちゃったら本当の Pixel Perfect ではなくなるような。