extends Camera2D
@export_category("targeting")
@export var target: Node2D
@export var minimun_distance := 160.0
@export_custom(PROPERTY_HINT_LINK, "link") var camera_border_offset := Vector2(0.2, 0.2)
func _process(delta: float) -> void:
var interpolated_position: Vector2
if target:
var target_pos = target.position
var average_pos: Vector2 = (get_parent().global_position + target_pos) / 2
interpolated_position = lerp(global_position, average_pos, delta*5)
var zoom_amount: float = clamp(get_parent().position.distance_to(target_pos), minimun_distance, INF)/1000
zoom = lerp(
zoom,
Vector2.ONE/(zoom_amount) - camera_border_offset*Vector2.ONE/(zoom_amount),
delta*2
)
else:
interpolated_position = lerp(global_position, get_parent().global_position, delta*5)
global_position = interpolated_position
script should be attached to camera2d, camera2d inherits player.
i would like to upload the video but unfortunately i cant