docs.unity3d.com
    目次を表示する/隠す

    複数のカメラを同じレンダーターゲットにレンダリングする

    Universal Render Pipeline (ユニバーサルレンダーパイプライン、URP) では、複数の ベースカメラ または カメラスタック が同じレンダーターゲットにレンダリングできます。これにより、画面分割レンダリングなどのエフェクトを作成できます。

    複数のベースカメラまたはカメラスタックが同じレンダーターゲットの同じ領域にレンダリングする場合、重なっている領域内の各ピクセルが複数回描画されます。最も優先度の高いベースカメラまたはカメラスタックは、先に描画されたピクセルの上に最後に描画されます。オーバードローの詳細については、詳細情報 を参照してください。

    ベースカメラの Output Target プロパティを使用してレンダーターゲットを定義し、Viewport Rect プロパティを使用してレンダリング先のレンダーターゲットの領域を定義します。ビューポート座標の詳細については、Unity マニュアル および API ドキュメント を参照してください。

    分割画面レンダリングの設定

    URP での分割画面レンダリングの設定

    1. シーンにカメラを作成します。Render Mode のデフォルトは Base であるため、カメラはベースカメラになります。
    2. カメラを選択します。Inspector で、Output セクションまでスクロールします。Output Target が Camera に設定されていることを確認し、Viewport rect の値を以下のように変更します。
      • X: 0
      • Y: 0
      • W: 0.5
      • H: 1
    3. シーンにカメラをもう 1 つ作成します。Render Mode のデフォルトは Base であるため、カメラはベースカメラになります。
    4. カメラを選択します。Inspector で、Output セクションまでスクロールします。Output Target が Camera に設定されていることを確認し、Viewport rect の値を以下のように変更します。
      • X: 0.5
      • Y: 0
      • W: 0.5
      • H: 1

    Unity では、メインカメラは画面の左側にレンダリングされ、サブカメラは画面の右側にレンダリングされます。

    カメラの Viewport rect をスクリプトで変更するには、rect プロパティを以下のように設定します。

    myUniversalAdditionalCameraData.rect = new Rect(0.5f, 0f, 0.5f, 0f);
    
    トップに戻る
    Copyright © 2023 Unity Technologies — 商標と利用規約
    • 法律関連
    • プライバシーポリシー
    • クッキー
    • 私の個人情報を販売または共有しない
    • Your Privacy Choices (Cookie Settings)