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
Syntax
[DisallowMultipleComponent]
[RequireComponent(typeof(Camera))]
[RequireComponent(typeof(ARCameraManager))]
[HelpURL("https://docs.unity3d.com/Packages/com.unity.xr.arfoundation@4.0/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
LightweightRenderPipelineAsset
orUniversalRenderPipelineAsset
) that is in the Scriptable Render Pipeline Settings field. - In the Inspector with the render pipeline asset selected, ensure that the Render Type is set to Custom.
- In the Inspector with the render pipeline asset selected, select the Render Type -> Data
asset which would be of type
ForwardRendererData
. - In the Inspector with the forward renderer data selected, ensure the Render Features list contains a ARBackgroundRendererFeature.
To customize background rendering with the legacy render pipeline, you may 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 |
---|---|
Boolean |
|
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 may 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 |
---|---|
Boolean |
See Also
useCustomMaterial
Whether to use the custom material for rendering the background.
Declaration
public bool useCustomMaterial { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
|
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. |