Render Type
Universal Render Pipeline (ユニバーサルレンダーパイプライン、URP) には、次の 2 種類のカメラがあります。
- ベースカメラ は、レンダーターゲット (画面または レンダーテクスチャ) にレンダリングする汎用カメラです。
- オーバーレイカメラ は、他のカメラの出力の上にレンダリングします。ベースカメラの出力と 1 つ以上のオーバーレイカメラの出力を連結することができます。これは Camera Stacking と呼ばれます。
カメラの Render Type プロパティを使用すると、ベースカメラとオーバーレイカメラを切り替えることができます。
Unity エディターでカメラの種類を変更するには:
シーンにカメラを作成するか、シーン内のカメラを選択します。
カメラの Inspector で、Render Type ドロップダウンメニューを使用して、カメラの種類を選択します。次のどちらかを選択します。
カメラをベースカメラに変更するには、Base を選択する
カメラをオーバーレイカメラに変更するには、Overlay を選択する
スクリプトでカメラの種類を変更するには、カメラの Universal Additional Camera Data コンポーネントの renderType
プロパティを次のように設定します。
var cameraData = camera.GetUniversalAdditionalCameraData();
cameraData.renderType = CameraRenderType.Base;
ベースカメラ
ベースカメラは、URP のデフォルトのカメラの種類です。ベースカメラは、特定のレンダーターゲットにレンダリングする汎用カメラです。
URP で何かをレンダリングするには、シーンに 1 つ以上のベースカメラがある必要があります。シーンには複数のベースカメラを作成できます。ベースカメラは単独で使用することも、カメラスタック で使用することもできます。URP で複数のカメラを使用する方法の詳細については、複数のカメラの使用 を参照してください。
シーンにアクティブなベースカメラがある場合、次のアイコンがシーンビューのカメラギズモの横に表示されます。
ベースカメラの Inspector に公開されるプロパティの詳細については、ベースカメラコンポーネントのリファレンス を参照してください。
オーバーレイカメラ
オーバーレイカメラは、他のカメラの出力の上にビューをレンダリングするカメラです。オーバーレイカメラを使用すると、2D UI 内に 3D オブジェクト、つまり乗物のコックピットなどのエフェクトを制作できます。
オーバーレイカメラは、Camera Stacking システムを使用して、1 つ以上のベースカメラと組み合わせて使用する必要があります。オーバーレイカメラは単独では使用できません。カメラスタックに含まれていないオーバーレイカメラは、レンダーループのどのステップも実行せず、オーファンカメラと呼ばれます。
重要な注意事項: このバージョンの URP では、オーバーレイカメラと Camera Stacking は、ユニバーサルレンダラーを使用している場合にのみサポートされます。
シーンにアクティブなオーバーレイカメラがある場合、次のアイコンがシーンビューのカメラギズモの横に表示されます。
カメラスタックのプロパティの大部分は、カメラスタック内のベースカメラによって決まります。オーバーレイカメラはカメラスタックでしか使用できないため、URP はシーンのレンダリング時にオーバーレイカメラの以下のプロパティのみを使用します。
- Projection
- FOV Axis
- Field of View
- Physical Camera プロパティ
- Clipping Planes
- Renderer
- Clear Depth
- Render Shadows
- Culling Mask
- Occlusion Culling
他の使用されないプロパティは、Inspector ではすべて非表示になります。スクリプトによって、使用されないプロパティにアクセスすることはできますが、これらの使用されないプロパティに変更を加えても、オーバーレイカメラを使用するカメラスタックのビジュアル出力には反映されません。
個々のオーバーレイカメラにポストプロセスを適用することはできません。ポストプロセスを適用できるのは、個々のベースカメラまたはカメラスタックです。
オーバーレイカメラの Inspector に公開されるプロパティの詳細については、オーバーレイカメラコンポーネントのリファレンス を参照してください。