mirror of
https://github.com/raysan5/raylib.git
synced 2026-01-11 05:58:44 +01:00
Make CameraMove up and right work with Z up cameras like the other functions do. (#5458)
This commit is contained in:
@ -252,7 +252,12 @@ void CameraMoveForward(Camera *camera, float distance, bool moveInWorldPlane)
|
|||||||
|
|
||||||
if (moveInWorldPlane)
|
if (moveInWorldPlane)
|
||||||
{
|
{
|
||||||
// Project vector onto world plane
|
// 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.y = 0;
|
||||||
forward = Vector3Normalize(forward);
|
forward = Vector3Normalize(forward);
|
||||||
}
|
}
|
||||||
@ -285,8 +290,14 @@ void CameraMoveRight(Camera *camera, float distance, bool moveInWorldPlane)
|
|||||||
|
|
||||||
if (moveInWorldPlane)
|
if (moveInWorldPlane)
|
||||||
{
|
{
|
||||||
// Project vector onto world plane
|
// 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.y = 0;
|
||||||
|
|
||||||
right = Vector3Normalize(right);
|
right = Vector3Normalize(right);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user