UUxtPalmUpConstraintComponent
Hand constraint component that becomes active if the hand is facing the player camera.
The palm must be facing the camera for the constraint to be active. Optionally the hand can also be rejected if it isn't flat.
class UUxtPalmUpConstraintComponent;
Header
#include <Behaviors/UxtPalmUpConstraintComponent.h>
Inheritance
Inherits from UUxtHandConstraintComponent, UActorComponent
Public Functions
Name | |
---|---|
virtual bool | IsHandUsableForConstraint(EControllerHand NewHand) override |
Public Attributes
Name | |
---|---|
float | MaxPalmAngle |
bool | bRequireFlatHand |
bool | bRequireGaze |
float | MaxFlatHandAngle |
float | EyeGazeProximityThreshold |
float | HeadGazeProximityThreshold |
Additional inherited members
Public Functions inherited from UUxtHandConstraintComponent
Name | |
---|---|
UUxtHandConstraintComponent() | |
EControllerHand | GetTrackedHand() const |
const FBox & | GetHandBounds() const |
bool | IsConstraintActive() const |
const FVector & | GetGoalLocation() const |
const FQuat & | GetGoalRotation() const |
Protected Functions inherited from UUxtHandConstraintComponent
Name | |
---|---|
virtual void | BeginPlay() override |
virtual void | TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction * ThisTickFunction) override |
Public Attributes inherited from UUxtHandConstraintComponent
Name | |
---|---|
EControllerHand | Hand |
EUxtHandConstraintZone | Zone |
EUxtHandConstraintOffsetMode | OffsetMode |
EUxtHandConstraintRotationMode | RotationMode |
float | GoalMargin |
bool | bMoveOwningActor |
float | LocationLerpTime |
float | RotationLerpTime |
FUxtHandConstraintActivatedDelegate | OnConstraintActivated |
FUxtHandConstraintDeactivatedDelegate | OnConstraintDeactivated |
FUxtHandConstraintBeginTrackingDelegate | OnBeginTracking |
FUxtHandConstraintEndTrackingDelegate | OnEndTracking |
Public Functions Documentation
function IsHandUsableForConstraint
virtual bool IsHandUsableForConstraint(
EControllerHand NewHand
) override
Reimplements: UUxtHandConstraintComponent::IsHandUsableForConstraint
Returns true if the given hand is eligible for the constraint. If the hand is rejected the constraint will be deactivated.
Public Attributes Documentation
variable MaxPalmAngle
float MaxPalmAngle = 75.0f;
Maximum allowed angle between the negative palm normal and view vector. If the angle exceeds the limit the hand is not used.
variable bRequireFlatHand
bool bRequireFlatHand = false;
If true then the hand needs to be flat to be accepted. The triangle between index, ring finger, and palm needs to be aligned with the palm within MaxFlatHandAngle.
variable bRequireGaze
bool bRequireGaze = false;
If true then the user must be looking at their hand to be accepted. Head gaze will be used if an eye tracker is not available.
variable MaxFlatHandAngle
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Uxt Palm Up Constraint", meta=(EditCondition="bRequireFlatHand", ClampMin="0.0", ClampMax="90.0"))
float MaxFlatHandAngle;
Maximum allowed angle between palm and index/ring finger/palm triangle to be considered a flat hand.
variable EyeGazeProximityThreshold
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Uxt Palm Up Constraint", meta=(EditCondition="bRequireGaze", ClampMin="0.0"))
float EyeGazeProximityThreshold;
The maximum distance between the eye gaze location on the hand plane and the reference point to accept the gaze.
variable HeadGazeProximityThreshold
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Uxt Palm Up Constraint", meta=(EditCondition="bRequireGaze", ClampMin="0.0"))
float HeadGazeProximityThreshold;
The maximum distance between the head gaze location on the hand plane and the reference point to accept the gaze. Only used if eye gaze isn't available.
Updated on 19 August 2021 at 17:42:52 Coordinated Universal Time