class AnimationUtility

Inherits: IScriptExportable

Helper class for dealing with animations, animation clips and curves.

Public

Methods

staticWrapTime

static void WrapTime(float &time, float start, float end, bool loop)

Wraps or clamps the provided time value between the provided range.

time
Time value to wrap/clamp.
start
Start of the range.
end
End of the range.
loop
If true the value will be wrapped, otherwise clamped to range.

staticEulerToQuaternionCurve

static SPtr<TAnimationCurve<Quaternion>> EulerToQuaternionCurve(const SPtr<TAnimationCurve<Vector3>> &eulerCurve, EulerAngleOrder order = EulerAngleOrder::YXZ)

Converts a curve in euler angles (in degrees) into a curve using quaternions.

staticQuaternionToEulerCurve

static SPtr<TAnimationCurve<Vector3>> QuaternionToEulerCurve(const SPtr<TAnimationCurve<Quaternion>> &quatCurve)

Converts a curve in quaternions into a curve using euler angles (in degrees).

staticSplitCurve3D

static Vector<SPtr<TAnimationCurve<float>>> SplitCurve3D(const SPtr<TAnimationCurve<Vector3>> &compoundCurve)

Splits a Vector3 curve into three individual curves, one for each component.

staticCombineCurve3D

static SPtr<TAnimationCurve<Vector3>> CombineCurve3D(const Vector<SPtr<TAnimationCurve<float>>> &curveComponents)

Combines three single component curves into a Vector3 curve.

staticSplitCurve2D

static Vector<SPtr<TAnimationCurve<float>>> SplitCurve2D(const SPtr<TAnimationCurve<Vector2>> &compoundCurve)

Splits a Vector2 curve into two individual curves, one for each component.

staticCombineCurve2D

static SPtr<TAnimationCurve<Vector2>> CombineCurve2D(const Vector<SPtr<TAnimationCurve<float>>> &curveComponents)

Combines two single component curves into a Vector2 curve.

staticCalculateRange

static void CalculateRange(const Vector<TAnimationCurve<float>> &curves, float &outXMin, float &outXMax, float &outYMin, float &outYMax)

Calculates the total range covered by a set of curves.

curves
Curves to calculate range for.
outXMin
Minimum time value present in the curves.
outXMax
Maximum time value present in the curves.
outYMin
Minimum curve value present in the curves.
outYMax
Maximum curve value present in the curves.

staticCalculateRange

static void CalculateRange(const Vector<SPtr<TAnimationCurve<float>>> &curves, float &outXMin, float &outXMax, float &outYMin, float &outYMax)