docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class MutableRuntimeReferenceImageLibraryExtensions

    Extension methods for MutableRuntimeReferenceImageLibrary.

    Inheritance
    object
    MutableRuntimeReferenceImageLibraryExtensions
    Inherited Members
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: UnityEngine.XR.ARFoundation
    Assembly: Unity.XR.ARFoundation.dll
    Syntax
    public static class MutableRuntimeReferenceImageLibraryExtensions

    Methods

    ScheduleAddImageJob(MutableRuntimeReferenceImageLibrary, Texture2D, string, float?, JobHandle)

    Asynchronously adds texture to library.

    Declaration
    [Obsolete("Use ScheduleAddImageWithValidationJob instead. (2020-10-20)")]
    public static JobHandle ScheduleAddImageJob(this MutableRuntimeReferenceImageLibrary library, Texture2D texture, string name, float? widthInMeters, JobHandle inputDeps = default)
    Parameters
    Type Name Description
    MutableRuntimeReferenceImageLibrary library

    The MutableRuntimeReferenceImageLibrary being extended.

    Texture2D texture

    The Texture2D to use as image target.

    string name

    The name of the image.

    float? widthInMeters

    The physical width of the image, in meters.

    JobHandle inputDeps

    Input job dependencies (optional).

    Returns
    Type Description
    JobHandle

    A JobHandle which can be used to chain together multiple tasks or to query for completion. Can be safely discarded.

    Remarks

    This method is deprecated. Use ScheduleAddImageWithValidationJob(MutableRuntimeReferenceImageLibrary, Texture2D, string, float?, JobHandle) instead.

    Image addition can take some time (several frames) due to extra processing that must occur to insert the image into the library. This is done using the [Unity Job System] (https://docs.unity3d.com/Manual/JobSystem.html). The returned JobHandle can be used to chain together multiple tasks or to query for completion, but you can safely discarded if you do not need it.

    This job, like all Unity jobs, can have dependencies (using the inputDeps). If you are adding multiple images to the library, it is not necessary to pass a previous ScheduleAddImageJob(MutableRuntimeReferenceImageLibrary, Texture2D, string, float?, JobHandle) JobHandle as the input dependency to the next ScheduleAddImageJob(MutableRuntimeReferenceImageLibrary, Texture2D, string, float?, JobHandle); they can be processed concurrently.

    The bytes of the texture are copied, so you can safely destroy the texture after this method returns.

    Exceptions
    Type Condition
    ArgumentNullException

    Thrown if library is null.

    ArgumentNullException

    Thrown if texture is null.

    InvalidOperationException

    Thrown if state hasn't reached the ready state.

    InvalidOperationException

    Thrown if texture is not readable.

    ScheduleAddImageWithValidationJob(MutableRuntimeReferenceImageLibrary, Texture2D, string, float?, JobHandle)

    Asynchronously adds texture to library.

    Declaration
    public static AddReferenceImageJobState ScheduleAddImageWithValidationJob(this MutableRuntimeReferenceImageLibrary library, Texture2D texture, string name, float? widthInMeters, JobHandle inputDeps = default)
    Parameters
    Type Name Description
    MutableRuntimeReferenceImageLibrary library

    The MutableRuntimeReferenceImageLibrary being extended.

    Texture2D texture

    The Texture2D to add to library.

    string name

    The name of the image.

    float? widthInMeters

    The physical width of the image, in meters.

    JobHandle inputDeps

    Input job dependencies (optional).

    Returns
    Type Description
    AddReferenceImageJobState

    Returns an AddReferenceImageJobState that you can use to query for job completion and whether the image was successfully added.

    If image validity can be determined, invalid images will be not be added.

    Remarks

    The bytes of the texture are copied, so the texture may be safely destroyed after this method returns.

    > [!TIP] > Do not call this method on your app's first frame. ARSession.state should > be SessionInitializing or SessionTracking before you schedule an add image job. You can implement a > MonoBehaviour's Start > method as a coroutine and `yield` until the AR Session state is SessionTracking.
    Exceptions
    Type Condition
    ArgumentNullException

    Thrown if library is null.

    ArgumentNullException

    Thrown if texture is null.

    InvalidOperationException

    Thrown if state hasn't reached the ready state.

    InvalidOperationException

    Thrown if texture is not readable.

    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)