sábado, 15 de agosto de 2026

GDScript para camara 3d en Godot 4.7, se mueve con el mouse y al presionar escape sales del juego;

 extends Camera3D


# Sensibilidad del ratón (ajusta este valor a tu gusto)

@export var mouse_sensitivity: float = 0.003


# Variables para controlar los límites de rotación vertical (mirar arriba/abajo)

var rotation_x: float = 0.0


func _ready() -> void:

# Captura y oculta el puntero del ratón en la pantalla

Input.mouse_mode = Input.MOUSE_MODE_CAPTURED


func _unhandled_input(event: InputEvent) -> void:

# 1. Salir del juego si se presiona la tecla Escape

if event.is_action_pressed("ui_cancel") or (event is InputEventKey and event.pressed and event.keycode == KEY_ESCAPE):

get_tree().quit()


# 2. Control de la cámara con el movimiento del ratón

if event is InputEventMouseMotion and Input.mouse_mode == Input.MOUSE_MODE_CAPTURED:

# Giro horizontal (Eje Y)

rotate_y(-event.relative.x * mouse_sensitivity)

# Giro vertical (Eje X) con límite para no dar la vuelta completa

rotation_x -= event.relative.y * mouse_sensitivity

rotation_x = clamp(rotation_x, deg_to_rad(-89.0), deg_to_rad(89.0))

# Aplicamos la rotación vertical a la cámara

rotation.x = rotation_x

No hay comentarios:

Publicar un comentario