docs.unity3d.com
Search Results for

    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 Universal 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, float)
    MonoBehaviour.InvokeRepeating(string, float, float)
    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.destroyCancellationToken
    MonoBehaviour.useGUILayout
    MonoBehaviour.didStart
    MonoBehaviour.didAwake
    MonoBehaviour.runInEditMode
    Behaviour.enabled
    Behaviour.isActiveAndEnabled
    Component.GetComponent(Type)
    Component.GetComponent<T>()
    Component.TryGetComponent(Type, out Component)
    Component.TryGetComponent<T>(out T)
    Component.GetComponent(string)
    Component.GetComponentInChildren(Type, bool)
    Component.GetComponentInChildren(Type)
    Component.GetComponentInChildren<T>(bool)
    Component.GetComponentInChildren<T>()
    Component.GetComponentsInChildren(Type, bool)
    Component.GetComponentsInChildren(Type)
    Component.GetComponentsInChildren<T>(bool)
    Component.GetComponentsInChildren<T>(bool, List<T>)
    Component.GetComponentsInChildren<T>()
    Component.GetComponentsInChildren<T>(List<T>)
    Component.GetComponentInParent(Type, bool)
    Component.GetComponentInParent(Type)
    Component.GetComponentInParent<T>(bool)
    Component.GetComponentInParent<T>()
    Component.GetComponentsInParent(Type, bool)
    Component.GetComponentsInParent(Type)
    Component.GetComponentsInParent<T>(bool)
    Component.GetComponentsInParent<T>(bool, List<T>)
    Component.GetComponentsInParent<T>()
    Component.GetComponents(Type)
    Component.GetComponents(Type, List<Component>)
    Component.GetComponents<T>(List<T>)
    Component.GetComponents<T>()
    Component.GetComponentIndex()
    Component.CompareTag(string)
    Component.CompareTag(TagHandle)
    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
    Object.GetInstanceID()
    Object.GetHashCode()
    Object.Equals(object)
    Object.InstantiateAsync<T>(T)
    Object.InstantiateAsync<T>(T, Transform)
    Object.InstantiateAsync<T>(T, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, Transform, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, int)
    Object.InstantiateAsync<T>(T, int, Transform)
    Object.InstantiateAsync<T>(T, int, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, int, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>)
    Object.InstantiateAsync<T>(T, int, Transform, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, int, Transform, Vector3, Quaternion, CancellationToken)
    Object.InstantiateAsync<T>(T, int, Transform, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>)
    Object.InstantiateAsync<T>(T, int, Transform, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>, CancellationToken)
    Object.Instantiate(Object, Vector3, Quaternion)
    Object.Instantiate(Object, Vector3, Quaternion, Transform)
    Object.Instantiate(Object)
    Object.Instantiate(Object, Scene)
    Object.Instantiate(Object, Transform)
    Object.Instantiate(Object, Transform, bool)
    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, bool)
    Object.Destroy(Object, float)
    Object.Destroy(Object)
    Object.DestroyImmediate(Object, bool)
    Object.DestroyImmediate(Object)
    Object.FindObjectsOfType(Type)
    Object.FindObjectsOfType(Type, bool)
    Object.FindObjectsByType(Type, FindObjectsSortMode)
    Object.FindObjectsByType(Type, FindObjectsInactive, FindObjectsSortMode)
    Object.DontDestroyOnLoad(Object)
    Object.DestroyObject(Object, float)
    Object.DestroyObject(Object)
    Object.FindSceneObjectsOfType(Type)
    Object.FindObjectsOfTypeIncludingAssets(Type)
    Object.FindObjectsOfType<T>()
    Object.FindObjectsByType<T>(FindObjectsSortMode)
    Object.FindObjectsOfType<T>(bool)
    Object.FindObjectsByType<T>(FindObjectsInactive, FindObjectsSortMode)
    Object.FindObjectOfType<T>()
    Object.FindObjectOfType<T>(bool)
    Object.FindFirstObjectByType<T>()
    Object.FindAnyObjectByType<T>()
    Object.FindFirstObjectByType<T>(FindObjectsInactive)
    Object.FindAnyObjectByType<T>(FindObjectsInactive)
    Object.FindObjectsOfTypeAll(Type)
    Object.FindObjectOfType(Type)
    Object.FindFirstObjectByType(Type)
    Object.FindAnyObjectByType(Type)
    Object.FindObjectOfType(Type, bool)
    Object.FindFirstObjectByType(Type, FindObjectsInactive)
    Object.FindAnyObjectByType(Type, FindObjectsInactive)
    Object.ToString()
    Object.name
    Object.hideFlags
    object.Equals(object, object)
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    Namespace: UnityEngine.XR.ARFoundation
    Assembly: Unity.XR.ARFoundation.dll
    Syntax
    [DisallowMultipleComponent]
    [RequireComponent(typeof(Camera))]
    [RequireComponent(typeof(ARCameraManager))]
    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 (UniversalRenderPipelineAsset) 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.

    Fields

    OnCameraRenderingModeChanged

    A delegate for capturing when the currentRenderingMode has changed. Use to change make any changes to the parameters of the ARCameraBackground (IE. changing custom materials out) before configuring the command buffer for background rendering.

    Declaration
    public static Action<XRCameraBackgroundRenderingMode> OnCameraRenderingModeChanged
    Field Value
    Type Description
    Action<XRCameraBackgroundRenderingMode>

    Properties

    backgroundRenderingEnabled

    Whether background rendering is enabled.

    Declaration
    public bool backgroundRenderingEnabled { get; }
    Property Value
    Type Description
    bool

    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.

    currentRenderingMode

    The current XRCameraBackgroundRenderingMode. Determines which render order to use.

    Declaration
    public XRCameraBackgroundRenderingMode currentRenderingMode { get; }
    Property Value
    Type Description
    XRCameraBackgroundRenderingMode

    customMaterial

    A custom Material for rendering the background with your own shader.

    Declaration
    public Material customMaterial { get; set; }
    Property Value
    Type Description
    Material

    A custom Material for rendering the background with your own shader.

    Remarks

    Set this property to use your own shader to render the background. AR Foundation uses the Material from the active provider plug-in by default, but you can override the default with your own Material.

    legacyCameraEvents

    The list of CameraEvents to add to the CommandBuffer. By default, it will select either s_DefaultBeforeOpaqueCameraEvents or s_DefaultAfterOpaqueCameraEvents depending on the value of currentRenderingMode.

    In the case where Before Opaques rendering has been selected it will return:

    BeforeForwardOpaque and BeforeGBuffer}.

    In the case where After Opaques rendering has been selected it will return:

    AfterForwardOpaque and AfterGBuffer}.

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

    useCustomMaterial

    Whether to use the custom material for rendering the background.

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

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

    Methods

    ConfigureLegacyCommandBuffer(CommandBuffer)

    Configures the commandBuffer by first clearing it, then adding necessary render commands.

    Declaration
    protected virtual void ConfigureLegacyCommandBuffer(CommandBuffer commandBuffer)
    Parameters
    Type Name Description
    CommandBuffer commandBuffer

    The command buffer to configure.

    In This Article
    Back to top
    Copyright © 2024 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)