aboutsummaryrefslogtreecommitdiff
path: root/client/player
diff options
context:
space:
mode:
Diffstat (limited to 'client/player')
-rw-r--r--client/player/follow_camera.gd4
1 files changed, 3 insertions, 1 deletions
diff --git a/client/player/follow_camera.gd b/client/player/follow_camera.gd
index f7a00c64..447540f3 100644
--- a/client/player/follow_camera.gd
+++ b/client/player/follow_camera.gd
@@ -27,6 +27,7 @@ const ANGLE_UP_MIN: float = 0.5
const ANGLE_UP_MAX: float = 0.4999 * PI
const LOOK_WEIGHT: float = 8.0
const MOVE_WEIGHT: float = 2.0
+const ZOOM_WEIGHT_AUTO: float = 0.5
const ZOOM_SPEED: float = 1.0
const DISCRETE_DURATION: float = 0.3
const ZOOM_WEIGHT: float = 10.0
@@ -36,6 +37,7 @@ const ZOOM_CURRENT_TO_MAX_RATIO: float = 1.35
@export var target: Node3D
+var autozoom: bool = false
var angle_target: float = 0
var angle: float = 0
var angle_up_target: float = 1
@@ -113,7 +115,7 @@ func follow(delta):
camera_distance_target *= exp(zoom_dist * ZOOM_SPEED)
camera_distance_target = clamp(camera_distance_target, MIN_ZOOM, MAX_ZOOM)
- camera_distance = G.interpolate(camera_distance, camera_distance_target, delta * ZOOM_WEIGHT)
+ camera_distance = G.interpolate(camera_distance, camera_distance_target, delta * (ZOOM_WEIGHT_AUTO if autozoom else ZOOM_WEIGHT))
position = ground + offset
if target.get_parent() is ControllablePlayer: