I have a particular 3d view where I want to slide the camera forward parallel to a plane. It starts slightly elevated above the plane and I use looking_at to look down at the origin. So the camera perspective is not normal to the origin and it's not parallel, it's down at an angle. I think to do this I'd like to...
fn system(camera: Query<&mut Transform>) {
camera.transform = camera.transform.forward().project_onto(<xz plane>)
Because if I can only use the projection onto the plane the y value will never change. What's the best way to calculate 'forward' and 'backward' with staying parallel to the xz plane?