Browse Source

Make CameraMove up and right work with Z up cameras like the other functions do. (#5458)

pull/5459/head
Jeffery Myers 1 week ago
committed by GitHub
parent
commit
0133a4e6c6
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
1 changed files with 15 additions and 4 deletions
  1. +15
    -4
      src/rcamera.h

+ 15
- 4
src/rcamera.h View File

@ -252,8 +252,13 @@ void CameraMoveForward(Camera *camera, float distance, bool moveInWorldPlane)
if (moveInWorldPlane)
{
// Project vector onto world plane
forward.y = 0;
// Project vector onto world plane (the plane defined by the up vector)
if (fabsf(camera->up.z) > 0)
forward.z = 0;
else if (fabsf(camera->up.x) > 0)
forward.x = 0;
else
forward.y = 0;
forward = Vector3Normalize(forward);
}
@ -285,8 +290,14 @@ void CameraMoveRight(Camera *camera, float distance, bool moveInWorldPlane)
if (moveInWorldPlane)
{
// Project vector onto world plane
right.y = 0;
// Project vector onto world plane (the plane defined by the up vector)
if (fabsf(camera->up.z) > 0)
right.z = 0;
else if (fabsf(camera->up.x) > 0)
right.x = 0;
else
right.y = 0;
right = Vector3Normalize(right);
}

Loading…
Cancel
Save