This commit is contained in:
bee
2026-07-07 08:17:45 +02:00
commit 2e28afebce
21 changed files with 961 additions and 0 deletions
+31
View File
@@ -0,0 +1,31 @@
extends Node3D
@export var target: Node3D
@export var sensitivity := 0.005
@export var follow_speed := 5.0
@export var cam: Camera3D
var _dragging := false
func _unhandled_input(event: InputEvent) -> void:
if event is InputEventMouseButton:
match event.button_index:
MOUSE_BUTTON_LEFT:
_dragging = event.pressed
MOUSE_BUTTON_WHEEL_UP:
cam.position.z = maxf(cam.position.z - 1.0, 3.0)
MOUSE_BUTTON_WHEEL_DOWN:
cam.position.z = minf(cam.position.z + 1.0, 30.0)
elif event is InputEventMouseMotion and _dragging:
rotation.y -= event.relative.x * sensitivity
rotation.x = clampf(
rotation.x - event.relative.y * sensitivity,
deg_to_rad(-80.0),
deg_to_rad(-10.0)
)
func _process(delta: float) -> void:
if target:
global_position = global_position.lerp(target.global_position, follow_speed * delta)