projectEli/Assets/NeoFPS/Core/Weapons/Shared/PoseTransitions.cs
2022-11-06 20:28:33 -05:00

148 lines
6.5 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace NeoFPS
{
public static class PoseTransitions
{
public static Vector3 PositionLerp(Vector3 source, Vector3 target, float lerp)
{
return Vector3.Lerp(source, target, lerp);
}
public static Vector3 PositionEaseInQuadratic(Vector3 source, Vector3 target, float lerp)
{
return Vector3.Lerp(source, target, EasingFunctions.EaseInQuadraticUnclamped(lerp));
}
public static Vector3 PositionEaseOutQuadratic(Vector3 source, Vector3 target, float lerp)
{
return Vector3.Lerp(source, target, EasingFunctions.EaseOutQuadraticUnclamped(lerp));
}
public static Vector3 PositionEaseInOutQuadratic(Vector3 source, Vector3 target, float lerp)
{
return Vector3.Lerp(source, target, EasingFunctions.EaseInOutQuadraticUnclamped(lerp));
}
public static Vector3 PositionEaseInCubic(Vector3 source, Vector3 target, float lerp)
{
return Vector3.Lerp(source, target, EasingFunctions.EaseInCubicUnclamped(lerp));
}
public static Vector3 PositionEaseOutCubic(Vector3 source, Vector3 target, float lerp)
{
return Vector3.Lerp(source, target, EasingFunctions.EaseOutCubicUnclamped(lerp));
}
public static Vector3 PositionEaseInOutCubic(Vector3 source, Vector3 target, float lerp)
{
return Vector3.Lerp(source, target, EasingFunctions.EaseInOutCubicUnclamped(lerp));
}
public static Vector3 PositionSwingUp(Vector3 source, Vector3 target, float lerp)
{
return new Vector3(
Mathf.Lerp(source.x, target.x, EasingFunctions.EaseOutQuadraticUnclamped(lerp)),
Mathf.Lerp(source.y, target.y, EasingFunctions.EaseInQuadraticUnclamped(lerp)),
Mathf.Lerp(source.z, target.z, lerp)
);
}
public static Vector3 PositionSwingAcross(Vector3 source, Vector3 target, float lerp)
{
return new Vector3(
Mathf.Lerp(source.x, target.x, EasingFunctions.EaseInQuadraticUnclamped(lerp)),
Mathf.Lerp(source.y, target.y, EasingFunctions.EaseOutQuadraticUnclamped(lerp)),
Mathf.Lerp(source.z, target.z, lerp)
);
}
public static Vector3 PositionOvershootIn(Vector3 source, Vector3 target, float lerp)
{
return Vector3.Lerp(source, target, EasingFunctions.EaseInOvershootUnclamped(lerp));
}
public static Vector3 PositionOvershootOut(Vector3 source, Vector3 target, float lerp)
{
return Vector3.Lerp(source, target, EasingFunctions.EaseOutOvershootUnclamped(lerp));
}
public static Vector3 PositionSpringIn(Vector3 source, Vector3 target, float lerp)
{
return Vector3.Lerp(source, target, EasingFunctions.EaseInSpringUnclamped(lerp));
}
public static Vector3 PositionSpringOut(Vector3 source, Vector3 target, float lerp)
{
return Vector3.Lerp(source, target, EasingFunctions.EaseOutSpringUnclamped(lerp));
}
public static Vector3 PositionBounceIn(Vector3 source, Vector3 target, float lerp)
{
return Vector3.Lerp(source, target, EasingFunctions.EaseInBounceUnclamped(lerp));
}
public static Vector3 PositionBounceOut(Vector3 source, Vector3 target, float lerp)
{
return Vector3.Lerp(source, target, EasingFunctions.EaseOutBounceUnclamped(lerp));
}
public static Quaternion RotationLerp(Quaternion source, Quaternion target, float lerp)
{
return Quaternion.Lerp(source, target, lerp);
}
public static Quaternion RotationSlerp(Quaternion source, Quaternion target, float lerp)
{
return Quaternion.Slerp(source, target, lerp);
}
public static Quaternion RotationEaseInQuadratic(Quaternion source, Quaternion target, float lerp)
{
return Quaternion.Lerp(source, target, EasingFunctions.EaseInQuadraticUnclamped(lerp));
}
public static Quaternion RotationEaseOutQuadratic(Quaternion source, Quaternion target, float lerp)
{
return Quaternion.Lerp(source, target, EasingFunctions.EaseOutQuadraticUnclamped(lerp));
}
public static Quaternion RotationEaseInOutQuadratic(Quaternion source, Quaternion target, float lerp)
{
return Quaternion.Lerp(source, target, EasingFunctions.EaseInOutQuadraticUnclamped(lerp));
}
public static Quaternion RotationEaseInCubic(Quaternion source, Quaternion target, float lerp)
{
return Quaternion.Lerp(source, target, EasingFunctions.EaseInCubicUnclamped(lerp));
}
public static Quaternion RotationEaseOutCubic(Quaternion source, Quaternion target, float lerp)
{
return Quaternion.Lerp(source, target, EasingFunctions.EaseOutCubicUnclamped(lerp));
}
public static Quaternion RotationEaseInOutCubic(Quaternion source, Quaternion target, float lerp)
{
return Quaternion.Lerp(source, target, EasingFunctions.EaseInOutCubicUnclamped(lerp));
}
public static Quaternion RotationOvershootIn(Quaternion source, Quaternion target, float lerp)
{
return Quaternion.Lerp(source, target, EasingFunctions.EaseInOvershootUnclamped(lerp));
}
public static Quaternion RotationOvershootOut(Quaternion source, Quaternion target, float lerp)
{
return Quaternion.Lerp(source, target, EasingFunctions.EaseOutOvershootUnclamped(lerp));
}
public static Quaternion RotationSpringIn(Quaternion source, Quaternion target, float lerp)
{
return Quaternion.Lerp(source, target, EasingFunctions.EaseInSpringUnclamped(lerp));
}
public static Quaternion RotationSpringOut(Quaternion source, Quaternion target, float lerp)
{
return Quaternion.Lerp(source, target, EasingFunctions.EaseOutSpringUnclamped(lerp));
}
public static Quaternion RotationBounceIn(Quaternion source, Quaternion target, float lerp)
{
return Quaternion.Lerp(source, target, EasingFunctions.EaseInBounceUnclamped(lerp));
}
public static Quaternion RotationBounceOut(Quaternion source, Quaternion target, float lerp)
{
return Quaternion.Lerp(source, target, EasingFunctions.EaseOutBounceUnclamped(lerp));
}
}
}