|
@ -196,12 +196,12 @@ RLAPI Matrix GetCameraProjectionMatrix(Camera* camera, float aspect); |
|
|
//---------------------------------------------------------------------------------- |
|
|
//---------------------------------------------------------------------------------- |
|
|
// Defines and Macros |
|
|
// Defines and Macros |
|
|
//---------------------------------------------------------------------------------- |
|
|
//---------------------------------------------------------------------------------- |
|
|
#define CAMERA_MOVE_SPEED 0.09f |
|
|
|
|
|
|
|
|
#define CAMERA_MOVE_SPEED 5.4f // Units per second |
|
|
#define CAMERA_ROTATION_SPEED 0.03f |
|
|
#define CAMERA_ROTATION_SPEED 0.03f |
|
|
#define CAMERA_PAN_SPEED 0.2f |
|
|
#define CAMERA_PAN_SPEED 0.2f |
|
|
|
|
|
|
|
|
// Camera mouse movement sensitivity |
|
|
// Camera mouse movement sensitivity |
|
|
#define CAMERA_MOUSE_MOVE_SENSITIVITY 0.003f // TODO: it should be independant of framerate |
|
|
|
|
|
|
|
|
#define CAMERA_MOUSE_MOVE_SENSITIVITY 0.003f |
|
|
|
|
|
|
|
|
// Camera orbital speed in CAMERA_ORBITAL mode |
|
|
// Camera orbital speed in CAMERA_ORBITAL mode |
|
|
#define CAMERA_ORBITAL_SPEED 0.5f // Radians per second |
|
|
#define CAMERA_ORBITAL_SPEED 0.5f // Radians per second |
|
@ -481,10 +481,11 @@ void UpdateCamera(Camera *camera, int mode) |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// Keyboard support |
|
|
// Keyboard support |
|
|
if (IsKeyDown(KEY_W)) CameraMoveForward(camera, CAMERA_MOVE_SPEED, moveInWorldPlane); |
|
|
|
|
|
if (IsKeyDown(KEY_A)) CameraMoveRight(camera, -CAMERA_MOVE_SPEED, moveInWorldPlane); |
|
|
|
|
|
if (IsKeyDown(KEY_S)) CameraMoveForward(camera, -CAMERA_MOVE_SPEED, moveInWorldPlane); |
|
|
|
|
|
if (IsKeyDown(KEY_D)) CameraMoveRight(camera, CAMERA_MOVE_SPEED, moveInWorldPlane); |
|
|
|
|
|
|
|
|
float cameraMoveSpeed = CAMERA_MOVE_SPEED*GetFrameTime(); |
|
|
|
|
|
if (IsKeyDown(KEY_W)) CameraMoveForward(camera, cameraMoveSpeed, moveInWorldPlane); |
|
|
|
|
|
if (IsKeyDown(KEY_A)) CameraMoveRight(camera, -cameraMoveSpeed, moveInWorldPlane); |
|
|
|
|
|
if (IsKeyDown(KEY_S)) CameraMoveForward(camera, -cameraMoveSpeed, moveInWorldPlane); |
|
|
|
|
|
if (IsKeyDown(KEY_D)) CameraMoveRight(camera, cameraMoveSpeed, moveInWorldPlane); |
|
|
|
|
|
|
|
|
// Gamepad movement |
|
|
// Gamepad movement |
|
|
if (IsGamepadAvailable(0)) |
|
|
if (IsGamepadAvailable(0)) |
|
@ -493,16 +494,16 @@ void UpdateCamera(Camera *camera, int mode) |
|
|
CameraYaw(camera, -(GetGamepadAxisMovement(0, GAMEPAD_AXIS_RIGHT_X)*2)*CAMERA_MOUSE_MOVE_SENSITIVITY, rotateAroundTarget); |
|
|
CameraYaw(camera, -(GetGamepadAxisMovement(0, GAMEPAD_AXIS_RIGHT_X)*2)*CAMERA_MOUSE_MOVE_SENSITIVITY, rotateAroundTarget); |
|
|
CameraPitch(camera, -(GetGamepadAxisMovement(0, GAMEPAD_AXIS_RIGHT_Y)*2)*CAMERA_MOUSE_MOVE_SENSITIVITY, lockView, rotateAroundTarget, rotateUp); |
|
|
CameraPitch(camera, -(GetGamepadAxisMovement(0, GAMEPAD_AXIS_RIGHT_Y)*2)*CAMERA_MOUSE_MOVE_SENSITIVITY, lockView, rotateAroundTarget, rotateUp); |
|
|
|
|
|
|
|
|
if (GetGamepadAxisMovement(0, GAMEPAD_AXIS_LEFT_Y) <= -0.25f) CameraMoveForward(camera, CAMERA_MOVE_SPEED, moveInWorldPlane); |
|
|
|
|
|
if (GetGamepadAxisMovement(0, GAMEPAD_AXIS_LEFT_X) <= -0.25f) CameraMoveRight(camera, -CAMERA_MOVE_SPEED, moveInWorldPlane); |
|
|
|
|
|
if (GetGamepadAxisMovement(0, GAMEPAD_AXIS_LEFT_Y) >= 0.25f) CameraMoveForward(camera, -CAMERA_MOVE_SPEED, moveInWorldPlane); |
|
|
|
|
|
if (GetGamepadAxisMovement(0, GAMEPAD_AXIS_LEFT_X) >= 0.25f) CameraMoveRight(camera, CAMERA_MOVE_SPEED, moveInWorldPlane); |
|
|
|
|
|
|
|
|
if (GetGamepadAxisMovement(0, GAMEPAD_AXIS_LEFT_Y) <= -0.25f) CameraMoveForward(camera, cameraMoveSpeed, moveInWorldPlane); |
|
|
|
|
|
if (GetGamepadAxisMovement(0, GAMEPAD_AXIS_LEFT_X) <= -0.25f) CameraMoveRight(camera, -cameraMoveSpeed, moveInWorldPlane); |
|
|
|
|
|
if (GetGamepadAxisMovement(0, GAMEPAD_AXIS_LEFT_Y) >= 0.25f) CameraMoveForward(camera, -cameraMoveSpeed, moveInWorldPlane); |
|
|
|
|
|
if (GetGamepadAxisMovement(0, GAMEPAD_AXIS_LEFT_X) >= 0.25f) CameraMoveRight(camera, cameraMoveSpeed, moveInWorldPlane); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
if (mode == CAMERA_FREE) |
|
|
if (mode == CAMERA_FREE) |
|
|
{ |
|
|
{ |
|
|
if (IsKeyDown(KEY_SPACE)) CameraMoveUp(camera, CAMERA_MOVE_SPEED); |
|
|
|
|
|
if (IsKeyDown(KEY_LEFT_CONTROL)) CameraMoveUp(camera, -CAMERA_MOVE_SPEED); |
|
|
|
|
|
|
|
|
if (IsKeyDown(KEY_SPACE)) CameraMoveUp(camera, cameraMoveSpeed); |
|
|
|
|
|
if (IsKeyDown(KEY_LEFT_CONTROL)) CameraMoveUp(camera, -cameraMoveSpeed); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|