Untitled
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