Class ARTrackedImageManager
A manager for ARTrackedImages. Uses the XRImageTrackingSubsystem
to recognize and track 2D images in the physical environment.
Inheritance
UnityEngine.Object
UnityEngine.Component
UnityEngine.Behaviour
UnityEngine.MonoBehaviour
ARTrackedImageManager
Inherited Members
UnityEngine.MonoBehaviour.IsInvoking()
UnityEngine.MonoBehaviour.CancelInvoke()
UnityEngine.MonoBehaviour.Invoke(System.String, System.Single)
UnityEngine.MonoBehaviour.InvokeRepeating(System.String, System.Single, System.Single)
UnityEngine.MonoBehaviour.CancelInvoke(System.String)
UnityEngine.MonoBehaviour.IsInvoking(System.String)
UnityEngine.MonoBehaviour.StartCoroutine(System.String)
UnityEngine.MonoBehaviour.StartCoroutine(System.String, System.Object)
UnityEngine.MonoBehaviour.StartCoroutine(System.Collections.IEnumerator)
UnityEngine.MonoBehaviour.StartCoroutine_Auto(System.Collections.IEnumerator)
UnityEngine.MonoBehaviour.StopCoroutine(System.Collections.IEnumerator)
UnityEngine.MonoBehaviour.StopCoroutine(UnityEngine.Coroutine)
UnityEngine.MonoBehaviour.StopCoroutine(System.String)
UnityEngine.MonoBehaviour.StopAllCoroutines()
UnityEngine.MonoBehaviour.print(System.Object)
UnityEngine.MonoBehaviour.useGUILayout
UnityEngine.MonoBehaviour.runInEditMode
UnityEngine.Behaviour.enabled
UnityEngine.Behaviour.isActiveAndEnabled
UnityEngine.Component.GetComponent(System.Type)
UnityEngine.Component.GetComponent<T>()
UnityEngine.Component.TryGetComponent(System.Type, UnityEngine.Component)
UnityEngine.Component.TryGetComponent<T>(T)
UnityEngine.Component.GetComponent(System.String)
UnityEngine.Component.GetComponentInChildren(System.Type, System.Boolean)
UnityEngine.Component.GetComponentInChildren(System.Type)
UnityEngine.Component.GetComponentInChildren<T>(System.Boolean)
UnityEngine.Component.GetComponentInChildren<T>()
UnityEngine.Component.GetComponentsInChildren(System.Type, System.Boolean)
UnityEngine.Component.GetComponentsInChildren(System.Type)
UnityEngine.Component.GetComponentsInChildren<T>(System.Boolean)
UnityEngine.Component.GetComponentsInChildren<T>(System.Boolean, System.Collections.Generic.List<T>)
UnityEngine.Component.GetComponentsInChildren<T>()
UnityEngine.Component.GetComponentsInChildren<T>(System.Collections.Generic.List<T>)
UnityEngine.Component.GetComponentInParent(System.Type, System.Boolean)
UnityEngine.Component.GetComponentInParent(System.Type)
UnityEngine.Component.GetComponentInParent<T>(System.Boolean)
UnityEngine.Component.GetComponentInParent<T>()
UnityEngine.Component.GetComponentsInParent(System.Type, System.Boolean)
UnityEngine.Component.GetComponentsInParent(System.Type)
UnityEngine.Component.GetComponentsInParent<T>(System.Boolean)
UnityEngine.Component.GetComponentsInParent<T>(System.Boolean, System.Collections.Generic.List<T>)
UnityEngine.Component.GetComponentsInParent<T>()
UnityEngine.Component.GetComponents(System.Type)
UnityEngine.Component.GetComponents(System.Type, System.Collections.Generic.List<UnityEngine.Component>)
UnityEngine.Component.GetComponents<T>(System.Collections.Generic.List<T>)
UnityEngine.Component.GetComponents<T>()
UnityEngine.Component.CompareTag(System.String)
UnityEngine.Component.SendMessageUpwards(System.String, System.Object, UnityEngine.SendMessageOptions)
UnityEngine.Component.SendMessageUpwards(System.String, System.Object)
UnityEngine.Component.SendMessageUpwards(System.String)
UnityEngine.Component.SendMessageUpwards(System.String, UnityEngine.SendMessageOptions)
UnityEngine.Component.SendMessage(System.String, System.Object)
UnityEngine.Component.SendMessage(System.String)
UnityEngine.Component.SendMessage(System.String, System.Object, UnityEngine.SendMessageOptions)
UnityEngine.Component.SendMessage(System.String, UnityEngine.SendMessageOptions)
UnityEngine.Component.BroadcastMessage(System.String, System.Object, UnityEngine.SendMessageOptions)
UnityEngine.Component.BroadcastMessage(System.String, System.Object)
UnityEngine.Component.BroadcastMessage(System.String)
UnityEngine.Component.BroadcastMessage(System.String, UnityEngine.SendMessageOptions)
UnityEngine.Component.transform
UnityEngine.Component.gameObject
UnityEngine.Component.tag
UnityEngine.Object.GetInstanceID()
UnityEngine.Object.GetHashCode()
UnityEngine.Object.Equals(System.Object)
UnityEngine.Object.Instantiate(UnityEngine.Object, UnityEngine.Vector3, UnityEngine.Quaternion)
UnityEngine.Object.Instantiate(UnityEngine.Object, UnityEngine.Vector3, UnityEngine.Quaternion, UnityEngine.Transform)
UnityEngine.Object.Instantiate(UnityEngine.Object)
UnityEngine.Object.Instantiate(UnityEngine.Object, UnityEngine.Transform)
UnityEngine.Object.Instantiate(UnityEngine.Object, UnityEngine.Transform, System.Boolean)
UnityEngine.Object.Instantiate<T>(T)
UnityEngine.Object.Instantiate<T>(T, UnityEngine.Vector3, UnityEngine.Quaternion)
UnityEngine.Object.Instantiate<T>(T, UnityEngine.Vector3, UnityEngine.Quaternion, UnityEngine.Transform)
UnityEngine.Object.Instantiate<T>(T, UnityEngine.Transform)
UnityEngine.Object.Instantiate<T>(T, UnityEngine.Transform, System.Boolean)
UnityEngine.Object.Destroy(UnityEngine.Object, System.Single)
UnityEngine.Object.Destroy(UnityEngine.Object)
UnityEngine.Object.DestroyImmediate(UnityEngine.Object, System.Boolean)
UnityEngine.Object.DestroyImmediate(UnityEngine.Object)
UnityEngine.Object.FindObjectsOfType(System.Type)
UnityEngine.Object.FindObjectsOfType(System.Type, System.Boolean)
UnityEngine.Object.DontDestroyOnLoad(UnityEngine.Object)
UnityEngine.Object.DestroyObject(UnityEngine.Object, System.Single)
UnityEngine.Object.DestroyObject(UnityEngine.Object)
UnityEngine.Object.FindSceneObjectsOfType(System.Type)
UnityEngine.Object.FindObjectsOfTypeIncludingAssets(System.Type)
UnityEngine.Object.FindObjectsOfType<T>()
UnityEngine.Object.FindObjectsOfType<T>(System.Boolean)
UnityEngine.Object.FindObjectOfType<T>()
UnityEngine.Object.FindObjectOfType<T>(System.Boolean)
UnityEngine.Object.FindObjectsOfTypeAll(System.Type)
UnityEngine.Object.FindObjectOfType(System.Type)
UnityEngine.Object.FindObjectOfType(System.Type, System.Boolean)
UnityEngine.Object.ToString()
UnityEngine.Object.name
UnityEngine.Object.hideFlags
Syntax
[DefaultExecutionOrder(-2147483647)]
[RequireComponent(typeof(XROrigin))]
public sealed class ARTrackedImageManager : ARTrackableManager<XRImageTrackingSubsystem, XRImageTrackingSubsystemDescriptor, XRImageTrackingSubsystem.Provider, XRTrackedImage, ARTrackedImage>
Properties
currentMaxNumberOfMovingImages
Get the maximum number of moving images to track in real time that is currently in use by the subsystem.
Declaration
public int currentMaxNumberOfMovingImages { get; }
Property Value
gameObjectName
The name to be used for the GameObject
whenever a new image is detected.
Declaration
protected override string gameObjectName { get; }
Property Value
Overrides
UnityEngine.XR.ARFoundation.ARTrackableManager<UnityEngine.XR.ARSubsystems.XRImageTrackingSubsystem, UnityEngine.XR.ARSubsystems.XRImageTrackingSubsystemDescriptor, UnityEngine.XR.ARSubsystems.XRImageTrackingSubsystem.Provider, UnityEngine.XR.ARSubsystems.XRTrackedImage, UnityEngine.XR.ARFoundation.ARTrackedImage>.gameObjectName
maxNumberOfMovingImages
Declaration
[Obsolete("Use requestedMaxNumberOfMovingImages or currentMaxNumberOfMovingImages instead. (2020-01-16)")]
public int maxNumberOfMovingImages { get; set; }
Property Value
referenceLibrary
Get or set the reference image library (that is, the set of images to search for in the physical environment).
Declaration
public IReferenceImageLibrary referenceLibrary { get; set; }
Property Value
Exceptions
requestedMaxNumberOfMovingImages
The requested maximum number of moving images to track in real time. Support can vary between devices and providers. Check
for support at runtime with descriptor's
supportsMovingImages
property.
Declaration
public int requestedMaxNumberOfMovingImages { get; set; }
Property Value
trackedImagePrefab
If not null, instantiates this Prefab for each detected image.
Declaration
public GameObject trackedImagePrefab { get; set; }
Property Value
Type |
Description |
UnityEngine.GameObject |
|
Methods
CreateRuntimeLibrary(XRReferenceImageLibrary)
Creates a UnityEngine.XR.ARSubsystems.RuntimeReferenceImageLibrary
from an existing
UnityEngine.XR.ARSubsystems.XRReferenceImageLibrary
or an empty library if serializedLibrary
is null
.
Use this to construct reference image libraries at runtime. If the library is of type
MutableRuntimeReferenceImageLibrary
, it is modifiable at runtime.
Declaration
public RuntimeReferenceImageLibrary CreateRuntimeLibrary(XRReferenceImageLibrary serializedLibrary = null)
Parameters
Type |
Name |
Description |
XRReferenceImageLibrary |
serializedLibrary |
An existing XRReferenceImageLibrary , or null to create an empty mutable image library.
|
Returns
Type |
Description |
RuntimeReferenceImageLibrary |
A new RuntimeReferenceImageLibrary representing the deserialized version of serializedLibrary or an empty library if serializedLibrary is null .
|
Exceptions
Type |
Condition |
NotSupportedException |
Thrown if there is no subsystem. This usually means image tracking is not supported.
|
GetPrefab()
Declaration
protected override GameObject GetPrefab()
Returns
Type |
Description |
UnityEngine.GameObject |
The Prefab that will be instantiated for each ARTrackedImage.
|
Overrides
UnityEngine.XR.ARFoundation.ARTrackableManager<UnityEngine.XR.ARSubsystems.XRImageTrackingSubsystem, UnityEngine.XR.ARSubsystems.XRImageTrackingSubsystemDescriptor, UnityEngine.XR.ARSubsystems.XRImageTrackingSubsystem.Provider, UnityEngine.XR.ARSubsystems.XRTrackedImage, UnityEngine.XR.ARFoundation.ARTrackedImage>.GetPrefab()
OnAfterSetSessionRelativeData(ARTrackedImage, XRTrackedImage)
Declaration
protected override void OnAfterSetSessionRelativeData(ARTrackedImage image, XRTrackedImage sessionRelativeData)
Parameters
Type |
Name |
Description |
ARTrackedImage |
image |
The tracked image being updated.
|
XRTrackedImage |
sessionRelativeData |
New data associated with the tracked image. Spatial data is
relative to the XROrigin.
|
Overrides
UnityEngine.XR.ARFoundation.ARTrackableManager<UnityEngine.XR.ARSubsystems.XRImageTrackingSubsystem, UnityEngine.XR.ARSubsystems.XRImageTrackingSubsystemDescriptor, UnityEngine.XR.ARSubsystems.XRImageTrackingSubsystem.Provider, UnityEngine.XR.ARSubsystems.XRTrackedImage, UnityEngine.XR.ARFoundation.ARTrackedImage>.OnAfterSetSessionRelativeData(UnityEngine.XR.ARFoundation.ARTrackedImage, UnityEngine.XR.ARSubsystems.XRTrackedImage)
OnBeforeStart()
Sets the image library on the subsystem before Start() is called on the XRImageTrackingSubsystem
.
Declaration
protected override void OnBeforeStart()
Overrides
UnityEngine.XR.ARFoundation.SubsystemLifecycleManager<UnityEngine.XR.ARSubsystems.XRImageTrackingSubsystem, UnityEngine.XR.ARSubsystems.XRImageTrackingSubsystemDescriptor, UnityEngine.XR.ARSubsystems.XRImageTrackingSubsystem.Provider>.OnBeforeStart()
OnTrackablesChanged(List<ARTrackedImage>, List<ARTrackedImage>, List<ARTrackedImage>)
Declaration
protected override void OnTrackablesChanged(List<ARTrackedImage> added, List<ARTrackedImage> updated, List<ARTrackedImage> removed)
Parameters
Overrides
UnityEngine.XR.ARFoundation.ARTrackableManager<UnityEngine.XR.ARSubsystems.XRImageTrackingSubsystem, UnityEngine.XR.ARSubsystems.XRImageTrackingSubsystemDescriptor, UnityEngine.XR.ARSubsystems.XRImageTrackingSubsystem.Provider, UnityEngine.XR.ARSubsystems.XRTrackedImage, UnityEngine.XR.ARFoundation.ARTrackedImage>.OnTrackablesChanged(System.Collections.Generic.List<UnityEngine.XR.ARFoundation.ARTrackedImage>, System.Collections.Generic.List<UnityEngine.XR.ARFoundation.ARTrackedImage>, System.Collections.Generic.List<UnityEngine.XR.ARFoundation.ARTrackedImage>)
Events
trackedImagesChanged
Invoked once per frame with information about the ARTrackedImages that have changed (that is, been added, updated, or removed).
This happens just before ARTrackedImages are destroyed, so you can set ARTrackedImage.destroyOnRemoval
to false
from this event to suppress this behavior.
Declaration
public event Action<ARTrackedImagesChangedEventArgs> trackedImagesChanged
Event Type