I have a camera and i want it to be able to look in any direction, and have the user move it in 2D.
Pseudo Code
const matrix = new Matrix4();
const dir = new Vector3(0, 0, -1)
// I need a way to rotate dir, so that i move forwards.
// i also need to control the y position separately because i have super basic physics.
matrix.setPosition(dir.x, 0, dir.z);
camera.applyMatrix(matrix);
@Mugen87 the issue that im having is that when i apply the cameras quaternion, i have no way (at least to my knowledge) to constrain the movement to two axis.
using this image as a visual representation i want to move in the red and green directions but not in the blue direction and i want the movement to be relative to the cameras y rotation.
Why don’t you add the displacement vector (the offset along the look direction) only to the x/z coordinates? It seems you are already doing this in your first code snippet?
it works now, i thought i already tried that since its the obvious thing to do, i got stuck on something that i already solved yay thats always fun, anyways thanks for your help.