I'm trying to make a Relative Camera for a katamari fan game

Godot Version

4.4.1 Stable

Question

I’ve been trying to make a katamari fan game and I’m stuck because I can’t figure out how to make a relative camera. I don’t know what to do, here’s the code.

#####################################################################

extends RigidBody3D

#Variables
@export var rolling_force: float = 50.0
@export var Katamari_mass = 1.0
@export var Radius = 0.6
@export var camera_node: Camera3D

@onready var katamari_collision: CollisionShape3D = $CollisionShape3D
@onready var SpringArmPivot:Node3D = $SpringArmPivot
@onready var SpringArm:SpringArm3D = $SpringArmPivot/SpringArm3D
@onready var Camera:Camera3D = $SpringArmPivot/SpringArm3D/Camera3D
@onready var Katamari:RigidBody3D = $“.”

var current_rolling_force = rolling_force
var pickup_count: int = 0

#Functions
func _ready():
SpringArmPivot.top_level = true
katamari_collision.shape.radius = 0.5

func _physics_process(delta):
var old_camera_pos = SpringArmPivot.global_transform.origin
var ball_pos = global_transform.origin
var _new_camera_pos = lerp(old_camera_pos, ball_pos, 0.1)

if current_rolling_force > rolling_force:
	current_rolling_force = rolling_force
SpringArmPivot.global_transform.origin = global_transform.origin

#With this code here, I was trying to make a relative camera but I couldn’t figure out how to get two inputs at the same time (if its even possible).

var input_dir := Input.get_vector(“Left Left” “Right Left”, “Left Right” “Right Right”, “Left Up” “Right Up”, “Left Down” “Right Down”)

var direction := (SpringArmPivot.transform.basis * Vector3(input_dir.x, 0, input_dir.y)).normalized()

direction = direction.rotated(Vector3.UP, SpringArmPivot.rotation.y)

#Controls

#Katamari Controls
if Input.is_action_pressed("Left Up"):
	if Input.is_action_pressed("Right Up"):
		angular_velocity.x -= rolling_force * delta 
elif Input.is_action_pressed("Left Down"):
	if Input.is_action_pressed("Right Down"):
		angular_velocity.x += rolling_force * delta
if Input.is_action_pressed("Left Left"):
	if Input.is_action_pressed("Right Left"):
		angular_velocity.z += rolling_force * delta
elif Input.is_action_pressed("Left Right"):
	if Input.is_action_pressed("Right Right"):
		angular_velocity.z -= rolling_force * delta

#Camera Controls
if Input.is_action_pressed("Left Up"):
	if !Input.is_action_pressed("Right Up"):
		SpringArmPivot.rotation.y += -0.04
if Input.is_action_pressed("Right Up"):
	if !Input.is_action_pressed("Left Up"):
		SpringArmPivot.rotation.y += 0.04

if Input.is_action_pressed("Left Down"):
	if !Input.is_action_pressed("Right Down"):
		SpringArmPivot.rotation.y += 0.04
if Input.is_action_pressed("Right Down"):
	if !Input.is_action_pressed("Left Down"):
		SpringArmPivot.rotation.y += -0.04

#####################################################################

If anyone has any idea of what I could do, I would appreciate it a lot!