CameraShakePresets.cs 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. using UnityEngine;
  2. using System.Collections;
  3. public static class CameraShakePresets
  4. {
  5. /// <summary>
  6. /// [One-Shot] A high magnitude, short, yet smooth shake.
  7. /// </summary>
  8. public static CameraShakeInstance Bump
  9. {
  10. get
  11. {
  12. CameraShakeInstance c = new CameraShakeInstance(2.5f, 4, 0.1f, 0.75f);
  13. c.PositionInfluence = Vector3.one * 0.15f;
  14. c.RotationInfluence = Vector3.one;
  15. return c;
  16. }
  17. }
  18. /// <summary>
  19. /// [One-Shot] An intense and rough shake.
  20. /// </summary>
  21. public static CameraShakeInstance Explosion
  22. {
  23. get
  24. {
  25. CameraShakeInstance c = new CameraShakeInstance(5f, 10, 0, 1.5f);
  26. c.PositionInfluence = Vector3.one * 0.25f;
  27. c.RotationInfluence = new Vector3(4, 1, 1);
  28. return c;
  29. }
  30. }
  31. /// <summary>
  32. /// [Sustained] A continuous, rough shake.
  33. /// </summary>
  34. public static CameraShakeInstance Earthquake
  35. {
  36. get
  37. {
  38. CameraShakeInstance c = new CameraShakeInstance(0.6f, 3.5f, 2f, 10f);
  39. c.PositionInfluence = Vector3.one * 0.25f;
  40. c.RotationInfluence = new Vector3(1, 1, 4);
  41. return c;
  42. }
  43. }
  44. /// <summary>
  45. /// [Sustained] A bizarre shake with a very high magnitude and low roughness.
  46. /// </summary>
  47. public static CameraShakeInstance BadTrip
  48. {
  49. get
  50. {
  51. CameraShakeInstance c = new CameraShakeInstance(10f, 0.15f, 5f, 10f);
  52. c.PositionInfluence = new Vector3(0, 0, 0.15f);
  53. c.RotationInfluence = new Vector3(2, 1, 4);
  54. return c;
  55. }
  56. }
  57. /// <summary>
  58. /// [Sustained] A subtle, slow shake.
  59. /// </summary>
  60. public static CameraShakeInstance HandheldCamera
  61. {
  62. get
  63. {
  64. CameraShakeInstance c = new CameraShakeInstance(1f, 0.25f, 5f, 10f);
  65. c.PositionInfluence = Vector3.zero;
  66. c.RotationInfluence = new Vector3(1, 0.5f, 0.5f);
  67. return c;
  68. }
  69. }
  70. /// <summary>
  71. /// [Sustained] A very rough, yet low magnitude shake.
  72. /// </summary>
  73. public static CameraShakeInstance Vibration
  74. {
  75. get
  76. {
  77. CameraShakeInstance c = new CameraShakeInstance(0.4f, 20f, 2f, 2f);
  78. c.PositionInfluence = new Vector3(0, 0.15f, 0);
  79. c.RotationInfluence = new Vector3(1.25f, 0, 4);
  80. return c;
  81. }
  82. }
  83. /// <summary>
  84. /// [Sustained] A slightly rough, medium magnitude shake.
  85. /// </summary>
  86. public static CameraShakeInstance RoughDriving
  87. {
  88. get
  89. {
  90. CameraShakeInstance c = new CameraShakeInstance(1, 2f, 1f, 1f);
  91. c.PositionInfluence = Vector3.zero;
  92. c.RotationInfluence = Vector3.one;
  93. return c;
  94. }
  95. }
  96. }