API reference
API reference
Select your platform
No SDKs available
No versions available

UOculusXRInputFunctionLibrary Class

Extends UBlueprintFunctionLibrary

Static Fields

HandMovementFilter : FHandMovementFilterDelegate
Signature
FHandMovementFilterDelegate UOculusXRInputFunctionLibrary::HandMovementFilter

Member Functions

DECLARE_MULTICAST_DELEGATE_FourParams ()
Signature
UOculusXRInputFunctionLibrary::DECLARE_MULTICAST_DELEGATE_FourParams(FHandMovementFilterDelegate, EControllerHand, FVector *, FRotator *, bool *)
Parameters
FHandMovementFilterDelegate
EControllerHand
FVector *
FRotator *
bool *

Static Member Functions

ConvertBoneToFinger ( Bone )
Signature
static EOculusXRFinger UOculusXRInputFunctionLibrary::ConvertBoneToFinger(const EOculusXRBone Bone)
Parameters
Bone: const EOculusXRBone
GetBoneName ( BoneId )
Get the bone name from the bone index
Signature
static FString UOculusXRInputFunctionLibrary::GetBoneName(EOculusXRBone BoneId)
Parameters
Returns
FString
GetBoneRotation ( DeviceHand , BoneId , ControllerIndex )
Get the rotation of a specific bone
Signature
static FQuat UOculusXRInputFunctionLibrary::GetBoneRotation(const EOculusXRHandType DeviceHand, const EOculusXRBone BoneId, const int32 ControllerIndex=0)
Parameters
DeviceHand: const EOculusXRHandType  (in) The hand to get the rotations from
BoneId: const EOculusXRBone  (in) The specific bone to get the rotation from
ControllerIndex: const int32  (in) Optional different controller index
Returns
FQuat
GetControllerDrivenHandPoses ()
Get if / how controller inputs are used to build a syntheic hand pose.
Signature
static EOculusXRControllerDrivenHandPoseTypes UOculusXRInputFunctionLibrary::GetControllerDrivenHandPoses()
GetControllerSampleRateHz ( Hand )
Get the controller haptics sample rate.
Signature
static float UOculusXRInputFunctionLibrary::GetControllerSampleRateHz(EControllerHand Hand)
Parameters
Hand: EControllerHand  Which hand to play the effect on
Returns
float
GetDominantHand ( ControllerIndex )
Get the user's dominant hand
Signature
static EOculusXRHandType UOculusXRInputFunctionLibrary::GetDominantHand(const int32 ControllerIndex=0)
Parameters
ControllerIndex: const int32  (in) Optional different controller index
GetFingerTrackingConfidence ( DeviceHand , Finger , ControllerIndex )
Get the tracking confidence of a finger
Signature
static EOculusXRTrackingConfidence UOculusXRInputFunctionLibrary::GetFingerTrackingConfidence(const EOculusXRHandType DeviceHand, const EOculusXRFinger Finger, const int32 ControllerIndex=0)
Parameters
DeviceHand: const EOculusXRHandType  (in) The hand to get tracking confidence of
Finger: const EOculusXRFinger  (in) The finger to get tracking confidence of
ControllerIndex: const int32  (in) Optional different controller index
GetHandScale ( DeviceHand , ControllerIndex )
Get the scale of the hand
Signature
static float UOculusXRInputFunctionLibrary::GetHandScale(const EOculusXRHandType DeviceHand, const int32 ControllerIndex=0)
Parameters
DeviceHand: const EOculusXRHandType  (in) The hand to get scale of
ControllerIndex: const int32  (in) Optional different controller index
Returns
float
GetHandSkeletalMesh ( HandSkeletalMesh , SkeletonType , MeshType , WorldToMeters )
Called to modify Hand position and orientation whenever it is queried.
Creates a new runtime hand skeletal mesh.
Signature
static bool UOculusXRInputFunctionLibrary::GetHandSkeletalMesh(USkeletalMesh *HandSkeletalMesh, EOculusXRHandType SkeletonType, EOculusXRHandType MeshType, const float WorldToMeters=100.0f)
Parameters
HandSkeletalMesh: USkeletalMesh *  (out) Skeletal Mesh object that will be used for the runtime hand mesh
SkeletonType: EOculusXRHandType  (in) The skeleton type that will be used for generating the hand bones
MeshType: EOculusXRHandType  (in) The mesh type that will be used for generating the hand mesh
WorldToMeters: const float
Returns
bool
GetMaxHapticDuration ( Hand )
Get the maximum duration (in seconds) that the controller haptics can handle each time.
Signature
static int UOculusXRInputFunctionLibrary::GetMaxHapticDuration(EControllerHand Hand)
Parameters
Hand: EControllerHand  Which hand to play the effect on
Returns
int
GetPointerPose ( DeviceHand , ControllerIndex )
Get the pointer pose
Signature
static FTransform UOculusXRInputFunctionLibrary::GetPointerPose(const EOculusXRHandType DeviceHand, const int32 ControllerIndex=0)
Parameters
DeviceHand: const EOculusXRHandType  (in) The hand to get the pointer pose from
ControllerIndex: const int32  (in) Optional different controller index
Returns
FTransform
GetTrackingConfidence ( DeviceHand , ControllerIndex )
Get the tracking confidence of the hand
Signature
static EOculusXRTrackingConfidence UOculusXRInputFunctionLibrary::GetTrackingConfidence(const EOculusXRHandType DeviceHand, const int32 ControllerIndex=0)
Parameters
DeviceHand: const EOculusXRHandType  (in) The hand to get tracking confidence of
ControllerIndex: const int32  (in) Optional different controller index
InitializeHandPhysics ( SkeletonType , HandComponent , WorldToMeters )
Initializes physics capsules for collision and physics on the runtime mesh
Signature
static TArray<FOculusXRCapsuleCollider> UOculusXRInputFunctionLibrary::InitializeHandPhysics(EOculusXRHandType SkeletonType, USkinnedMeshComponent *HandComponent, const float WorldToMeters=100.0f)
Parameters
SkeletonType: EOculusXRHandType  (in) The skeleton type that will be used to generated the capsules
HandComponent: USkinnedMeshComponent *  (in) The skinned mesh component that the capsules will be attached to
WorldToMeters: const float
Returns
TArray< FOculusXRCapsuleCollider >
IsHandPositionValid ( DeviceHand , ControllerIndex )
Check if the hand position is valid
Signature
static bool UOculusXRInputFunctionLibrary::IsHandPositionValid(const EOculusXRHandType DeviceHand, const int32 ControllerIndex=0)
Parameters
DeviceHand: const EOculusXRHandType  (in) The hand to get the position from
ControllerIndex: const int32  (in) Optional different controller index
Returns
bool
IsHandTrackingEnabled ()
Check if hand tracking is enabled currently
Signature
static bool UOculusXRInputFunctionLibrary::IsHandTrackingEnabled()
Returns
bool
IsPointerPoseValid ( DeviceHand , ControllerIndex )
Check if the pointer pose is a valid pose
Signature
static bool UOculusXRInputFunctionLibrary::IsPointerPoseValid(const EOculusXRHandType DeviceHand, const int32 ControllerIndex=0)
Parameters
DeviceHand: const EOculusXRHandType  (in) The hand to get the pointer status from
ControllerIndex: const int32  (in) Optional different controller index
Returns
bool
PlayAmplitudeEnvelopeHapticEffect ( HapticEffect , Hand )
Play a haptic feedback buffer on the player's controller. All buffer data will be sent to controller together in one frame. Data duration should be no greater than controller's maximum haptics duration which can be queried with GetMaxHapticDuration.
Signature
static void UOculusXRInputFunctionLibrary::PlayAmplitudeEnvelopeHapticEffect(class UHapticFeedbackEffect_Buffer *HapticEffect, EControllerHand Hand)
Parameters
HapticEffect: class UHapticFeedbackEffect_Buffer *  The haptic effect to play
Hand: EControllerHand  Which hand to play the effect on
Returns
void
PlayBufferHapticEffect ( HapticEffect , Hand , Location , Scale , bLoop )
Play a haptic feedback buffer on the player's controller with location support. In each frame, the buffer data will be sampled and the individual sampled data will be sent to controller to vibrate a specific location.
Signature
static void UOculusXRInputFunctionLibrary::PlayBufferHapticEffect(class UHapticFeedbackEffect_Buffer *HapticEffect, EControllerHand Hand, EOculusXRHandHapticsLocation Location=EOculusXRHandHapticsLocation::Hand, float Scale=1.f, bool bLoop=false)
Parameters
HapticEffect: class UHapticFeedbackEffect_Buffer *  The haptic effect to play
Hand: EControllerHand  Which hand to play the effect on
Location: EOculusXRHandHapticsLocation  Which hand location to play the effect on
Scale: float  Scale between 0.0 and 1.0 on the intensity of playback
bLoop: bool
Returns
void
PlayCurveHapticEffect ( HapticEffect , Hand , Location , Scale , bLoop )
Play a haptic feedback curve on the player's controller with location support. The curve data will be sampled and sent to controller to vibrate a specific location at each frame.
Signature
static void UOculusXRInputFunctionLibrary::PlayCurveHapticEffect(class UHapticFeedbackEffect_Curve *HapticEffect, EControllerHand Hand, EOculusXRHandHapticsLocation Location=EOculusXRHandHapticsLocation::Hand, float Scale=1.f, bool bLoop=false)
Parameters
HapticEffect: class UHapticFeedbackEffect_Curve *  The haptic effect to play
Hand: EControllerHand  Which hand to play the effect on
Location: EOculusXRHandHapticsLocation  Which hand location to play the effect on
Scale: float  Scale between 0.0 and 1.0 on the intensity of playback
bLoop: bool
Returns
void
PlaySoundWaveHapticEffect ( HapticEffect , Hand , bAppend , Scale , bLoop )
Play a haptic feedback soundwave on the player's controller. In each frame, the soundwave data will be split into a batch of data and sent to controller. The data duration of each frame is equal to controller's maximum haptics duration which can be queried with GetMaxHapticDuration.
Signature
static void UOculusXRInputFunctionLibrary::PlaySoundWaveHapticEffect(class UHapticFeedbackEffect_SoundWave *HapticEffect, EControllerHand Hand, bool bAppend=false, float Scale=1.f, bool bLoop=false)
Parameters
HapticEffect: class UHapticFeedbackEffect_SoundWave *  The haptic effect to play
Hand: EControllerHand  Which hand to play the effect on
bAppend: bool  False: any existing samples will be cleared and a new haptic effect will begin; True: samples will be appended to the currently playing effect
Scale: float  Scale between 0.0 and 1.0 on the intensity of playback
bLoop: bool
Returns
void
SetControllerDrivenHandPoses ( Type )
Set if / how controller inputs are used to build a syntheic hand pose.
Signature
static void UOculusXRInputFunctionLibrary::SetControllerDrivenHandPoses(EOculusXRControllerDrivenHandPoseTypes Type)
Parameters
Type: EOculusXRControllerDrivenHandPoseTypes  How the hand should be posed.
Returns
void
SetHapticsByValue ( Frequency , Amplitude , Hand , Location )
Set the value of the haptics for the specified hand and location directly, using frequency and amplitude. NOTE: If a curve is already playing for this hand, it will be cancelled in favour of the specified values.
Signature
static void UOculusXRInputFunctionLibrary::SetHapticsByValue(const float Frequency, const float Amplitude, EControllerHand Hand, EOculusXRHandHapticsLocation Location=EOculusXRHandHapticsLocation::Hand)
Parameters
Frequency: const float  The normalized frequency [0.0, 1.0] to play through the haptics system
Amplitude: const float  The normalized amplitude [0.0, 1.0] to set the haptic feedback to
Hand: EControllerHand  Which hand to play the effect on
Location: EOculusXRHandHapticsLocation  Which hand location to play the effect on
Returns
void
StopHapticEffect ( Hand , Location )
Stops a playing haptic feedback curve at a specific location.
Signature
static void UOculusXRInputFunctionLibrary::StopHapticEffect(EControllerHand Hand, EOculusXRHandHapticsLocation Location=EOculusXRHandHapticsLocation::Hand)
Parameters
Hand: EControllerHand  Which hand to stop the effect for
Location: EOculusXRHandHapticsLocation  Which hand location to play the effect on
Returns
void