VolumeAndPitchNoiseOverTime.cs 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. 
  2. // =================================
  3. // Namespaces.
  4. // =================================
  5. using UnityEngine;
  6. using MirzaBeig.ParticleSystems;
  7. // =================================
  8. // Define namespace.
  9. // =================================
  10. namespace MirzaBeig
  11. {
  12. namespace Demos
  13. {
  14. namespace TheLastParticle
  15. {
  16. // =================================
  17. // Classes.
  18. // =================================
  19. //[ExecuteInEditMode]
  20. [System.Serializable]
  21. public class VolumeAndPitchNoiseOverTime : MonoBehaviour
  22. {
  23. // =================================
  24. // Nested classes and structures.
  25. // =================================
  26. // ...
  27. // =================================
  28. // Variables.
  29. // =================================
  30. // ...
  31. AudioSource audioSource;
  32. public float baseVolume = 0.5f;
  33. public float basePitch = 1.0f;
  34. // ...
  35. public MirzaBeig.ParticleSystems.PerlinNoise volumeNoise;
  36. public MirzaBeig.ParticleSystems.PerlinNoise pitchNoise;
  37. public bool unscaledTime;
  38. // =================================
  39. // Functions.
  40. // =================================
  41. // ...
  42. void Start()
  43. {
  44. audioSource = GetComponent<AudioSource>();
  45. volumeNoise.init();
  46. pitchNoise.init();
  47. }
  48. // ...
  49. void Update()
  50. {
  51. float time = !unscaledTime ? Time.time : Time.unscaledTime;
  52. audioSource.volume = baseVolume + volumeNoise.GetValue(time);
  53. audioSource.pitch = basePitch + pitchNoise.GetValue(time);
  54. }
  55. // =================================
  56. // End functions.
  57. // =================================
  58. }
  59. // =================================
  60. // End namespace.
  61. // =================================
  62. }
  63. }
  64. }
  65. // =================================
  66. // --END-- //
  67. // =================================