diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 20ea821a08c9275202be6750bcc45bab43f99419..8ce48654ef858bfa14c891f216af48eb3820eb05 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -148,7 +148,7 @@ Build_Linux_Without_Cluster: artifacts: true # Deploys to vrdev -Deploy_Windows: +.Deploy_Windows: rules: - if: $CI_PIPELINE_SOURCE == "web" - if: $CI_PIPELINE_SOURCE == "schedule" diff --git a/Source/RWTHVRToolkit/Private/Pawn/Navigation/CollisionHandlingMovement.cpp b/Source/RWTHVRToolkit/Private/Pawn/Navigation/CollisionHandlingMovement.cpp index b565b58a43154ece41c681a371434770e5171d60..d75c4d401caf16d8485458db2ed4f4e78c4689d3 100644 --- a/Source/RWTHVRToolkit/Private/Pawn/Navigation/CollisionHandlingMovement.cpp +++ b/Source/RWTHVRToolkit/Private/Pawn/Navigation/CollisionHandlingMovement.cpp @@ -41,8 +41,11 @@ void UCollisionHandlingMovement::TickComponent(float DeltaTime, enum ELevelTick { // you are only allowed to move horizontally in NAV_WALK // everything else will be handled by stepping-up/gravity - // so remove Z component for the input vector of the UFloatingPawnMovement - InputVector.Z = 0.0f; + // so rotate the input vector onto horizontal plane + const FRotator InputRot = FRotator(InputVector.Rotation()); + const FRotator InputYaw = FRotator(0, InputRot.Yaw, 0); + InputVector = InputRot.UnrotateVector(InputVector); + InputVector = InputYaw.RotateVector(InputVector); ConsumeInputVector(); AddInputVector(InputVector); } @@ -67,13 +70,8 @@ void UCollisionHandlingMovement::TickComponent(float DeltaTime, enum ELevelTick } } - // in case we are in a collision and collision checks are temporarily deactivated, we only allow physical - // movement without any checks, otherwise check collision during physical movement - if (bCollisionChecksTemporarilyDeactivated) - { - ConsumeInputVector(); - } - else + // in case we are in a collision and collision checks are temporarily deactivated. + if (!bCollisionChecksTemporarilyDeactivated) { // so we add stepping-up (for both walk and fly) // and gravity for walking only