public/0.12.xpublic/0.8.xpublic/0.9.xpublic/0.11.x
  • Features
  • API Documentation
  • API Documentation
  • UUxtFollowComponent

    Show / Hide Table of Contents
    • AUxtBasePressableButtonActor
    • AUxtHandInteractionActor
    • AUxtInputSimulationActor
    • AUxtPinchSliderActor
    • AUxtPressableButtonActor
    • AUxtPressableCheckButtonActor
    • AUxtPressableRadioButtonActor
    • AUxtPressableSwitchButtonActor
    • AUxtPressableToggleButtonActor
    • AUxtTextRenderActor
    • FScrollingCollectionProperties
    • FUxtAffordanceConfig
    • FUxtAffordanceInstance
    • FUxtButtonAudioBrush
    • FUxtButtonBrush
    • FUxtButtonVisualsBrush
    • FUxtFontCharacter
    • FUxtGrabPointerData
    • FUxtGrabPointerFocus
    • FUxtHandProximityMeshData
    • FUxtIconBrush
    • FUxtIconBrushCustomization
    • FUxtInputAnimationUtils
    • FUxtInputSimulationHandState
    • FUxtInteractionUtils
    • FUXToolsEditorModule
    • FUXToolsModule
    • FUXToolsShadersModule
    • FUXToolsWMRModule
    • FUxtPointerFocus
    • FUxtPointerFocusSearchResult
    • FUxtPokePointerFocus
    • FUxtPressableButtonComponentVisualizer
    • FUxtRuntimeSettingsButtonSet
    • FUxtTextBrush
    • FUxtTooltipSpawnerComponentVisualizer
    • FUxtWmrHandTracker
    • IUxtCollectionObject
    • IUxtFarHandler
    • IUxtFarTarget
    • IUxtGrabHandler
    • IUxtGrabTarget
    • IUxtHandTracker
    • IUxtPokeHandler
    • IUxtPokeTarget
    • UUxtBaseObjectCollection
    • UUxtBoundsControlComponent
    • UUxtBoundsControlConfig
    • UUxtCollectionObject
    • UUxtFaceUserConstraint
    • UUxtFarBeamComponent
    • UUxtFarCursorComponent
    • UUxtFarHandler
    • UUxtFarPointerComponent
    • UUxtFarTarget
    • UUxtFingerCursorComponent
    • UUxtFixedDistanceConstraint
    • UUxtFixedRotationToUserConstraint
    • UUxtFixedRotationToWorldConstraint
    • UUxtFollowComponent
    • UUxtFunctionLibrary
    • UUxtGrabHandler
    • UUxtGrabPointerDataFunctionLibrary
    • UUxtGrabTarget
    • UUxtGrabTargetComponent
    • UUxtHandConstraintComponent
    • UUxtHandTrackingFunctionLibrary
    • UUxtIconBrushEditorUtilityWidget
    • UUxtInputSimulationHeadMovementComponent
    • UUxtInputSimulationLocalPlayerSubsystem
    • UUxtInputSimulationState
    • UUxtInputSubsystem
    • UUxtInternalFunctionLibrary
    • UUxtMaintainApparentSizeConstraint
    • UUxtManipulatorComponentBase
    • UUxtMathUtilsFunctionLibrary
    • UUxtMoveAxisConstraint
    • UUxtNearPointerComponent
    • UUxtPalmUpConstraintComponent
    • UUxtPinchSliderComponent
    • UUxtPointerComponent
    • UUxtPokeHandler
    • UUxtPokeTarget
    • UUxtPressableButtonComponent
    • UUxtRotationAxisConstraint
    • UUxtRuntimeSettings
    • UUxtTapToPlaceComponent
    • UUxtTextRenderComponent
    • UUxtToggleGroupComponent
    • UUxtTouchableVolumeComponent
    • UUxtTouchBasedHandTrackerComponent
    • UUxtTouchBasedHandTrackerSubsystem
    • UUxtTransformConstraint
    • UUxtUIElementComponent
    • UUxtWidgetComponent
    • UxtConstraintManager
    • UxtManipulationMoveLogic
    • UXTools
    • UXToolsEditor
    • UXToolsInputSimulation
    • UXToolsRuntimeSettings
    • UXToolsShaders
    • UXToolsWMR
    • UxtTwoHandManipulationRotateLogic
    • UxtTwoHandManipulationScaleLogic

    Class UUxtFollowComponent

    The follow component has three different constraints that keeps its owner in front of the camera: Angular Clamp, Distance Clamp, and Orientation. The combination of Angular and Distance Clamp creates a frustum in front of the camera where its owner can be. If its owner is outside that frustum it is adjusted.

    Angular Clamp: The objective of this constraint is to ensure that the reference forward vector remains within the bounds set by the leashing parameters. To do this, determine the angles between toTarget and the leashing bounds about the global Z-axis and the reference's Y-axis. If the toTarget falls within the leashing bounds, then we don't have to modify it. Otherwise, we apply a correction rotation to bring it within bounds. This will ensure that the its owner stays within the top, bottom, right and left planes of the frustum.

    Distance Clamp: The objective of this constraint is to ensure that the following actor stays within bounds set by the distance parameters. To do this, we measure the current distance from the camera to the its owner. If the distance is within the MinimumDistance and MaximumDistance then we don't have to modify it. Otherwise, we push away or pull in the its owner along the reference forward vector. This will ensure that the its owner stays within the near and far planes of the frustum.

    Orientation: The two options provided are constant FaceCamera or WorldLock. While world locked there are three conditions that will cause the its owner to face the camera: Angular Clamps Distance Clamps The angle between the forward vector of the its owner and toTarget vector (vector between the camera and the its owner) is larger than dead zone angle parameter

    Inheritance
    System::Object
    UActorComponent
    UUxtFollowComponent
    Namespace:
    Assembly: .dll
    Syntax
    public: class UUxtFollowComponent

    Constructors

    | Improve this Doc View Source

    UPROPERTY(EditAnywhere, BlueprintReadWrite, meta=(EditCondition="!bIgnoreDistanceClamp", EditConditionHides), Category=FollowDistance)

    Min distance from eye to position its owner around, i.e. the sphere radius

    Declaration
    public: UPROPERTY(EditAnywhere, BlueprintReadWrite, meta=(EditCondition="!bIgnoreDistanceClamp", EditConditionHides), Category=FollowDistance) float MinimumDistance
    Parameters
    Type Name Description
    EditAnywhere _u_uxt_follow_component_UPROPERTY_EditAnywhere_BlueprintReadWrite_meta_Category_
    BlueprintReadWrite _u_uxt_follow_component_UPROPERTY_EditAnywhere_BlueprintReadWrite_meta_Category_
    meta _u_uxt_follow_component_UPROPERTY_EditAnywhere_BlueprintReadWrite_meta_Category_
    Category _u_uxt_follow_component_UPROPERTY_EditAnywhere_BlueprintReadWrite_meta_Category_
    | Improve this Doc View Source

    UUxtFollowComponent()

    Declaration
    public: UUxtFollowComponent()

    Fields

    | Improve this Doc View Source

    ActorToFollow

    Actor that this component will follow. If null, this component will follow the camera

    Declaration
    public: AActor * ActorToFollow
    Field Value
    Type Description
    AActor *
    | Improve this Doc View Source

    bIgnoreAngleClamp

    Option to ignore angle clamping

    Declaration
    public: bool bIgnoreAngleClamp= false
    Field Value
    Type Description
    bool
    | Improve this Doc View Source

    bIgnoreDistanceClamp

    Option to ignore distance clamping

    Declaration
    public: bool bIgnoreDistanceClamp= false
    Field Value
    Type Description
    bool
    | Improve this Doc View Source

    bInterpolatePose

    Option to ignore interpolation between follow poses

    Declaration
    public: bool bInterpolatePose= true
    Field Value
    Type Description
    bool
    | Improve this Doc View Source

    bUseFixedVerticalOffset

    Ignore vertical movement and lock the Y position of the object.

    Declaration
    public: bool bUseFixedVerticalOffset= false
    Field Value
    Type Description
    bool
    | Improve this Doc View Source

    LerpTime

    Rate at which its owner will move toward default distance when angular leashing

    Declaration
    public: float LerpTime= 0.1f
    Field Value
    Type Description
    float
    | Improve this Doc View Source

    OrientationType

    Orientation Type

    Declaration
    public: TEnumAsByte<EUxtFollowOrientBehavior> OrientationType= EUxtFollowOrientBehavior::WorldLock
    Field Value
    Type Description
    TEnumAsByte<EUxtFollowOrientBehavior>
    | Improve this Doc View Source

    OrientToCameraDeadzoneDegrees

    The owner will not reorient until the angle between its forward vector and the vector to the camera is greater than this value

    Declaration
    public: float OrientToCameraDeadzoneDegrees= 60.0f
    Field Value
    Type Description
    float

    Methods

    | Improve this Doc View Source

    BeginPlay()

    Declaration
    protected: virtual void BeginPlay() override
    | Improve this Doc View Source

    Recenter()

    Force the owner to recenter in the camera's field of view.

    Declaration
    public: void Recenter()
    | Improve this Doc View Source

    TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction *ThisTickFunction)

    Declaration
    protected: virtual void TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction *ThisTickFunction) override
    Parameters
    Type Name Description
    float DeltaTime
    ELevelTick TickType
    FActorComponentTickFunction * ThisTickFunction
    • Improve this Doc
    • View Source
    In This Article
    • Constructors
      • UPROPERTY(EditAnywhere, BlueprintReadWrite, meta=(EditCondition="!bIgnoreDistanceClamp", EditConditionHides), Category=FollowDistance)
      • UUxtFollowComponent()
    • Fields
      • ActorToFollow
      • bIgnoreAngleClamp
      • bIgnoreDistanceClamp
      • bInterpolatePose
      • bUseFixedVerticalOffset
      • LerpTime
      • OrientationType
      • OrientToCameraDeadzoneDegrees
    • Methods
      • BeginPlay()
      • Recenter()
      • TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction *ThisTickFunction)
    Back to top Generated by DocFX