59 UPROPERTY(BlueprintReadOnly, Transient, Category = VRMovement)
63 static const
float CLIMB_SWEEP_EDGE_REJECT_DISTANCE;
64 virtual
bool IsWithinClimbingEdgeTolerance(const FVector& CapsuleLocation, const FVector& TestImpactPoint, const
float CapsuleRadius) const;
65 virtual
bool VRClimbStepUp(const FVector& GravDir, const FVector& Delta, const FHitResult &InHit, FStepDownResult* OutStepDownResult =
nullptr) override;
67 virtual
bool IsWithinEdgeTolerance(const FVector& CapsuleLocation, const FVector& TestImpactPoint, const
float CapsuleRadius) const override;
70 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "VRCharacterMovementComponent")
71 bool bAllowMovementMerging;
74 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "VRCharacterMovementComponent")
75 bool bRunClientCorrectionToHMD;
86 virtual
void Crouch(
bool bClientSimulation = false) override;
92 virtual
void UnCrouch(
bool bClientSimulation = false) override;
105 virtual FBasedPosition GetActorFeetLocationBased() const override;
113 virtual
bool TryToLeaveNavWalking() override;
116 virtual
void PhysNavWalking(
float deltaTime, int32 Iterations) override;
117 virtual
void ProcessLanded(const FHitResult& Hit,
float remainingTime, int32 Iterations) override;
119 void PostPhysicsTickComponent(
float DeltaTime, FCharacterMovementComponentPostPhysicsTickFunction& ThisTickFunction) override;
120 void SimulateMovement(
float DeltaSeconds) override;
121 void MoveSmooth(const FVector& InVelocity, const
float DeltaSeconds, FStepDownResult* OutStepDownResult) override;
142 virtual
void ServerMoveHandleClientErrorVR(
float ClientTimeStamp,
float DeltaTime, const FVector& Accel, const FVector& RelativeClientLocation,
float ClientYaw, UPrimitiveComponent* ClientMovementBase, FName ClientBaseBoneName, uint8 ClientMovementMode);
148 virtual
bool ServerCheckClientErrorVR(
float ClientTimeStamp,
float DeltaTime, const FVector& Accel, const FVector& ClientWorldLocation,
float ClientYaw, const FVector& RelativeClientLocation, UPrimitiveComponent* ClientMovementBase, FName ClientBaseBoneName, uint8 ClientMovementMode);
151 virtual
void ClientAdjustPositionVR_Implementation(
float TimeStamp, FVector NewLoc, uint16 NewYaw, FVector NewVel, UPrimitiveComponent* NewBase, FName NewBaseBoneName,
bool bHasBase,
bool bBaseRelativePosition, uint8 ServerMovementMode);
176 FNetworkPredictionData_Client* GetPredictionData_Client() const override;
177 FNetworkPredictionData_Server* GetPredictionData_Server() const override;
187 virtual
void OnRegister() override;
189 float ImmersionDepth() const override;
206 bool SafeMoveUpdatedComponent(const FVector& Delta, const FQuat& NewRotation,
bool bSweep, FHitResult& OutHit, ETeleportType Teleport = ETeleportType::
None);
207 bool SafeMoveUpdatedComponent(const FVector& Delta, const FRotator& NewRotation,
bool bSweep, FHitResult& OutHit, ETeleportType Teleport = ETeleportType::
None);
210 virtual
void MoveAlongFloor(const FVector& InVelocity,
float DeltaSeconds, FStepDownResult* OutStepDownResult) override;
213 virtual
void ApplyRepulsionForce(
float DeltaSeconds) override;
216 virtual
void UpdateBasedMovement(
float DeltaSeconds) override;
219 virtual FVector GetImpartedMovementBaseVelocity() const override;
222 void TickComponent(
float DeltaTime, enum ELevelTick TickType, FActorComponentTickFunction *ThisTickFunction);
225 virtual
void SetUpdatedComponent(
USceneComponent* NewUpdatedComponent) override;
228 virtual
void ReplicateMoveToServer(
float DeltaTime, const FVector& NewAcceleration) override;
232 virtual
void FindFloor(const FVector& CapsuleLocation, FFindFloorResult& OutFloorResult,
bool bCanUseCachedLocation, const FHitResult* DownwardSweepResult = NULL) const;
235 bool StepUp(const FVector& GravDir, const FVector& Delta, const FHitResult &InHit, FStepDownResult* OutStepDownResult = NULL) override;
237 virtual FVector GetPenetrationAdjustment(const FHitResult& Hit) const override;
253 virtual
void PhysWalking(
float deltaTime, int32 Iterations) override;
256 virtual
void PhysFlying(
float deltaTime, int32 Iterations) override;
259 virtual
bool ShouldCheckForValidLandingSpot(
float DeltaTime, const FVector& Delta, const FHitResult& Hit) const override;
262 virtual
void PhysFalling(
float deltaTime, int32 Iterations) override;
264 virtual
void PhysSwimming(
float deltaTime, int32 Iterations) override;
273 void StartSwimmingVR(FVector OldLocation, FVector OldVelocity,
float timeTick,
float remainingTime, int32 Iterations);
276 float SwimVR(FVector Delta, FHitResult& Hit);
279 virtual
bool CheckWaterJump(FVector CheckPoint, FVector& WallNormal) override;
290 virtual
void CapsuleTouched(UPrimitiveComponent* OverlappedComp,
AActor*
Other, UPrimitiveComponent* OtherComp, int32 OtherBodyIndex,
bool bFromSweep, const FHitResult& SweepResult) override;
291 virtual
void StoreSetTrackingPaused(
bool bNewTrackingPaused) override;
300 virtual void SetInitialPosition(
ACharacter* C);
301 virtual void PrepMoveFor(
ACharacter* Character)
override;