FUxtDefaultHandTracker
Default hand tracker implementation.
This implementation works for all XR systems. It uses the XRTrackingSystem engine API. Hand and controller data is based on the FXRMotionControllerData.
Motion controller data is cached at the beginning of each frame. Input events for known XR systems are used to keep track of Select and Grip actions.
class FUxtDefaultHandTracker;
Header
#include <UxtDefaultHandTracker.h>
Inheritance
Inherits from IUxtHandTracker, IModularFeature
Public Functions
Name | |
---|---|
void | RegisterInputMappings() |
void | UnregisterInputMappings() |
FXRMotionControllerData & | GetControllerData(EControllerHand Hand) |
const FXRMotionControllerData & | GetControllerData(EControllerHand Hand) const |
virtual ETrackingStatus | GetTrackingStatus(EControllerHand Hand) const override |
virtual bool | IsHandController(EControllerHand Hand) const override |
virtual bool | GetJointState(EControllerHand Hand, EHandKeypoint Joint, FQuat & OutOrientation, FVector & OutPosition, float & OutRadius) const override |
virtual bool | GetPointerPose(EControllerHand Hand, FQuat & OutOrientation, FVector & OutPosition) const override |
virtual bool | GetGripPose(EControllerHand Hand, FQuat & OutOrientation, FVector & OutPosition) const override |
virtual bool | GetIsGrabbing(EControllerHand Hand, bool & OutIsGrabbing) const override |
virtual bool | GetIsSelectPressed(EControllerHand Hand, bool & OutIsSelectPressed) const override |
Friends
Name | |
---|---|
class | UUxtDefaultHandTrackerSubsystem |
Additional inherited members
Public Functions inherited from IUxtHandTracker
Name | |
---|---|
FName | GetModularFeatureName() |
IUxtHandTracker & | Get() |
virtual | ~IUxtHandTracker() |
Public Functions Documentation
function RegisterInputMappings
static void RegisterInputMappings()
function UnregisterInputMappings
static void UnregisterInputMappings()
function GetControllerData
FXRMotionControllerData & GetControllerData(
EControllerHand Hand
)
function GetControllerData
const FXRMotionControllerData & GetControllerData(
EControllerHand Hand
) const
function GetTrackingStatus
virtual ETrackingStatus GetTrackingStatus(
EControllerHand Hand
) const override
Reimplements: IUxtHandTracker::GetTrackingStatus
Get tracking status of the hand or motion controller.
function IsHandController
virtual bool IsHandController(
EControllerHand Hand
) const override
Reimplements: IUxtHandTracker::IsHandController
True if the controller is a hand.
function GetJointState
virtual bool GetJointState(
EControllerHand Hand,
EHandKeypoint Joint,
FQuat & OutOrientation,
FVector & OutPosition,
float & OutRadius
) const override
Reimplements: IUxtHandTracker::GetJointState
Obtain the state of the given joint. Returns false if the hand is not tracked this frame, in which case the values of the output parameters are unchanged.
function GetPointerPose
virtual bool GetPointerPose(
EControllerHand Hand,
FQuat & OutOrientation,
FVector & OutPosition
) const override
Reimplements: IUxtHandTracker::GetPointerPose
Obtain the pointer pose. Returns false if the hand is not tracked this frame, in which case the value of the output parameter is unchanged.
function GetGripPose
virtual bool GetGripPose(
EControllerHand Hand,
FQuat & OutOrientation,
FVector & OutPosition
) const override
Reimplements: IUxtHandTracker::GetGripPose
Grip pose following the controller. Returns false if the hand is not tracked this frame, in which case the value of the output parameter is unchanged.
function GetIsGrabbing
virtual bool GetIsGrabbing(
EControllerHand Hand,
bool & OutIsGrabbing
) const override
Reimplements: IUxtHandTracker::GetIsGrabbing
Obtain current grabbing state. Returns false if the hand is not tracked this frame, in which case the value of the output parameter is unchanged.
function GetIsSelectPressed
virtual bool GetIsSelectPressed(
EControllerHand Hand,
bool & OutIsSelectPressed
) const override
Reimplements: IUxtHandTracker::GetIsSelectPressed
Obtain current selection state. Returns false if the hand is not tracked this frame, in which case the value of the output parameter is unchanged.
Friends
friend UUxtDefaultHandTrackerSubsystem
friend class UUxtDefaultHandTrackerSubsystem(
UUxtDefaultHandTrackerSubsystem
);
Updated on 19 August 2021 at 17:42:51 Coordinated Universal Time