Class ARCameraBackground | AR Foundation | 3.1.10
docs.unity3d.com
    Show / Hide Table of Contents

    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.

    Inheritance
    Object
    Object
    Component
    Behaviour
    MonoBehaviour
    ARCameraBackground
    Inherited Members
    MonoBehaviour.IsInvoking()
    MonoBehaviour.CancelInvoke()
    MonoBehaviour.Invoke(String, Single)
    MonoBehaviour.InvokeRepeating(String, Single, Single)
    MonoBehaviour.CancelInvoke(String)
    MonoBehaviour.IsInvoking(String)
    MonoBehaviour.StartCoroutine(String)
    MonoBehaviour.StartCoroutine(String, Object)
    MonoBehaviour.StartCoroutine(IEnumerator)
    MonoBehaviour.StartCoroutine_Auto(IEnumerator)
    MonoBehaviour.StopCoroutine(IEnumerator)
    MonoBehaviour.StopCoroutine(Coroutine)
    MonoBehaviour.StopCoroutine(String)
    MonoBehaviour.StopAllCoroutines()
    MonoBehaviour.print(Object)
    MonoBehaviour.useGUILayout
    MonoBehaviour.runInEditMode
    Behaviour.enabled
    Behaviour.isActiveAndEnabled
    Component.GetComponent(Type)
    Component.GetComponent<T>()
    Component.TryGetComponent(Type, Component)
    Component.TryGetComponent<T>(T)
    Component.GetComponent(String)
    Component.GetComponentInChildren(Type, Boolean)
    Component.GetComponentInChildren(Type)
    Component.GetComponentInChildren<T>(Boolean)
    Component.GetComponentInChildren<T>()
    Component.GetComponentsInChildren(Type, Boolean)
    Component.GetComponentsInChildren(Type)
    Component.GetComponentsInChildren<T>(Boolean)
    Component.GetComponentsInChildren<T>(Boolean, List<T>)
    Component.GetComponentsInChildren<T>()
    Component.GetComponentsInChildren<T>(List<T>)
    Component.GetComponentInParent(Type)
    Component.GetComponentInParent<T>()
    Component.GetComponentsInParent(Type, Boolean)
    Component.GetComponentsInParent(Type)
    Component.GetComponentsInParent<T>(Boolean)
    Component.GetComponentsInParent<T>(Boolean, List<T>)
    Component.GetComponentsInParent<T>()
    Component.GetComponents(Type)
    Component.GetComponents(Type, List<Component>)
    Component.GetComponents<T>(List<T>)
    Component.GetComponents<T>()
    Component.CompareTag(String)
    Component.SendMessageUpwards(String, Object, SendMessageOptions)
    Component.SendMessageUpwards(String, Object)
    Component.SendMessageUpwards(String)
    Component.SendMessageUpwards(String, SendMessageOptions)
    Component.SendMessage(String, Object)
    Component.SendMessage(String)
    Component.SendMessage(String, Object, SendMessageOptions)
    Component.SendMessage(String, SendMessageOptions)
    Component.BroadcastMessage(String, Object, SendMessageOptions)
    Component.BroadcastMessage(String, Object)
    Component.BroadcastMessage(String)
    Component.BroadcastMessage(String, SendMessageOptions)
    Component.transform
    Component.gameObject
    Component.tag
    Component.rigidbody
    Component.rigidbody2D
    Component.light
    Component.animation
    Component.constantForce
    Component.renderer
    Component.audio
    Component.networkView
    Component.collider
    Component.collider2D
    Component.hingeJoint
    Component.particleSystem
    Object.GetInstanceID()
    Object.GetHashCode()
    Object.Equals(Object)
    Object.Instantiate(Object, Vector3, Quaternion)
    Object.Instantiate(Object, Vector3, Quaternion, Transform)
    Object.Instantiate(Object)
    Object.Instantiate(Object, Transform)
    Object.Instantiate(Object, Transform, Boolean)
    Object.Instantiate<T>(T)
    Object.Instantiate<T>(T, Vector3, Quaternion)
    Object.Instantiate<T>(T, Vector3, Quaternion, Transform)
    Object.Instantiate<T>(T, Transform)
    Object.Instantiate<T>(T, Transform, Boolean)
    Object.Destroy(Object, Single)
    Object.Destroy(Object)
    Object.DestroyImmediate(Object, Boolean)
    Object.DestroyImmediate(Object)
    Object.FindObjectsOfType(Type)
    Object.DontDestroyOnLoad(Object)
    Object.DestroyObject(Object, Single)
    Object.DestroyObject(Object)
    Object.FindSceneObjectsOfType(Type)
    Object.FindObjectsOfTypeIncludingAssets(Type)
    Object.FindObjectsOfType<T>()
    Object.FindObjectOfType<T>()
    Object.FindObjectsOfTypeAll(Type)
    Object.FindObjectOfType(Type)
    Object.ToString()
    Object.name
    Object.hideFlags
    Namespace: UnityEngine.XR.ARFoundation
    Syntax
    [DisallowMultipleComponent]
    [RequireComponent(typeof(Camera))]
    [RequireComponent(typeof(ARCameraManager))]
    [HelpURL("https://docs.unity3d.com/Packages/com.unity.xr.arfoundation@3.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 or UniversalRenderPipelineAsset) 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

    true if background rendering is enabled and if at least one camera frame has been received. Otherwise, false.

    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

    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
    ConfigureLegacyCommandBuffer(CommandBuffer)

    useCustomMaterial

    Whether to use the custom material for rendering the background.

    Declaration
    public bool useCustomMaterial { get; set; }
    Property Value
    Type Description
    Boolean

    true if the custom material should be used for rendering the camera background. Otherwise, false.

    Methods

    AddOpenGLES3ResetStateCommand(CommandBuffer)

    When using OpenGLES3, this adds a command to the commandBuffer which will force Unity to reset the OpenGL state. This is necessary on devices using OpenGLES3. If OpenGLES3 is not the current graphics device type, this method does nothing. This should be the first command in the command buffer.

    Declaration
    protected static void AddOpenGLES3ResetStateCommand(CommandBuffer commandBuffer)
    Parameters
    Type Name Description
    CommandBuffer commandBuffer

    The CommandBuffer to add the command to.

    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.

    Back to top
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023