extends Node3D @export var capture_radius = 10.0 @export var low_speed = 1.0 @export var high_speed = 10.0 @export var pre = 1.0 @export var post = 1.0 # Called when the node enters the scene tree for the first time. func _ready(): pass # Replace with function body. # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta): var players = get_tree().get_nodes_in_group("Players") var shortest_distance = capture_radius for player in players: var player_dist = self.position.distance_to(player.position) shortest_distance = min(shortest_distance, player_dist) var weight = (capture_radius - shortest_distance) / capture_radius var spin_speed = cubic_interpolate(low_speed, high_speed, pre, post, weight) self.rotate_y(spin_speed * delta) func interact(other): var random_color = Color(randf(), randf(), randf()) $Koob.material.albedo_color = random_color print(other)