Navigation
API > API/Editor > API/Editor/VREditor
VREditor default interactor
| Name | UVREditorInteractor |
| Type | class |
| Header File | /Engine/Source/Editor/VREditor/Public/VREditorInteractor.h |
| Include Path | #include "VREditorInteractor.h" |
Syntax
UCLASS (Blueprintable, BlueprintType)
class UVREditorInteractor : public UViewportInteractor
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UViewportInteractor → UVREditorInteractor
Derived Classes
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
UVREditorInteractor() |
Default constructor | VREditorInteractor.h |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| MotionController_Left_FullyPressedTriggerAxis | const FName | VREditorInteractor.h | |
| MotionController_Left_PressedTriggerAxis | const FName | VREditorInteractor.h | |
| MotionController_Right_FullyPressedTriggerAxis | const FName | VREditorInteractor.h | |
| MotionController_Right_PressedTriggerAxis | const FName | VREditorInteractor.h | |
| TrackpadPositionX | const FName | Special key action names for motion controllers. | VREditorInteractor.h |
| TrackpadPositionY | const FName | VREditorInteractor.h | |
| TriggerAxis | const FName | VREditorInteractor.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| ActionKeysPressed | TMap< FName, bool > | Is the button for the specified action currently held down? | VREditorInteractor.h | |
| bHasUIInFront | bool | UI True if a floating UI panel is attached to the front of the hand, and we shouldn't bother drawing a laser pointer or enabling certain other features | VREditorInteractor.h | |
| bHasUIOnForearm | bool | True if a floating UI panel is attached to our forearm, so we shouldn't bother drawing help labels | VREditorInteractor.h | |
| bHaveMotionController | bool | True if this hand has a motion controller (or both!) | VREditorInteractor.h | |
| bIsClickingOnUI | bool | True if we're currently holding the 'SelectAndMove' button down after clicking on UI | VREditorInteractor.h | |
| bIsHoveringOverUI | bool | True if we're hovering over UI right now. | VREditorInteractor.h | |
| bIsModifierPressed | bool | Is the Modifier button held down? | VREditorInteractor.h | |
| bIsRightClickingOnUI | bool | When bIsClickingOnUI is true, this will be true if we're "right clicking". | VREditorInteractor.h | |
| ControllerType | EControllerType | General input For asymmetrical systems - what type of controller this is | VREditorInteractor.h | |
| HandMeshMID | TObjectPtr< class UMaterialInstanceDynamic > | MID for hand mesh | VREditorInteractor.h | |
| HoverMeshComponent | TObjectPtr< class UStaticMeshComponent > | Hover impact indicator mesh | VREditorInteractor.h | |
| HoverPointLightComponent | TObjectPtr< class UPointLightComponent > | Hover point light | VREditorInteractor.h | |
| LaserEnd | FVector | VREditorInteractor.h | ||
| LaserPointerMID | TObjectPtr< class UMaterialInstanceDynamic > | MID for laser pointer material (opaque parts) | VREditorInteractor.h | |
| LaserSplineComponent | TObjectPtr< class USplineComponent > | Spline for this hand's laser pointer | VREditorInteractor.h | |
| LaserSplineMeshComponents | TArray< TObjectPtr< class USplineMeshComponent > > | Spline meshes for curved laser | VREditorInteractor.h | |
| LaserStart | FVector | VREditorInteractor.h | ||
| LastUIPressTime | double | Last real time that we pressed the 'SelectAndMove' button on UI. | VREditorInteractor.h | |
| OverrideControllerType | EControllerType | What was our previous controller type | VREditorInteractor.h | |
| OwningAvatar | TObjectPtr< AActor > | Avatar actor that we're attached to. | VREditorInteractor.h | |
| SelectAndMoveTriggerValue | float | Current trigger pressed amount for 'select and move' (0.0 - 1.0) | VREditorInteractor.h | |
| TranslucentLaserPointerMID | TObjectPtr< class UMaterialInstanceDynamic > | MID for laser pointer material (translucent parts) | VREditorInteractor.h | |
| UIScrollVelocity | float | Inertial scrolling how fast to scroll the mousewheel over UI | VREditorInteractor.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FName GetControllerHandSide() |
Sets the EControllerHand for this motioncontroller | VREditorInteractor.h |
|
EControllerHand GetControllerSide() |
Get the side of the controller | VREditorInteractor.h |
|
EControllerType GetControllerType() |
Returns what controller type this is for asymmetric control schemes | VREditorInteractor.h |
|
FName GetHMDDeviceType() |
VREditorInteractor.h |
|
|
const TMap< FKey, FViewportActionKeyInput > & GetKeyToActionMap() |
Gets the key-to-action map (const) | VREditorInteractor.h | |
virtual TMap< FViewportActionKeyInput, TArray< FKey > > GetKnownActionMappings
(
EControllerHand InHand, |
VREditorInteractor.h | ||
const FVector & GetLaserEnd() |
VREditorInteractor.h |
|
|
const FVector & GetLaserStart() |
Getters and setters | VREditorInteractor.h |
|
FTimespan & GetLastActiveTrackpadUpdateTime() |
Get when the last time the trackpad position was updated | VREditorInteractor.h | |
UWidgetComponent * GetLastHoveredWidgetComponent() |
Gets the current hovered widget component if any | VREditorInteractor.h | |
FVector2D GetLastTrackpadPosition() |
Get the last position of the trackpad or analog stick | VREditorInteractor.h |
|
FTimespan & GetLastTrackpadPositionUpdateTime() |
Get when the last time the trackpad position was updated | VREditorInteractor.h | |
double GetLastUIPressTime() |
Gets last time the interactor pressed on UI | VREditorInteractor.h | |
UMotionControllerComponent * GetMotionControllerComponent() |
Get the motioncontroller component of this interactor | VREditorInteractor.h |
|
float GetSelectAndMoveTriggerValue() |
Gets the trigger value | VREditorInteractor.h |
|
float GetSlideDelta () |
Returns the slide delta for pushing and pulling objects. | VREditorInteractor.h |
|
AVREditorTeleporter * GetTeleportActor() |
VREditorInteractor.h |
|
|
FVector2D GetTrackpadPosition() |
Get the current position of the trackpad or analog stick | VREditorInteractor.h |
|
float GetTrackpadSlideDelta
(
const bool Axis |
Trackpad Gets the trackpad delta of the axis passed. | VREditorInteractor.h | |
float GetUIScrollVelocity() |
Gets the UI scroll velocity | VREditorInteractor.h | |
UVREditorMode & GetVRMode () |
Gets the owner of this system | VREditorInteractor.h | |
const UVREditorMode & GetVRMode () |
Gets the owner of this system (const) | VREditorInteractor.h | |
bool HasUIOnForearm() |
Check if the quick menu is on this interactor | VREditorInteractor.h | |
void Init
(
UVREditorMode* InVRMode |
Initialize default values | VREditorInteractor.h |
|
bool IsActionKeyPressed
(
FName ActionName |
VREditorInteractor.h | ||
bool IsCarrying() |
Tells us if thie interator is carrying a "carryable" actor, like a camera, which matches the interactor motions instead of using manipulators. | VREditorInteractor.h | |
bool IsClickingOnUI() |
Gets if the interactor is clicking on any UI | VREditorInteractor.h |
|
bool IsHoveringOverUI() |
Gets if this interactor is hovering over UI | VREditorInteractor.h |
|
bool IsRightClickingOnUI() |
Gets if the interactor is right clicking on UI | VREditorInteractor.h | |
bool IsScrubbingSequencer() |
Returns whether or not this controller is being used to scrub sequencer | VREditorInteractor.h | |
bool IsTouchingTrackpad() |
Check if the touchpad is currently touched | VREditorInteractor.h |
|
bool IsTrackpadPositionValid
(
const int32 AxisIndex |
If the trackpad values are valid | VREditorInteractor.h | |
void ReplaceHandMeshComponent
(
UStaticMesh* NewMesh, |
Replace the default VR controller mesh with a custom one. | VREditorInteractor.h |
|
void ResetTrackpad() |
Resets all the trackpad related values to default. | VREditorInteractor.h | |
void SetControllerHandSide
(
const FName InControllerHandSide |
Sets the EControllerHand for this motioncontroller | VREditorInteractor.h |
|
void SetControllerType
(
const EControllerType InControllerType |
Set what controller type this is for asymmetric control schemes | VREditorInteractor.h |
|
void SetForceLaserColor
(
const FLinearColor& InColor |
Next frame this will be used as color for the laser | VREditorInteractor.h |
|
void SetForceShowLaser
(
const bool bInForceShow |
Set if we want to force to show the laser | VREditorInteractor.h |
|
void SetHasUIOnForearm
(
const bool bInHasUIOnForearm |
Sets if the quick menu is on this interactor | VREditorInteractor.h | |
void SetIsClickingOnUI
(
const bool bInIsClickingOnUI |
Sets if the interactor is clicking on any UI | VREditorInteractor.h | |
void SetIsHoveringOverUI
(
const bool bInIsHoveringOverUI |
Sets if the interactor is hovering over any UI | VREditorInteractor.h | |
void SetIsRightClickingOnUI
(
const bool bInIsRightClickingOnUI |
Sets if the interactor is right hover over any UI | VREditorInteractor.h | |
void SetLastHoveredWidgetComponent
(
UWidgetComponent* NewHoveringOverWidgetComponent |
Sets the current hovered widget component | VREditorInteractor.h | |
void SetLastUIPressTime
(
const double InLastUIPressTime |
Sets the time the interactor last pressed on UI | VREditorInteractor.h | |
void SetUIScrollVelocity
(
const float InUIScrollVelocity |
Sets the UI scroll velocity | VREditorInteractor.h | |
void SetupComponent
(
AActor* OwningActor |
Sets up all components | VREditorInteractor.h |
|
virtual void Shutdown_Implementation() |
VREditorInteractor.h | ||
virtual void Tick_Implementation
(
const float DeltaTime |
VREditorInteractor.h | ||
void ToggleSequencerScrubbingMode() |
Toggles whether or not this controller is being used to scrub sequencer | VREditorInteractor.h | |
bool TryOverrideControllerType
(
const EControllerType InControllerType |
Temporary set what controller type this is for asymmetric control schemes. | VREditorInteractor.h |
|
Overridden from UViewportInteractor
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void CalculateDragRay
(
double& InOutDragRayLength, |
VREditorInteractor.h | ||
virtual FHitResult GetHitResultFromLaserPointer
(
TArray< AActor* >* OptionalListOfIgnoredActors, |
VREditorInteractor.h | ||
virtual bool GetIsLaserBlocked() |
ViewportInteractor overrides, checks if the laser is blocked by UI | VREditorInteractor.h | |
virtual bool GetTransformAndForwardVector
(
FTransform& OutHandTransform, |
VREditorInteractor.h | ||
virtual void HandleInputAxis
(
FEditorViewportClient& ViewportClient, |
VREditorInteractor.h | ||
virtual void HandleInputKey
(
FEditorViewportClient& ViewportClient, |
VREditorInteractor.h | ||
virtual bool IsModifierPressed() |
VREditorInteractor.h | ||
virtual void PlayHapticEffect
(
const float Strength |
Starts haptic feedback for physical motion controller | VREditorInteractor.h | |
virtual void PreviewInputKey
(
FEditorViewportClient& ViewportClient, |
VREditorInteractor.h | ||
virtual void ResetHoverState() |
VREditorInteractor.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void UpdateHandMeshRelativeTransform() |
VREditorInteractor.h |
|
Overridden from UViewportInteractor
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void PollInput() |
Polls input for the motion controllers transforms | VREditorInteractor.h |