Navigation
API > API/Plugins > API/Plugins/XRBase
Inheritance Hierarchy
- IModularFeature
- IXRSystemIdentifier
- IXRTrackingSystem
- FXRTrackingSystemBase
- FHeadMountedDisplayBase
- FPixelStreamingHMD
- FXRTrackingProxy
References
| Module | XRBase |
| Header | /Engine/Plugins/Runtime/XRBase/Source/XRBase/Public/XRTrackingSystemBase.h |
| Include | #include "XRTrackingSystemBase.h" |
Syntax
class FXRTrackingSystemBase : public IXRTrackingSystem
Remarks
Base utility class for implementations of the IXRTrackingSystem interface Contains helpers and default implementation of most abstract methods, so final implementations only need to override features that they support.
Variables
| Type | Name | Description | |
|---|---|---|---|
| FTransform | CachedTrackingToWorld | ||
| FTransform | CalibratedOffset | If the tracker is trying to lock itself to an external tracking source for drift control, this stores the calibrated offset between the external tracking system and the internal tracking system (e.g. a location from a mocap system tracker to the HMD's internal IMU). | |
| IXRLoadingScreen * | LoadingScreen | ||
| TSharedPtr< class FDefaultXRCamera, ESPMode::ThreadSafe > | XRCamera |
Constructors
| Type | Name | Description | |
|---|---|---|---|
FXRTrackingSystemBase
(
IARSystemSupport* InARImplementation |
Destructors
| Type | Name | Description | |
|---|---|---|---|
Functions
| Type | Name | Description | |
|---|---|---|---|
| FTransform | ComputeTrackingToWorldTransform
(
FWorldContext& WorldContext |
||
| IXRLoadingScreen * | Override this method if you need to customize the IXRLoadingScreen implementation. | ||
| void | Meant to be called by sub-classes whenever the interaction profile is altered. | ||
| void | |||
| void | Meant to be called by sub-classes whenever the tracking origin is altered. | ||
| FTransform | RefreshTrackingToWorldTransform
(
FWorldContext& WorldContext |
Computes the project's tracking-to-world transform based off how the user has set up their camera system (assumes the camera is parented to the XR origin, and in turn uses that transform). |
Overridden from IXRTrackingSystem
| Type | Name | Description | |
|---|---|---|---|
| void | CalibrateExternalTrackingSource
(
const FTransform& ExternalTrackingTransform |
Called to calibrate the offset transform between an external tracking source and the internal tracking source (e.g. mocap tracker to and HMD tracker). | |
| uint32 | CountTrackedDevices
(
EXRTrackedDeviceType Type |
Get the count of tracked devices. | |
| bool | Whether or not the system supports positional tracking (either via sensor or other means). | ||
| TSharedPtr< FARSupportInterface, ESPMode::ThreadSafe > | Access optionsal ARCompositionComponent | ||
| const TSharedPtr< const FARSupportInterface, ESPMode::ThreadSafe > | |||
| bool | GetCurrentInteractionProfile
(
const EControllerHand Hand, |
||
| bool | GetFloorToEyeTrackingTransform
(
FTransform& OutFloorToEye |
Returns a transform for converting from 'Floor' origin space to 'Eye' origin space. | |
| IXRLoadingScreen * | Access the loading screen interface associated with this tracking system, if any. | ||
| void | GetMotionControllerData
(
UObject* WorldContext, |
Platform Agnostic Query about MotionControllers details | |
| bool | GetRelativeEyePose
(
int32 DeviceId, |
If the device id represents a head mounted display, fetches the relative position of the given eye relative to the eye. | |
| FString | GetTrackedDevicePropertySerialNumber
(
int32 DeviceId |
If the device id represents a tracking sensor, reports the serial number as a string if the device supports it. | |
| EXRTrackedDeviceType | GetTrackedDeviceType
(
int32 DeviceId |
If the device id represents a tracking sensor, reports the device type. | |
| EHMDTrackingOrigin::Type | Returns current tracking origin.The default implementation always reports 'eye'-level tracking. | ||
| bool | GetTrackingSensorProperties
(
int32 DeviceId, |
If the device id represents a tracking sensor, reports the frustum properties in game-world space of the sensor. | |
| FTransform | Returns the system's latest known tracking-to-world transform. | ||
| FString | Returns version string. | ||
| TSharedPtr< class IXRCamera, ESPMode::ThreadSafe > | GetXRCamera
(
int32 DeviceId |
Get the IXCamera instance for the given device. | |
| bool | If the system currently has valid tracking positions. | ||
| bool | IsTracking
(
int32 DeviceId |
Check current tracking status of a device. | |
| void | SetTrackingOrigin
(
EHMDTrackingOrigin::Type NewOrigin |
Sets tracking origin (either 'eye'-level or 'floor'-level). | |
| void | UpdateExternalTrackingPosition
(
const FTransform& ExternalTrackingTransform |
Called after calibration to attempt to pull the internal tracker (e.g. HMD tracking) in line with the external tracker (e.g. mocap tracker). | |
| void | UpdateTrackingToWorldTransform
(
const FTransform& TrackingToWorldOverride |
Refreshes the system's known tracking-to-world transform. |