Tank turret acting weirdly, and stops when it rotates full 180 degrees

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By fallondo

My tank turret acts weirdly when it has a high rotation speed and when it rotates full 360 degrees, it just stays stuck and doesnt move. Solution for that would be rotating the hull, but i still want to fix it anyway

extends KinematicBody

export var turretSpeed = 10

func _physics_process(delta):
var mouse_pos = get_viewport().get_mouse_position()

var origin = $Camroot/H/V/Camera.project_ray_origin(mouse_pos)
var target = origin + $Camroot/H/V/Camera.project_ray_normal(mouse_pos) * 10000

var new_transform_rot = $Turret.global_transform.looking_at(target, Vector3.UP)
var interpolated_rot = $Turret.global_transform.interpolate_with(new_transform_rot, turretSpeed * delta)
var direction = ($Turret.global_transform.basis.get_euler() - interpolated_rot.basis.get_euler()).sign()

$Turret.rotate_y(direction.y * turretSpeed * 0.1 * delta)