Untitled

 avatar
unknown
plain_text
9 days ago
580 B
5
Indexable
using UnityEngine;
using System.Collections;

public class SlerpRotation : MonoBehaviour {
    public Transform target;
    public AnimationCurve curve;
    public float duration = 1f;

    public void StartRotation() => StartCoroutine(Rotate());

    IEnumerator Rotate() {
        Quaternion start = transform.rotation;
        for (float t = 0; t < 1; t += Time.deltaTime / duration) {
            transform.rotation = Quaternion.Slerp(start, target.rotation, curve.Evaluate(t));
            yield return null;
        }
		
        transform.rotation = target.rotation;
    }
}
Leave a Comment