Class ARTrackable<TSessionRelativeData, TTrackable>
A generic component for trackables. A "trackable" is a feature in the physical environment that can be detected and tracked by an XR device.
Inheritance
Implements
Inherited Members
Namespace: UnityEngine.XR.ARFoundation
Assembly: Unity.XR.ARFoundation.dll
Syntax
public class ARTrackable<TSessionRelativeData, TTrackable> : ARTrackable, ITrackable where TSessionRelativeData : struct, ITrackable where TTrackable : ARTrackable<TSessionRelativeData, TTrackable>
Type Parameters
| Name | Description |
|---|---|
| TSessionRelativeData | The raw, session-relative data type used to update this trackable. |
| TTrackable | The concrete class which derives from ARTrackable<TSessionRelativeData, TTrackable>. |
Properties
destroyOnRemoval
If true, this component's GameObject will be removed immediately when the XR device reports this trackable is no longer tracked.
Declaration
public bool destroyOnRemoval { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
Remarks
Setting this to false will keep the GameObject around. You might want to do this, for example,
if you have custom removal logic, such as a fade out.
nativePtr
Declaration
public override IntPtr nativePtr { get; }
Property Value
| Type | Description |
|---|---|
| IntPtr |
Overrides
parentId
Declaration
public override TrackableId parentId { get; }
Property Value
| Type | Description |
|---|---|
| TrackableId |
Overrides
pending
Pending means the trackable was added manually (usually via an AddTrackable-style method
on its manager) but has not yet been reported as added.
Declaration
public bool pending { get; }
Property Value
| Type | Description |
|---|---|
| bool |
pose
Declaration
public override Pose pose { get; }
Property Value
| Type | Description |
|---|---|
| Pose |
Overrides
sessionRelativeData
The session-relative data associated with this trackable.
Declaration
protected TSessionRelativeData sessionRelativeData { get; }
Property Value
| Type | Description |
|---|---|
| TSessionRelativeData |
trackableId
Declaration
public override TrackableId trackableId { get; }
Property Value
| Type | Description |
|---|---|
| TrackableId |
Overrides
trackingState
Declaration
public override TrackingState trackingState { get; }
Property Value
| Type | Description |
|---|---|
| TrackingState |
Overrides
Methods
OnAfterSetSessionRelativeData()
Invoked just after the session-relative data has been set.
The GameObject's transform has already been updated.
You may override this method to perform further updates specific
to the derived trackable.
Declaration
protected virtual void OnAfterSetSessionRelativeData()