I am trying to get a zoom working on the camera by translating along the axis in the direction of the cameras lens, but its just translating along the world z-axis
# get input directions
var input_direction = Input.get_vector("left", "right", "up", "down")
var movement_direction = (transform.basis * Vector3(input_direction.x + input_direction.y, 0 , input_direction.y - input_direction.x)).normalized()
var rotate_keys = Input.get_axis("rotate_left", "rotate_right")
var zoom_dir = (int(Input.is_action_just_released("camera_zoom_out")) -
int(Input.is_action_just_released("camera_zoom_in")))
# set movement targets
move_target += move_speed * movement_direction
rotate_key_target += rotate_keys * rotate_key_speed
zoom_target += zoom_dir * zoom_speed
# lerp to target
position = lerp(position, move_target, 0.1)
rotation_degrees.y = lerp(rotation_degrees.y, rotate_key_target, 0.05)
camera.position.z = lerp(camera.position.z, zoom_target, 0.10)
I have the camera rotated to be pointing down in an isometric kind of setup. Any help is much appreciated. Pic for reference