28 lines
888 B
C#
28 lines
888 B
C#
using UnityEngine;
|
|
|
|
public class LineSpectrum : TripsitterAve {
|
|
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);
|
|
}
|
|
}
|
|
|