レンダリングにUniversal RPを使うとIsTransparentをtrueにしたときに背景が黒くなる
環境
macOS Monterey 12.5 Unity 2020.3.37f1 Universal RP 10.9.0 UniWinC 0.8.4
再現方法
Project Settings > Graphics > Scriptable Render Pipeline SettingsにUniversalRenderPipelineAssetを設定する。 使用したPipelineAssetはAssets > Create > Rendering > Universal Render Pipeline > Pipeline Asset (Forward Renderer)で生成されたものをそのまま使用。
症状
付属サンプルコードのUiSampleで検証
| 機能 | 動作の可否 | 動作状況 |
|---|---|---|
| IsTransparent | ❌ | trueにすると背景が黒一色になる |
| AlphaValue | ✅ | 問題なし |
| IsTopmost | ✅ | 問題なし |
| IsBottommost | ✅ | 問題なし |
| IsZoomed | ✅ | 問題なし |
| ShouldFitmonitor | ✅ | 問題なし |
| AllowDropFiles | 🔺 | HitTestがOpacityの場合、黒背景にも判定が出てファイルドロップが可能になる |
| HitTest (Raycast) | ✅ | 黒背景には判定なし |
| HitTest (Opacity) | ❌ | 黒背景にも判定あり |
| ColorPicker | ✅ | 黒背景にカーソルを合わせるとAlpha:100%で黒が取得される |
| DragMoveCanvas | 🔺 | HitTestがOpacityの場合、黒背景にも判定が出てドラッグが可能になる |
対処法
- Scriptable Render Pipeline Settingsに何も設定せず、Built-in RPを使用する
- UniversalRenderPipelineAssetのInspector > Quality > HDRについているチェックを外す (参考コメント)
ご確認と詳細な報告をありがとうございます。
過去に Universal RP 10.6.0 で試した際は、HDR を無効にすることで背景の透過が可能でした。 例 https://twitter.com/kirurobo/status/1464154999592665091
ですが絵作りに影響するため HDR はできれば有効が望ましいと思います。 その場合に透過が可能なのか、今のところ目途はたっていません。
返信ありがとうございます。 上記の環境でもHDR無効化によって正常に透過できることを確認したので、対処法に追記しておきました。 自分の用途ではHDR無効でも大した影響はなさそうなので、そのままいこうかと思います。
HDR無効としてのご確認ありがとうございます! 今後さらに調べてもHDR有効で透過させる方法が見つからなければ、「HDRは無効にする必要がある」と readme に書いておくという対応の後クローズとしたいと思います。
了解しました。 タグ付与やクローズのタイミングはお任せします。