Class XRObjectTrackingSubsystem
Base class for object tracking subsystems.
Inheritance
Inherited Members
Namespace: UnityEngine.XR.ARSubsystems
Syntax
public abstract class XRObjectTrackingSubsystem : TrackingSubsystem<XRTrackedObject, XRObjectTrackingSubsystemDescriptor>
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 Start().
Declaration
public XRReferenceObjectLibrary library { get; set; }
Property Value
Type | Description |
---|---|
XRReferenceObjectLibrary |
Exceptions
Type | Condition |
---|---|
ArgumentNullException | Thrown if you set the library to |
Methods
CreateProvider()
Should create an instance of XRObjectTrackingSubsystem.IProvider, which contains the implementation for a specific XRObjectTrackingSubsystem.
Declaration
protected abstract XRObjectTrackingSubsystem.IProvider CreateProvider()
Returns
Type | Description |
---|---|
XRObjectTrackingSubsystem.IProvider | A new XRObjectTrackingSubsystem.IProvider containing a concrete implementation of this API. |
Destroy()
Destroys the subsystem.
Declaration
public override sealed void Destroy()
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 override sealed 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
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 |
Exceptions
Type | Condition |
---|---|
ArgumentNullException | Thrown if |
Start()
Starts scanning for the reference objects in library.
Declaration
public override sealed void Start()
Exceptions
Type | Condition |
---|---|
InvalidOperationException | Thrown if library is |
Stop()
Stops scanning for objects.
Declaration
public override sealed void Stop()