IMotionController

Motion Controller device interface

Choose your operating system:

Windows

macOS

Linux

Inheritance Hierarchy

References

Module

HeadMountedDisplay

Header

/Engine/Source/Runtime/HeadMountedDisplay/Public/IMotionController.h

Include

#include "IMotionController.h"

Syntax

class IMotionController : public IModularFeature

Remarks

Motion Controller device interface

This intentionally does NOT derive from IInputDeviceModule, to allow a clean separation for devices which exclusively track motion with no tactile input

You must MANUALLY call IModularFeatures::Get().RegisterModularFeature( GetModularFeatureName(), this ) in your implementation! This allows motion controllers to be both piggy-backed off HMD devices which support them, as well as standing alone.

Destructors

Name Description

Public function Virtual

~IMotionController()

Functions

Name Description

Public function Const

void

 

EnumerateSources

(
    TArray< FMotionControllerSource >&...
)

Called to request the motion sources that this IMotionController provides

Public function Const

bool

 

GetControllerOrientationAndPosition

(
    const int32 ControllerIndex,
    const FName MotionSource,
    FRotator& OutOrientation,
    FVector& OutPosition,
    float WorldToMetersScale
)

Returns the calibration-space orientation of the requested controller's hand.

Public function Const

bool

 

GetControllerOrientationAndPositionForTime

(
    const int32 ControllerIndex,
    const FName MotionSource,
    FTimespan Time,
    bool& OutTimeWasUsed,
    FRotator& OutOrientation,
    FVector& OutPosition,
    bool& OutbProvidedLinearVelocity,
    FVector& OutLinearVelocity,
    bool& OutbProvidedAngularVelocity,
    FVector& OutAngularVelocityRadPerS...,
    bool& OutbProvidedLinearAccelerati...,
    FVector& OutLinearAcceleration,
    float WorldToMetersScale
)

Returns the calibration-space orientation of the requested controller's hand at the specified time for potentially improved temporal precision, particularly fetching the controller transform when a button was pressed on a platform that provides sub-frame timing for button presses.

Public function Const

ETrackingSta...

 

GetControllerTrackingStatus

(
    const int32 ControllerIndex,
    const FName MotionSource
)

Returns the tracking status (e.g. not tracked, intertial-only, fully tracked) of the specified controller

Public function Const

float

 

GetCustomParameterValue

(
    const FName MotionSource,
    FName ParameterName,
    bool& bOutValueFound
)

Returns a custom names parameter value

Public function Const

bool

 

GetHandJointPosition

(
    const FName MotionSource,
    int jointIndex,
    FVector& OutPosition
)

Public function Static

FName

 

GetModularFeatureName()

Public function Const

FName

 

GetMotionControllerDeviceTypeName()

Returns the device type of the controller.

Constants

Name

Description

FeatureName