Advertisement
Guest User

Untitled

a guest
Aug 3rd, 2020
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.88 KB | None | 0 0
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4.  
  5. public class AudioVisualizer : MonoBehaviour
  6. {
  7. #region --------------------------------------- Private variables ---------------------------------------
  8. #region SerializeField
  9. [SerializeField] private GameObject musicCubePrefab = null;
  10. [SerializeField] private float maxScale;
  11. #endregion
  12. #region Non-SerializeField
  13. private int numOfSamples = 0;
  14. private GameObject[] _allTheCubes = null;
  15. #endregion
  16. #endregion ---------------------------------------
  17. #region ---------------------------- Private Methods ----------------------------
  18. #region -------------- Monobehaviour --------------
  19. private void Start()
  20. {
  21. numOfSamples = AudioPeer.numberOfSamples;
  22. _allTheCubes = new GameObject[numOfSamples];
  23. Debug.Log("num samples = " + numOfSamples);
  24.  
  25. // num of samples is 512
  26. for (int i = 0; i < numOfSamples; i++)
  27. {
  28. GameObject musicCubeInstance = Instantiate(musicCubePrefab);
  29. musicCubeInstance.transform.position = this.transform.position;
  30. musicCubeInstance.transform.parent = this.gameObject.transform;
  31. musicCubeInstance.name = "SampleMusicCube_" + i;
  32. this.transform.eulerAngles = new Vector3(0, -0.703f * i, 0); // 360/512 = 0.703
  33. musicCubeInstance.transform.position = Vector3.forward * 300;
  34. _allTheCubes[i] = musicCubeInstance;
  35. }
  36. }
  37.  
  38. private void Update()
  39. {
  40. for (int i = 0; i < numOfSamples; i++)
  41. {
  42. if (_allTheCubes != null)
  43. {
  44. _allTheCubes[i].transform.localScale = new Vector3(2.5f, AudioPeer.samples[i] * maxScale, 2.5f);
  45. }
  46. }
  47. }
  48. #endregion ----------------------------
  49. #endregion ----------------------------
  50. }
  51.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement