グラフィックス
このページでは、エディターでの Unity MARS のレンダリングのサポートおよび機能について詳しく説明します。
合成レンダリング
Composite Render (合成レンダリング) とは Unity MARS の特殊なレンダリング設定であり、エディタービューのシミュレーションコンテンツとは別に、コンテンツによって塞がれたシミュレーション環境をシミュレーションビューでレンダリングすることができます。これは、シミュレーションシーンを 2 つのプレビューシーンに分割し、それぞれのシーンをカメラがレンダリングすることで実現されます。合成レンダリングは、ビルトインのレンダリングモードでは完全にサポートされ、スクリプタブルレンダーパイプライン (SRP) のフォールバックオプションを使用した場合は部分的にサポートされます。
合成レンダリングのオプション
合成レンダラーのオプションには、Project Settings ウィンドウで MARS > Editor Visuals > Composite Render の順に移動してアクセスできます。ここには、フォールバックレンダリングモードを有効にするオプションである Use Fallback Composite Rendering が含まれています。このオプションを有効にすると、単一のシミュレーションシーンとカメラを使用するよう合成レンダリングが簡素化されます。これにより、さまざまなレンダリング API やスクリプタブルレンダーパイプライン (SRP) が幅広くサポートされるようになります。Use Camera Stack In Fallback を選択すると、単一のシミュレーションシーン設定が維持されますが、合成カメラをターゲットカメラの子として使用し、カメラスタック上のターゲットカメラの前に低いソート深度がレンダリングされます。このモードは、シーンビューやシミュレーションビューではサポートされておらず、基本のフォールバック設定を使用します。
サポートされるレンダリングモード
機能 | サポート |
---|---|
フォワード | あり |
古いディファード | あり |
ディファード | あり* |
ポストプロセス | あり |
VR | なし |
VR シングルパス | なし |
URP | あり** |
HDRP | なし |
カスタムレンダーパイプライン | なし |
AR カメラ背景 | あり‡ |
AR 背景レンダリング機能 | あり‡ |
* MARS の深度シェーダーはサポートされていません\ ** AR Foundation Providers またはフォールバック合成を使用した再生モードで可 (カメラスタックなし)\ ‡ AR Foundation Providers またはランタイムがサポートされた再生モードで可
ポストプロセス
Unity MARS は Post Processing バージョン 2.2.2 以上をサポートしています。Unity MARS ではこれを使用して、シミュレーションビューのレンダリングを強化し、シミュレーション環境にのみ色補正、アンビエントオクルージョン、色収差を適用します。これらの効果により、シミュレーション環境上のシーンコンテンツがさらに分離され、ターゲットデバイス上のオブジェクトがより適切に表現されます。MARS コンテンツに付属するポストプロセスプロファイルは、レガシーレンダリングにのみ対応しており、URP はサポートしていません。
Unity MARS での AR 背景の設定
AR Foundation では、URP の ARCameraBackground と ARBackgroundRenderFeature を使用して、デバイスのカメラフィードを Unity MARS アプリケーションの背景に簡単に追加できます。Unity MARS AR Foundation Providers パッケージを使用している場合は、AR Foundation Camera Provider によってランタイムに AR Camera Background が自動的にシーンに追加されます。Unity MARS AR Foundation Providers を使用していない場合、または ARCameraBackground のカスタム設定を使用する必要がある場合は、AR Foundation シーン設定ガイド の AR Camera Background に関するセクション を参照してください。
Universal Render Pipeline での ARCameraBackground の設定
URP (ユニバーサルレンダーパイプライン) を使用している場合は、Package Manager を使用して AR Foundation パッケージおよび関連するパッケージをバージョン 3.0.1 以上にアップグレードする必要があります。AR Background Render Feature をレンダーパイプラインに追加するには、こちらの追加ドキュメントを参照して URP で AR Foundation プロジェクトを設定してください。
URP
Unity MARS は URP (UniversalRP) 7.x 以上をサポートしています。MARS 内のシェーダーは、マテリアルをアップグレードしなくても URP をサポートするように構築されています。ただし、URP に切り替える前にプロジェクトを開始した場合、特にプリミティブオブジェクト上のマテリアルはアップグレードが必要になることがあります。これを行うには、Unity のメインメニューから、Edit > Render Pipeline > Universal Render Pipeline > Upgrade Project Materials to UniversalRP Materials に移動します。
合成レンダリングの一部の機能は、現時点では Universal RP ではサポートされていません。サポートされていない機能は、シミュレーションされたオクルージョン、シミュレーションされた環境 GI ライティング、およびシミュレーションされた環境ポスト FX です。AR Foundation の AR Background Render Feature を UniversalRP で使用するには、Unity MARS での AR 背景の設定 を参照してください。
関連するパッケージと AR Foundation の互換性の詳細については、AR Foundation Providers パッケージのドキュメント を参照してください。
URP の既知の問題
- シミュレーションビュー および デバイスビュー で、合成オクルージョンが適切にレンダリングされません。
- Simulation Environment コンポーネントでは、メインシーンのレンダリングとライティングの設定が使用され、Simulation Environment で設定した内容は使用されません。
- OpenGLCore は、MARS エディターのシミュレーションレンダリングのサポート対象のグラフィックス API ではありません。Unity エディターで OpenGL を使用した場合、シミュレーションビューとデバイスビューは期待通りにレンダリングされますが、ゲームビューではコンテンツがレンダリングされません。この問題の詳細については、よくある質問 を参照してください。
- 合成レンダリングの使用時に、ランタイムでレンダーパイプラインまたはレンダーパイプラインアセットを切り替えることはサポートされていません。レンダーパイプラインの設定ランタイムを変更すると、合成レンダラーで不明な結果やエラーが発生することがあります。