Show / Hide Table of Contents

    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

    • Improve this Doc
    Back to top Generated by DocFX