Class XRObjectTrackingSubsystem
Base class for object tracking subsystems.
Inheritance
Inherited Members
Namespace: UnityEngine.XR.ARSubsystems
Syntax
public abstract class XRObjectTrackingSubsystem : TrackingSubsystem<XRTrackedObject, XRObjectTrackingSubsystemDescriptor>, ISubsystem
Remarks
This subsystem allows real objects to be recognized in the environment. You must first specify a library of "reference objects" to search for. These reference objects are typically in a format specific to a particular implementation; see the documentation for the implementing subsystem for further instructions.
Constructors
XRObjectTrackingSubsystem()
Constructs an object tracking subsystem. Do not invoked directly; call Create
on the XRObjectTrackingSubsystemDescriptor instead.
Declaration
public XRObjectTrackingSubsystem()
Properties
library
The library of reference objects for which to scan. This must be set to non-null before calling OnStart().
Declaration
public XRReferenceObjectLibrary library { get; set; }
Property Value
Type | Description |
---|---|
XRReferenceObjectLibrary |
Exceptions
Type | Condition |
---|---|
ArgumentNullException | Thrown if you set the library to |
provider
The provider created by the implementation that contains the required object tracking functionality.
Declaration
protected XRObjectTrackingSubsystem.Provider provider { get; }
Property Value
Type | Description |
---|---|
XRObjectTrackingSubsystem.Provider |
Methods
CreateProvider()
Should create an instance of XRObjectTrackingSubsystem.Provider, which contains the implementation for a specific XRObjectTrackingSubsystem.
Declaration
protected abstract XRObjectTrackingSubsystem.Provider CreateProvider()
Returns
Type | Description |
---|---|
XRObjectTrackingSubsystem.Provider | A new XRObjectTrackingSubsystem.Provider containing a concrete implementation of this API. |
GetChanges(Allocator)
Get changes (added, updated, and removed) to XRTrackedObjects since
the last call to this method. The caller owns the memory allocated with allocator
.
Declaration
public sealed override TrackableChanges<XRTrackedObject> GetChanges(Allocator allocator)
Parameters
Type | Name | Description |
---|---|---|
Allocator | allocator | The allocator to use for the returned arrays of changes. |
Returns
Type | Description |
---|---|
TrackableChanges<XRTrackedObject> | A new TrackableChanges<T> allocated with |
Overrides
OnDestroyed()
Destroys the subsystem.
Declaration
protected sealed override void OnDestroyed()
Overrides
OnStart()
Starts scanning for the reference objects in library.
Declaration
protected sealed override void OnStart()
Overrides
Exceptions
Type | Condition |
---|---|
InvalidOperationException | Thrown if library is |
OnStop()
Stops scanning for objects.
Declaration
protected sealed override void OnStop()
Overrides
Register<T>(String, XRObjectTrackingSubsystemDescriptor.Capabilities)
Registers a novel implementation of the XRObjectTrackingSubsystem.
Declaration
public static void Register<T>(string id, XRObjectTrackingSubsystemDescriptor.Capabilities capabilities)
where T : XRObjectTrackingSubsystem
Parameters
Type | Name | Description |
---|---|---|
String | id | A unique string identifying the subsystem implementation. |
XRObjectTrackingSubsystemDescriptor.Capabilities | capabilities | Describes the capabilities of the implementation. |
Type Parameters
Name | Description |
---|---|
T | The concrete type of the subsystem being registered. |
Exceptions
Type | Condition |
---|---|
ArgumentNullException | Thrown if |