Camera movement in vectors and collision

Godot Version

4.2.1

Question

I have 2 questions

  1. I have this code
    extends Camera3D

const SPEED = 0.03

var floor_colide = false
var wall_colide = false

@onready var player := $“.”
@onready var collision = $RayCast3D

func _camera_movement():
if Input.is_action_just_pressed(“Camera Right”):
rotate_y(- 1.6)

if Input.is_action_just_pressed("Camera Left"):			
	rotate_y(+ 1.6)

if Input.is_action_just_pressed("Camera Back"):			
	rotate_y(+ 3.2)

func _player_movement():
var input_dir = Input.get_vector(“Left”, “Right”, “Forward”, “Nothing”)

var gridPosition = transform.basis * Vector3(input_dir.x, 0, input_dir.y)

transform.origin = lerp(transform.origin, gridPosition, SPEED)

func _physics_process(delta):
_camera_movement()

collision.collision_mask = 1;
collision.set_collision_mask(collision.collision_mask)
collision.get_collision_mask()

_player_movement(),

but the camera moves back to its initial position(I’m trying to do a movement based in vectors and the player is a Camera3D with a mesh and raycast)

  1. I was trying to do a raycast to detect collisions with walls or the floor but I don’t know how to doit