/Engine/Source/Editor/ViewportInteraction/Public/ViewportInteractorData.h
Represents a single virtual hand
struct FViewportInteractorData
bool
bDraggingWithGrabberSphere
True if we're dragging using the grabber sphere, or false if we're using the laser (or world movement)
bool
bHitResultIsPriorityType
If the latest hitresult is hovering over a priority type
bool
bIsDrivingVelocityOfSimulatedTransformables
While dragging, true if we're dragging at least one simulated object that we're driving the velocities of.
bool
bIsFirstDragUpdate
True if this is the first update since we started dragging
bool
bWasAssistingDrag
True if we were assisting the other hand's drag the last time we did anything.
TWeakObjectPtr<...
ClickingOnComponent
General inputTrue if we're currently holding the 'SelectAndMove' button down after clicking on an actor
EViewportIntera...
DraggingMode
Object/world movementWhat we're currently dragging with this hand, if anything
TWeakObjectPtr<...
DraggingTransformGizmoComponent
The gizmo component we're dragging right now
TWeakObjectPtr<...
DragOperationComponent
The gizmo interaction we're doing with this hand
double
DragRayLength
Length of the ray that's dragging
double
DragRayLengthVelocity
How fast to adjust ray length every frame for inertial ray length changes
FVector
DragTranslationVelocity
How fast to move selected objects every frame for inertial translation
FTransform
GizmoInterpolationSnapshotTransform
A transform that we're interpolating from, toward the target transform.
FTransform
GizmoLastTransform
Where the gizmo was last frame. This is used for interpolation and smooth snapping
float
GizmoRotationRadiansSinceDragStarted
float
GizmoScaleSinceDragStarted
FVector
GizmoSpaceDragDeltaFromStartOffset
When dragging with an axis/plane constraint applied, this is the difference between the actual "delta from start" and the constrained "delta from start".
FVector
GizmoSpaceFirstDragUpdateOffsetAlongAxis
For a single axis drag, this is the cached local offset where the laser pointer ray intersected the axis line on the first frame of the drag
FBox
GizmoStartLocalBounds
Our gizmo bounds at the start of the interaction, in actor local space.
FTransform
GizmoStartTransform
Transform gizmo interactionWhere the gizmo was placed at the beginning of the current interaction
FTransform
GizmoTargetTransform
Where the gizmo wants to be right now, with snaps applied.
FTransform
GizmoUnsnappedTargetTransform
Where the gizmo wants to be right now, if no snaps were applied.
FVector
GrabberSphereLocationAtDragStart
Where the grabber sphere center point was when we first started the drag
TWeakObjectPtr<...
HoverHapticCheckLastHoveredGizmoComponent
Gizmo handle that we hovered over last (used only for avoiding spamming of hover haptics!)
TWeakObjectPtr<...
HoveringOverTransformGizmoComponent
Gizmo component that we're hovering over, or nullptr if not hovering over any
TOptional< FVec...
HoverLocation
Position the laser pointer impacted an interactive object at (UI, meshes, etc.)
FVector
ImpactLocationAtDragStart
Grabber sphere or laser pointer impact location at the drag start
FTransform
InteractorTransformAtDragStart
The transform of the interactor when we first started the drag
EViewportIntera...
LastDraggingMode
What we were doing last. Used for inertial movement.
UViewportDragOp...
LastDragOperation
The last drag operation.
FVector
LastDragToLocation
Location that we dragged to last frame (end point of the ray)
TWeakObjectPtr<...
LastHoveredActorComponent
The current component hovered by the laser pointer of this hand
TWeakObjectPtr<...
LastHoveredWidgetComponent
Hover feedbackThe widget component we last hovered over.
FVector
LastHoverLocationOverUI
The last location that we hovered over UI at in the world.
FTransform
LastRoomSpaceTransform
Room space hand transform from the previous frame
FTransform
LastTransform
Hand transform in world space from the previous frame
ELockedWorldDra...
LockedWorldDragMode
TOptional<FTra...
OptionalHandlePlacement
Which handle on the gizmo we're interacting with, if any
FTransform
RoomSpaceTransform
Your hand transform, in the local tracking space (unaffected by world scaling)
FVector
StartHitLocationToTransformableCenter
The offset between the hitlocation of the object selected to start dragging and its center.
FTransform
Transform
Positional dataYour hand (laser origin) in the virtual world in world space, usually driven by VR motion controllers