// -------------------------------------------------------------------------------------------------------------------- // // Copyright (c) VRMADA, All rights reserved. // // -------------------------------------------------------------------------------------------------------------------- using UnityEngine; namespace UltimateXR.Animation.Interpolation { /// /// Interpolator for . /// public class UxrQuaternionInterpolator : UxrVarInterpolator { #region Constructors & Finalizer /// /// Constructor. /// /// Smooth damp for interpolation [0.0, 1.0] where 0.0 means no smoothing /// Whether to use step interpolation, where the interpolation will always return the start value public UxrQuaternionInterpolator(float smoothDamp = 0.0f, bool useStep = false) : base(smoothDamp, useStep) { } #endregion #region Protected Overrides UxrVarInterpolator /// protected override Quaternion GetInterpolatedValue(Quaternion a, Quaternion b, float t) { return Quaternion.Slerp(a, b, t); } #endregion #region Public Types & Data /// /// Default interpolator with smoothing. /// public static readonly UxrQuaternionInterpolator DefaultInterpolator = new UxrQuaternionInterpolator(0.0f, false); #endregion } }