Class ARCameraBackground
Add this component to a Camera to copy the color camera's texture onto the background.
If you are using the Lightweight Render Pipeline (version 5.7.2 or later) or the Univerisal Render Pipeline (version 7.0.0 or later), you must also add the ARBackgroundRendererFeature to the list of render features for the scriptable renderer.
Inherited Members
Namespace: UnityEngine.XR.ARFoundation
Assembly: Unity.XR.ARFoundation.dll
Syntax
[DisallowMultipleComponent]
[RequireComponent(typeof(Camera))]
[RequireComponent(typeof(ARCameraManager))]
[HelpURL("https://docs.unity3d.com/Packages/com.unity.xr.arfoundation@4.2/api/UnityEngine.XR.ARFoundation.ARCameraBackground.html")]
public class ARCameraBackground : MonoBehaviour
Remarks
To add the ARBackgroundRendererFeature to the list of render features for the scriptable renderer:
- In Project Settings > Graphics, select the render pipeline asset (either
LightweightRenderPipelineAssetorUniversalRenderPipelineAsset) that is in the Scriptable Render Pipeline Settings field. - In the render pipeline asset's Inspector window, make sure that the Render Type is set to Custom.
- In render pipeline asset's Inspector window, select the Render Type > Data
asset which would be of type
ForwardRendererData. - In forward renderer data's Inspector window, ensure the Render Features list contains a ARBackgroundRendererFeature.
To customize background rendering with the legacy render pipeline, you can override the
legacyCameraEvents property and the
ConfigureLegacyCommandBuffer(CommandBuffer) method to modify the given
CommandBuffer with rendering commands and to inject the given CommandBuffer into the Camera's
rendering.
To customize background rendering with a scriptable render pipeline, create a
ScriptableRendererFeature with the background rendering commands, and insert the
ScriptableRendererFeature into the list of render features for the scriptable renderer.
Properties
backgroundRenderingEnabled
Whether background rendering is enabled.
Declaration
public bool backgroundRenderingEnabled { get; }
Property Value
| Type | Description |
|---|---|
| bool |
|
camera
The camera to which the projection matrix is set on each frame event.
Declaration
protected Camera camera { get; }
Property Value
| Type | Description |
|---|---|
| Camera | The camera to which the projection matrix is set on each frame event. |
cameraManager
The camera manager from which frame information is pulled.
Declaration
protected ARCameraManager cameraManager { get; }
Property Value
| Type | Description |
|---|---|
| ARCameraManager | The camera manager from which frame information is pulled. |
customMaterial
A custom material for rendering the background.
Declaration
public Material customMaterial { get; set; }
Property Value
| Type | Description |
|---|---|
| Material | A custom material for rendering the background. |
legacyCameraEvents
The list of CameraEvents to add to the CommandBuffer. By default, returns BeforeForwardOpaque and BeforeGBuffer}. Override to use different camera events.
Declaration
protected virtual IEnumerable<CameraEvent> legacyCameraEvents { get; }
Property Value
| Type | Description |
|---|---|
| IEnumerable<CameraEvent> |
material
The current Material used for background rendering.
Declaration
public Material material { get; }
Property Value
| Type | Description |
|---|---|
| Material |
occlusionManager
The occlusion manager, which might not exist, from which occlusion information is pulled.
Declaration
protected AROcclusionManager occlusionManager { get; }
Property Value
| Type | Description |
|---|---|
| AROcclusionManager |
shouldInvertCulling
Whether culling should be inverted. Used during command buffer configuration, see CommandBuffer.SetInvertCulling.
Declaration
protected bool shouldInvertCulling { get; }
Property Value
| Type | Description |
|---|---|
| bool |
See Also
useCustomMaterial
Whether to use the custom material for rendering the background.
Declaration
public bool useCustomMaterial { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
|
Methods
ConfigureLegacyCommandBuffer(CommandBuffer)
Configures the commandBuffer by first clearing it,
and then adding necessary render commands.
Declaration
protected virtual void ConfigureLegacyCommandBuffer(CommandBuffer commandBuffer)
Parameters
| Type | Name | Description |
|---|---|---|
| CommandBuffer | commandBuffer | The command buffer to configure. |