IMotionController

Motion Controller device interface

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...,
    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.

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss