Class XRAnchorSubsystem
This subsystem provides information regarding anchors. An anchor is a pose (position and rotation) in the physical environment that is tracked by an XR device. Anchors are updated as the device refines its understanding of the environment, allowing you to reliably place virtual content at a real-world pose.
Inheritance
Implements
Inherited Members
Namespace: UnityEngine.XR.ARSubsystems
Assembly: Unity.XR.ARSubsystems.dll
Syntax
public class XRAnchorSubsystem : TrackingSubsystem<XRAnchor, XRAnchorSubsystem, XRAnchorSubsystemDescriptor, XRAnchorSubsystem.Provider>, ISubsystem
Remarks
This is a base class with an abstract provider type to be implemented by provider plug-in packages. This class itself does not implement anchor tracking.
Constructors
XRAnchorSubsystem()
Do not invoke this constructor directly.
Declaration
public XRAnchorSubsystem()
Remarks
If you are implementing your own custom subsystem Lifecycle management, use the SubsystemManager to enumerate the available XRAnchorSubsystemDescriptors, then call XRAnchorSubsystemDescriptor.Create() on the desired descriptor.
Methods
GetChanges(Allocator)
Get the changes to anchors (added, updated, and removed) since the last call to this method.
Declaration
public override TrackableChanges<XRAnchor> GetChanges(Allocator allocator)
Parameters
Type | Name | Description |
---|---|---|
Allocator | allocator | An allocator to use for the |
Returns
Type | Description |
---|---|
TrackableChanges<XRAnchor> | Changes since the last call to this method. |
Overrides
TryAddAnchor(Pose, out XRAnchor)
Attempts to create a new anchor at the provided pose
.
Declaration
public bool TryAddAnchor(Pose pose, out XRAnchor anchor)
Parameters
Type | Name | Description |
---|---|---|
Pose | pose | The pose, in session space, of the new anchor. |
XRAnchor | anchor | The new anchor. Only valid if this method returns true. |
Returns
Type | Description |
---|---|
bool |
TryAttachAnchor(TrackableId, Pose, out XRAnchor)
Attempts to create a new anchor "attached" to the trackable with id trackableToAffix
.
The behavior of the anchor depends on the type of trackable to which this anchor is attached.
Declaration
public bool TryAttachAnchor(TrackableId trackableToAffix, Pose pose, out XRAnchor anchor)
Parameters
Type | Name | Description |
---|---|---|
TrackableId | trackableToAffix | The id of the trackable to which to attach. |
Pose | pose | The pose, in session space, of the anchor to create. |
XRAnchor | anchor | The new anchor. Only valid if this method returns |
Returns
Type | Description |
---|---|
bool |
|
TryRemoveAnchor(TrackableId)
Attempts to remove an existing anchor with TrackableId anchorId
.
Declaration
public bool TryRemoveAnchor(TrackableId anchorId)
Parameters
Type | Name | Description |
---|---|---|
TrackableId | anchorId | The id of an existing anchor to remove. |
Returns
Type | Description |
---|---|
bool |
|