このガイドでは、特定のカメラタイプにスクリプタブルレンダラー機能を適用する方法について説明します。
この方法を使用すると、スクリプタブルレンダラー機能の効果を適用するカメラを制御できます。これは、プロジェクトで追加のカメラを使用してリフレクションなどの要素をレンダリングし、スクリプタブルレンダラー機能の使用が予期しない結果につながる可能性がある場合に特に関連します。
スクリプタブルレンダラー機能のスクリプトにロジックを追加して、スクリプタブルレンダラー機能が効果を適用する前に、特定のカメラタイプであるかを確認できます。
このガイドは以下のセクションに分かれています。
このガイドは、使用するスクリプタブルレンダラー機能がすべて揃っていることを前提としています。そうでない場合は、カスタムレンダラー機能の作成方法 を参照してください。
このスクリプトは、スクリプタブルレンダラー機能を特定のカメラタイプに適用します。この例では、ゲームカメラにのみ機能を適用します。
カメラに適用したいスクリプタブルレンダラー機能の C# スクリプトを開きます。
AddRenderPasses メソッドに、以下の if ステートメントを追加します。
if (renderingData.cameraData.cameraType == CameraType.Game)
以下に示すように、必要なレンダーパスをスクリプタブルレンダラー機能からレンダラーに EnqueuePass メソッドで追加します。
if (renderingData.cameraData.cameraType == CameraType.Game)
{
renderer.EnqueuePass(yourRenderPass);
}
これで、このスクリプタブルレンダラー機能は、ゲームカメラタイプのカメラにのみ適用されるようになりました。
ノート: URP は、フレームごとに各カメラで少なくとも 1 回
AddRenderPassesメソッドを呼び出すため、ここではパフォーマンスの問題を避けるために複雑さを最小限に抑えることをお勧めします。