Damping.cs 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. 
  2. // =================================
  3. // Namespaces.
  4. // =================================
  5. using UnityEngine;
  6. // =================================
  7. // Define namespace.
  8. // =================================
  9. namespace MirzaBeig
  10. {
  11. namespace Demos
  12. {
  13. namespace TheLastParticle
  14. {
  15. // =================================
  16. // Classes.
  17. // =================================
  18. //[ExecuteInEditMode]
  19. [System.Serializable]
  20. public static class Damping
  21. {
  22. // =================================
  23. // Nested classes and structures.
  24. // =================================
  25. // ...
  26. // =================================
  27. // Variables.
  28. // =================================
  29. // ...
  30. // =================================
  31. // Functions.
  32. // =================================
  33. // ...
  34. public static float dampFloat(float from, float to, float speed, float deltaTime)
  35. {
  36. return Mathf.Lerp(from, to, 1.0f - Mathf.Exp(-speed * deltaTime));
  37. }
  38. public static Vector3 dampVector3(Vector3 from, Vector3 to, float speed, float deltaTime)
  39. {
  40. return Vector3.Lerp(from, to, 1.0f - Mathf.Exp(-speed * deltaTime));
  41. }
  42. public static Quaternion dampQuaternion(Quaternion from, Quaternion to, float speed, float deltaTime)
  43. {
  44. return Quaternion.Slerp(from, to, 1.0f - Mathf.Exp(-speed * deltaTime));
  45. }
  46. // =================================
  47. // End functions.
  48. // =================================
  49. }
  50. // =================================
  51. // End namespace.
  52. // =================================
  53. }
  54. }
  55. }
  56. // =================================
  57. // --END-- //
  58. // =================================