The best thing IMO to do when using a 3D camera, for moving a marble, is to make it like the football games where up/down/left/right are translated to the actual directions as seen by you.
So, if the user presses up, you move the player forward relative to the camera's direction. If the user presses left, you move the player left relative to the camera, (ie EntityYaw(camera)-90 ) Of course, when the camera turns, the direction corresponding to the cursor keys changes so if you keep holding down left you end up running around the camera.
This is the same kind of movement system used in sports games like Actua Soccer.
So, if the user presses up, you move the player forward relative to the camera's direction. If the user presses left, you move the player left relative to the camera, (ie EntityYaw(camera)-90 ) Of course, when the camera turns, the direction corresponding to the cursor keys changes so if you keep holding down left you end up running around the camera.
This is the same kind of movement system used in sports games like Actua Soccer.