Untitled

 avatar
unknown
plain_text
16 days ago
585 B
7
Indexable
using UnityEngine;
using System.Collections;

public class SlerpRotation : MonoBehaviour {
    public Quaternion targetRotation;
    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, targetRotation, curve.Evaluate(t));
            yield return null;
        }

        transform.rotation = targetRotation;
    }
}
Leave a Comment