Class XRImageTrackingSubsystem
A subsystem for detecting and tracking a preconfigured set of images in the environment.
Inheritance
Implements
Inherited Members
Namespace: UnityEngine.XR.ARSubsystems
Assembly: Unity.XR.ARSubsystems.dll
Syntax
public class XRImageTrackingSubsystem : TrackingSubsystem<XRTrackedImage, XRImageTrackingSubsystem, XRImageTrackingSubsystemDescriptor, XRImageTrackingSubsystem.Provider>, ISubsystem
Constructors
XRImageTrackingSubsystem()
Constructs a subsystem. Do not invoke directly; call Create on the XRImageTrackingSubsystemDescriptor instead.
Declaration
public XRImageTrackingSubsystem()
Properties
currentMaxNumberOfMovingImages
The current maximum number of moving images to track. This can be different from requestedMaxNumberOfMovingImages.
Declaration
public int currentMaxNumberOfMovingImages { get; }
Property Value
| Type | Description |
|---|---|
| int |
imageLibrary
Get or set the reference image library. This is the set of images to look for in the environment.
Declaration
public RuntimeReferenceImageLibrary imageLibrary { get; set; }
Property Value
| Type | Description |
|---|---|
| RuntimeReferenceImageLibrary |
Remarks
A RuntimeReferenceImageLibrary is created at runtime and can be modifiable (see MutableRuntimeReferenceImageLibrary). You can create a RuntimeReferenceImageLibrary from an XRReferenceImageLibrary using CreateRuntimeLibrary(XRReferenceImageLibrary).
Exceptions
| Type | Condition |
|---|---|
| ArgumentNullException | Thrown if the subsystem has been started, and you attempt to set the image library to null. |
See Also
requestedMaxNumberOfMovingImages
The requested maximum number of moving images to track.
Declaration
public int requestedMaxNumberOfMovingImages { get; set; }
Property Value
| Type | Description |
|---|---|
| int |
Exceptions
| Type | Condition |
|---|---|
| NotSupportedException | Thrown if the subsystem does not support tracking moving images. Check for support of this feature with supportsMovingImages. |
Methods
CreateRuntimeLibrary(XRReferenceImageLibrary)
Creates a RuntimeReferenceImageLibrary from an existing XRReferenceImageLibrary,
or an empty library if serializedLibrary is null.
Use this to construct the runtime representation of an XRReferenceImageLibrary.
Declaration
public RuntimeReferenceImageLibrary CreateRuntimeLibrary(XRReferenceImageLibrary serializedLibrary)
Parameters
| Type | Name | Description |
|---|---|---|
| XRReferenceImageLibrary | serializedLibrary | An existing XRReferenceImageLibrary created at edit time, or |
Returns
| Type | Description |
|---|---|
| RuntimeReferenceImageLibrary | A new RuntimeReferenceImageLibrary representing the deserialized version of |
Remarks
If the subsystem supports runtime mutable libraries (see supportsMutableLibrary), then the returned library will be a MutableRuntimeReferenceImageLibrary.
See Also
GetChanges(Allocator)
Retrieve the changes in the state of tracked images (added, updated, and removed) since the last call to GetChanges.
Declaration
public override TrackableChanges<XRTrackedImage> GetChanges(Allocator allocator)
Parameters
| Type | Name | Description |
|---|---|---|
| Allocator | allocator | The allocator to use for the returned set of changes. |
Returns
| Type | Description |
|---|---|
| TrackableChanges<XRTrackedImage> | The set of tracked image changes (added, updated, and removed) since the last call to this method. |
Overrides
OnStart()
Starts the subsystem, that is, starts detecting images in the scene. imageLibrary must not be null.
Declaration
protected override void OnStart()
Overrides
Exceptions
| Type | Condition |
|---|---|
| InvalidOperationException | Thrown if imageLibrary is null. |
OnStop()
Stops the subsystem, that is, stops detecting and tracking images.
Declaration
protected override sealed void OnStop()