Class for VR teleporter functionality. It allows teleportation using visual indicators.
More...
#include <PixoVRTeleporter.h>
|
UStaticMeshComponent * | ArcEndPoint |
| UPROPERTY(VisibleDefaultsOnly, BlueprintReadWrite)
|
|
USplineComponent * | ArcSplineComponent |
| UPROPERTY(VisibleDefaultsOnly, BlueprintReadWrite)
|
|
UMaterial * | ArcSplineMaterial |
| UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PixoVR | Teleporter", Meta = (AllowPrivateAccess = "true"))
|
|
UStaticMesh * | ArcSplineMesh |
| UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PixoVR | Teleporter", Meta = (AllowPrivateAccess = "true"))
|
|
UStaticMeshComponent * | Arrow |
| UPROPERTY(VisibleDefaultsOnly, BlueprintReadWrite)
|
|
bool | bDrawArcSpline |
| UPROPERTY(EditAnywhere, Category = "PixoVR | Teleporter")
|
|
bool | bDrawTeleportArrow |
| UPROPERTY(EditAnywhere, Category = "PixoVR | Teleporter")
|
|
bool | bDrawTeleportCylinder |
| UPROPERTY(EditAnywhere, Category = "PixoVR | Teleporter")
|
|
bool | bIsTeleporterActive |
| UPROPERTY(BlueprintReadOnly, Category = "PixoVR | Teleporter")
|
|
bool | bIsValidTeleportDestination |
| UPROPERTY(BlueprintReadOnly, Category = "PixoVR | Teleporter")
|
|
float | FadeInDuration |
| UPROPERTY(EditAnywhere, Category = "PixoVR | Teleporter")
|
|
float | FadeOutDuration |
| UPROPERTY(EditAnywhere, Category = "PixoVR | Teleporter")
|
|
UGripMotionControllerComponent * | MotionController |
| UPROPERTY(Replicated)
|
|
FRotator | PadRotation |
| UPROPERTY(BlueprintReadOnly, Category = "PixoVR | Teleporter")
|
|
UStaticMeshComponent * | Ring |
| UPROPERTY(VisibleDefaultsOnly, BlueprintReadWrite)
|
|
UStaticMeshComponent * | TeleportCylinder |
| UPROPERTY(VisibleDefaultsOnly, BlueprintReadWrite)
|
|
FLinearColor | TeleportFadeColor |
| UPROPERTY(EditAnywhere, Category = "PixoVR | Teleporter")
|
|
float | TeleportLaunchVelocity |
| UPROPERTY(EditAnywhere, Category = "PixoVR | Teleporter")
|
|
FRotator | TeleportRotation |
| UPROPERTY(BlueprintReadOnly, Category = "PixoVR | Teleporter")
|
|
float | ThumbDeadZone |
| UPROPERTY(EditAnywhere, Category = "PixoVR | Teleporter")
|
|
|
virtual void | BeginPlay () override |
|
void | ClearArc () |
| Clear the arc spline.
|
|
virtual void | Destroyed () override |
|
| GENERATED_BODY () |
|
FRotator | GetRotationFromInput (const FVector2D &Direction) |
| Calculate the FRotator from the pad of a controller.
|
|
virtual void | Tick (float DeltaTime) override |
|
void | TickTeleporter (float DeltaTime) |
| Tick the Teleporter.
|
|
bool | TraceTeleportDestination (TArray< FVector > &TracePoints, FVector &TraceLocation, FVector &NavMeshLocation) |
| Traces the teleport destination using projectile path prediction and navigation system. This function traces the teleport destination by simulating a projectile path based on the start position and launch velocity. It checks for collision with world static objects and collects the trace points along the path. If a valid hit is found, it stores the hit location in TraceLocation. Additionally, if the navigation system is available, it projects the hit location to the navigation mesh and stores the projected location in NavMeshLocation.
|
|
void | UpdateArcEndpoint (const FVector &NewLocation, bool ValidLocationFound) |
| Update the endpoint of the arc spline.
|
|
void | UpdateArcSpline (TArray< FVector > &SplinePoints, bool ValidLocationFound) |
| Update the arc spline.
|
|
void | UpdateTeleportCylinder (const FVector &NewLocation, bool ValidLocationFound) |
| Update the teleport cylinder.
|
|
Class for VR teleporter functionality. It allows teleportation using visual indicators.
UCLASS()
Definition at line 27 of file PixoVRTeleporter.h.
◆ APixoVRTeleporter()
APixoVRTeleporter::APixoVRTeleporter |
( |
| ) |
|
◆ ActivateTeleporter()
void APixoVRTeleporter::ActivateTeleporter |
( |
bool | InActivate | ) |
|
|
BlueprintCallable |
Activate or deactivate the Teleporter.
- Parameters
-
InActivate | Whether to activate or deactivate the Teleporter. |
UFUNCTION(BlueprintCallable, Category = "PixoVR | Teleporter")
Definition at line 215 of file PixoVRTeleporter.cpp.
◆ BeginPlay()
void APixoVRTeleporter::BeginPlay |
( |
| ) |
|
|
overrideprivatevirtual |
◆ ClearArc()
void APixoVRTeleporter::ClearArc |
( |
| ) |
|
|
private |
◆ Destroyed()
void APixoVRTeleporter::Destroyed |
( |
| ) |
|
|
overrideprivatevirtual |
◆ ExecuteTeleportation()
void APixoVRTeleporter::ExecuteTeleportation |
( |
UVRBaseCharacterMovementComponent * | MovementComponent, |
|
|
const FTransform & | ActorTransform, |
|
|
const FVector & | VRLocation, |
|
|
const FRotator & | ActorRotation ) |
|
BlueprintCallable |
Execute the teleportation. It checks if there is a valid teleport destination before executing the teleportation. The teleport destination is determined based on the last valid location of the teleport cylinder.
- Parameters
-
MovementComponent | The movement component of the character. |
ActorTransform | The transform of the character. |
VRLocation | The HMD location (usually you can get it by GetVRLocation()). |
ActorRotation | The rotation of the character. |
UFUNCTION(BlueprintCallable, Category = "PixoVR | Teleporter")
Definition at line 512 of file PixoVRTeleporter.cpp.
◆ GENERATED_BODY()
APixoVRTeleporter::GENERATED_BODY |
( |
| ) |
|
|
private |
◆ GetLifetimeReplicatedProps()
void APixoVRTeleporter::GetLifetimeReplicatedProps |
( |
TArray< FLifetimeProperty > & | OutLifetimeProps | ) |
const |
|
overridevirtual |
◆ GetRotationFromInput()
FRotator APixoVRTeleporter::GetRotationFromInput |
( |
const FVector2D & | Direction | ) |
|
|
private |
Calculate the FRotator from the pad of a controller.
- Parameters
-
Direction | The direction of the pad. |
- Returns
- The calculated FRotator.
Definition at line 340 of file PixoVRTeleporter.cpp.
◆ GetTeleportationTransform()
void APixoVRTeleporter::GetTeleportationTransform |
( |
FVector & | Location, |
|
|
FVector & | ForwardVector ) |
|
BlueprintPure |
Get the teleportation transform which includes location and orientation.
- Parameters
-
Location | The teleportation location. |
ForwardVector | The forward vector for orientation. |
UFUNCTION(BlueprintPure, Category = "PixoVR | Teleporter")
Definition at line 316 of file PixoVRTeleporter.cpp.
◆ GetTeleportDestination()
FVector APixoVRTeleporter::GetTeleportDestination |
( |
const FVector & | OriginalLocation | ) |
|
|
BlueprintPure |
Get the teleport destination.
- Parameters
-
OriginalLocation | Desired teleport location. |
- Returns
- The teleport destination.
UFUNCTION(BlueprintPure, Category = "PixoVR | Teleporter")
Definition at line 322 of file PixoVRTeleporter.cpp.
◆ IsActivated()
bool APixoVRTeleporter::IsActivated |
( |
| ) |
|
|
BlueprintCallable |
Check if the teleporter is activated.
- Returns
- True if the teleporter is activated, false otherwise.
UFUNCTION(BlueprintCallable, Category = "PixoVR | Teleporter")
Definition at line 121 of file PixoVRTeleporter.cpp.
◆ SetMotionController()
Set the motion controller that controls this Teleport.
- Parameters
-
InMotionController | The motion controller component. |
UFUNCTION(BlueprintCallable, Category = "PixoVR | Teleporter")
Definition at line 210 of file PixoVRTeleporter.cpp.
◆ Tick()
void APixoVRTeleporter::Tick |
( |
float | DeltaTime | ) |
|
|
overrideprivatevirtual |
◆ TickTeleporter()
void APixoVRTeleporter::TickTeleporter |
( |
float | DeltaTime | ) |
|
|
private |
◆ TraceTeleportDestination()
bool APixoVRTeleporter::TraceTeleportDestination |
( |
TArray< FVector > & | TracePoints, |
|
|
FVector & | TraceLocation, |
|
|
FVector & | NavMeshLocation ) |
|
private |
Traces the teleport destination using projectile path prediction and navigation system. This function traces the teleport destination by simulating a projectile path based on the start position and launch velocity. It checks for collision with world static objects and collects the trace points along the path. If a valid hit is found, it stores the hit location in TraceLocation. Additionally, if the navigation system is available, it projects the hit location to the navigation mesh and stores the projected location in NavMeshLocation.
- Parameters
-
TracePoints | Array to store the trace points along the projectile path. |
TraceLocation | The hit location of the projectile path trace. |
NavMeshLocation | The projected location on the navigation mesh. |
- Returns
- True if a valid hit and navigation projection are found, false otherwise.
Definition at line 259 of file PixoVRTeleporter.cpp.
◆ UpdateArcEndpoint()
void APixoVRTeleporter::UpdateArcEndpoint |
( |
const FVector & | NewLocation, |
|
|
bool | ValidLocationFound ) |
|
private |
Update the endpoint of the arc spline.
- Parameters
-
NewLocation | The new location for the endpoint. |
ValidLocationFound | Whether a valid teleport location is found. |
Definition at line 415 of file PixoVRTeleporter.cpp.
◆ UpdateArcSpline()
void APixoVRTeleporter::UpdateArcSpline |
( |
TArray< FVector > & | SplinePoints, |
|
|
bool | ValidLocationFound ) |
|
private |
Update the arc spline.
- Parameters
-
SplinePoints | The spline points for the arc. |
ValidLocationFound | Whether a valid teleport location is found. |
Definition at line 421 of file PixoVRTeleporter.cpp.
◆ UpdateMotionControllerRotation()
void APixoVRTeleporter::UpdateMotionControllerRotation |
( |
const FVector2D & | Direction | ) |
|
|
BlueprintCallable |
Update the motion controller rotation for pad rotation.
- Parameters
-
Direction | The motion controller pad axis direction. |
UFUNCTION(BlueprintCallable, Category = "PixoVR | Teleporter")
Definition at line 330 of file PixoVRTeleporter.cpp.
◆ UpdateTeleportCylinder()
void APixoVRTeleporter::UpdateTeleportCylinder |
( |
const FVector & | NewLocation, |
|
|
bool | ValidLocationFound ) |
|
private |
Update the teleport cylinder.
- Parameters
-
NewLocation | The new location for the teleport cylinder. |
ValidLocationFound | Whether a valid teleport location is found. |
Definition at line 370 of file PixoVRTeleporter.cpp.
◆ ArcEndPoint
|
VisibleDefaultsOnlyBlueprintReadWrite |
◆ ArcSplineComponent
USplineComponent* APixoVRTeleporter::ArcSplineComponent |
|
VisibleDefaultsOnlyBlueprintReadWrite |
◆ ArcSplineMaterial
UMaterial* APixoVRTeleporter::ArcSplineMaterial |
|
EditAnywhereBlueprintReadWrite |
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PixoVR | Teleporter", Meta = (AllowPrivateAccess = "true"))
Definition at line 219 of file PixoVRTeleporter.h.
◆ ArcSplineMesh
UStaticMesh* APixoVRTeleporter::ArcSplineMesh |
|
EditAnywhereBlueprintReadWrite |
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PixoVR | Teleporter", Meta = (AllowPrivateAccess = "true"))
Definition at line 212 of file PixoVRTeleporter.h.
◆ Arrow
|
VisibleDefaultsOnlyBlueprintReadWrite |
◆ bDrawArcSpline
bool APixoVRTeleporter::bDrawArcSpline |
|
EditAnywhere |
UPROPERTY(EditAnywhere, Category = "PixoVR | Teleporter")
If set to 'true' it will draw the arc spline that is used to show the direction of the teleport location.
Definition at line 250 of file PixoVRTeleporter.h.
◆ bDrawTeleportArrow
bool APixoVRTeleporter::bDrawTeleportArrow |
|
EditAnywhere |
UPROPERTY(EditAnywhere, Category = "PixoVR | Teleporter")
If set to 'true' it will draw the arrow that points to the direction of the controller pad location.
Definition at line 244 of file PixoVRTeleporter.h.
◆ bDrawTeleportCylinder
bool APixoVRTeleporter::bDrawTeleportCylinder |
|
EditAnywhere |
UPROPERTY(EditAnywhere, Category = "PixoVR | Teleporter")
If set to 'true' it will draw the cylinder that is used to show the area of the teleport location.
Definition at line 256 of file PixoVRTeleporter.h.
◆ bIsTeleporterActive
bool APixoVRTeleporter::bIsTeleporterActive |
|
BlueprintReadOnly |
UPROPERTY(BlueprintReadOnly, Category = "PixoVR | Teleporter")
Holds the state if the teleporter is active or not.
Definition at line 232 of file PixoVRTeleporter.h.
◆ bIsValidTeleportDestination
bool APixoVRTeleporter::bIsValidTeleportDestination |
|
BlueprintReadOnly |
UPROPERTY(BlueprintReadOnly, Category = "PixoVR | Teleporter")
Holds the state if the last teleport location is valid or not.
Definition at line 238 of file PixoVRTeleporter.h.
◆ FadeInDuration
float APixoVRTeleporter::FadeInDuration |
|
EditAnywhere |
UPROPERTY(EditAnywhere, Category = "PixoVR | Teleporter")
Definition at line 286 of file PixoVRTeleporter.h.
◆ FadeOutDuration
float APixoVRTeleporter::FadeOutDuration |
|
EditAnywhere |
UPROPERTY(EditAnywhere, Category = "PixoVR | Teleporter")
Definition at line 292 of file PixoVRTeleporter.h.
◆ MotionController
◆ MovementComponent
◆ NavigationSystem
UNavigationSystemV1* APixoVRTeleporter::NavigationSystem |
|
private |
◆ PadRotation
FRotator APixoVRTeleporter::PadRotation |
|
BlueprintReadOnly |
UPROPERTY(BlueprintReadOnly, Category = "PixoVR | Teleporter")
Definition at line 268 of file PixoVRTeleporter.h.
◆ Ring
|
VisibleDefaultsOnlyBlueprintReadWrite |
◆ SplineMeshComponents
TArray<USplineMeshComponent*> APixoVRTeleporter::SplineMeshComponents |
|
private |
◆ TeleportCylinder
|
VisibleDefaultsOnlyBlueprintReadWrite |
◆ TeleportFadeColor
FLinearColor APixoVRTeleporter::TeleportFadeColor |
|
EditAnywhere |
UPROPERTY(EditAnywhere, Category = "PixoVR | Teleporter")
Definition at line 298 of file PixoVRTeleporter.h.
◆ TeleportLaunchVelocity
float APixoVRTeleporter::TeleportLaunchVelocity |
|
EditAnywhere |
UPROPERTY(EditAnywhere, Category = "PixoVR | Teleporter")
Set this to higher values to make the teleporter teleport more far away.
Definition at line 280 of file PixoVRTeleporter.h.
◆ TeleportRotation
FRotator APixoVRTeleporter::TeleportRotation |
|
BlueprintReadOnly |
UPROPERTY(BlueprintReadOnly, Category = "PixoVR | Teleporter")
Definition at line 262 of file PixoVRTeleporter.h.
◆ ThumbDeadZone
float APixoVRTeleporter::ThumbDeadZone |
|
EditAnywhere |
UPROPERTY(EditAnywhere, Category = "PixoVR | Teleporter")
This value is used to check when to create a direction arrow of the controller pad.
Definition at line 274 of file PixoVRTeleporter.h.
◆ TimedLocation
FVector APixoVRTeleporter::TimedLocation |
|
private |
◆ TimedRotation
FRotator APixoVRTeleporter::TimedRotation |
|
private |
The documentation for this class was generated from the following files:
- SDKDemo/Plugins/UnrealEngineSDK/PixoCore/Source/PixoCore/Public/CharacterTools/PixoVRTeleporter.h
- SDKDemo/Plugins/UnrealEngineSDK/PixoCore/Source/PixoCore/Private/CharacterTools/PixoVRTeleporter.cpp