diff options
Diffstat (limited to 'client/player')
| -rw-r--r-- | client/player/follow_camera.gd | 7 | 
1 files changed, 5 insertions, 2 deletions
| diff --git a/client/player/follow_camera.gd b/client/player/follow_camera.gd index 5440f8b1..3c993ee0 100644 --- a/client/player/follow_camera.gd +++ b/client/player/follow_camera.gd @@ -2,6 +2,7 @@  # Copyright 2024 nokoe  # Copyright 2024 tpart  # Copyright 2024 metamuffin +# Copyright 2024 BigBrotherNii  #  # This program is free software: you can redistribute it and/or modify  # it under the terms of the GNU Affero General Public License as published by @@ -31,6 +32,7 @@ const ZOOM_SPEED_DISCRETE: float = 1.0  const ZOOM_WEIGHT: float = 10.0  const MAX_ZOOM: float = 20.0  const MIN_ZOOM: float = 2.0 +const ZOOM_CURRENT_TO_MAX_RATIO: float = 1.35  @export var target: Node3D @@ -90,10 +92,11 @@ func follow(delta):  	camera_distance_target += Input.get_axis("zoom_in", "zoom_out") * ZOOM_SPEED * delta +	# (ZOOM_CURRENT_TO_MAX_RATIO * camera_distance_target / MAX_ZOOM) simulates the exponential zooming for the mouse  	if Input.is_action_just_pressed("zoom_in_discrete"): -		camera_distance_target -= ZOOM_SPEED_DISCRETE +		camera_distance_target -= ZOOM_SPEED_DISCRETE * (ZOOM_CURRENT_TO_MAX_RATIO * camera_distance_target / MAX_ZOOM)  	elif Input.is_action_just_pressed("zoom_out_discrete"): -		camera_distance_target += ZOOM_SPEED_DISCRETE +		camera_distance_target += ZOOM_SPEED_DISCRETE * (ZOOM_CURRENT_TO_MAX_RATIO * camera_distance_target / MAX_ZOOM)  	camera_distance_target = clamp(camera_distance_target, MIN_ZOOM, MAX_ZOOM) | 
