Files
kaiju/Assets/LineSpectrum.cs
T
2022-01-20 14:19:25 +11:00

32 lines
1006 B
C#

using UnityEngine;
public class LineSpectrum : TripsitterAve {
private GameObject[] _spectrumBars;
private Vector3[] _originalPositions;
private Vector3 _originalScale;
private float AudioScale = 10;
private float Power = 1.5f;
void Start() {
LineRenderer lineRenderer = gameObject.AddComponent<LineRenderer>();
lineRenderer.material = new Material(Shader.Find("Sprites/Default"));
lineRenderer.widthMultiplier = 0.5f;
lineRenderer.positionCount = SpectrumSize;
Debug.Log("{SpectrumSize}");
}
void Update() {
LineRenderer lineRenderer = GetComponent<LineRenderer>();
var spectrumData = GetSpectrumData();
var points = new Vector3[SpectrumSize];
for (int i = 0; i < SpectrumSize; i++)
{
var audioScale = Mathf.Pow(spectrumData[i] * AudioScale, Power);
points[i] = new Vector3(i * 1.0f, audioScale, 0.0f);
}
lineRenderer.SetPositions(points);
}
}