godot 3d slowly rotate towards object

Rotating an Object Towards Another Object in Godot Using GDScript

To slowly rotate an object towards another object in Godot using GDScript, you can use the look_at method combined with a gradual rotation over time. Here's an example of how you can achieve this:

extends Spatial

var target : Spatial
var rotation_speed = 0.1

func _process(delta):
    if target:
        var direction = (target.global_transform.origin - global_transform.origin).normalized()
        var target_rotation = direction.rotation_quat(Vector3.UP)
        rotation = rotation.slerp(target_rotation, rotation_speed * delta)

In this example, the target variable represents the object you want to rotate towards. The rotation_speed variable determines how fast the rotation occurs. The _process function is called every frame and updates the rotation of the object towards the target using the slerp method for smooth interpolation.

This code gradually rotates the object towards the target over time, creating a smooth and slow rotation effect.

Note: Ensure that the target variable is set to the object you want to rotate towards before running the code.

I hope this helps!