sábado, 20 de junio de 2026

GDScript para hacer zoom con una camara3d;

 extends Camera3D


# --- Variables regulables desde el Inspector ---

@export_group("Configuración del Loop")

## La distancia máxima que se acercará y alejará la cámara desde su punto inicial.

@export var amplitud: float = 5.0


## La velocidad a la que se realiza el movimiento de vaivén.

@export var velocidad: float = 2.0



# --- Variables internas del sistema ---

var posicion_inicial: Vector3

var tiempo_acumulado: float = 0.0


func _ready() -> void:

# Guardamos la posición original en la que colocaste la cámara en el editor

posicion_inicial = global_position


func _process(delta: float) -> void:

# 1. Control de salida rápida del juego (Mantenemos tu función anterior)

if Input.is_key_pressed(KEY_ESCAPE):

get_tree().quit()

# 2. Lógica del bucle de enfoque (Acercar / Alejar)

tiempo_acumulado += delta * velocidad

# El seno oscila suavemente entre -1 y 1

var oscilacion: float = sin(tiempo_acumulado)

# Calculamos el desplazamiento en el eje Z (hacia adelante y hacia atrás)

var desplazamiento_z: float = oscilacion * amplitud

# Aplicamos el movimiento respecto a su posición inicial

global_position.z = posicion_inicial.z + desplazamiento_z



-----------------------------------------------------------------------------------------------------------------------

-----------------------------------------------------------------------------------------------------------------------

Explicacion: Jugando con la camara3d mediante programacion, hace  zoomm aleja y acerca aleatoriamente, y se puede regular desde el inspector gracias al @export.  La velocidad la amplitud.....