loads of changes
This commit is contained in:
1 parent
4726734370
commit
4833faed56
93 files changed
+36396
-23915
No files matched your search
@@ -0,0 +1,68 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine.Rendering;
|
||||
using UnityEngine;
|
||||
|
||||
public class MeshController : TripsitterAve
|
||||
{
|
||||
public int size = 128;
|
||||
public float spacing = 1.0f;
|
||||
public float AudioScale = 10.0f;
|
||||
public float Power = 1.5f;
|
||||
|
||||
MeshFilter meshFilter;
|
||||
Vector3[] vertices;
|
||||
|
||||
void Start() {
|
||||
meshFilter = GetComponent<MeshFilter>();
|
||||
Generate();
|
||||
}
|
||||
|
||||
void Update() {
|
||||
var spectrumData = GetSpectrumData();
|
||||
Mesh mesh = meshFilter.mesh;
|
||||
Vector3[] vertices = mesh.vertices;
|
||||
|
||||
for (int i = 0; i < vertices.Length; i++) {
|
||||
int s = i % SpectrumSize;
|
||||
var height = Mathf.Pow(spectrumData[s] * AudioScale, Power);
|
||||
vertices[i].y = height;
|
||||
}
|
||||
|
||||
mesh.vertices = vertices;
|
||||
mesh.RecalculateBounds();
|
||||
}
|
||||
|
||||
private void Generate() {
|
||||
Mesh mesh = new Mesh();
|
||||
mesh.name = "Audio Mesh";
|
||||
|
||||
vertices = new Vector3[(size + 1) * (size + 1)];
|
||||
for (int i = 0, z = 0; z <= size; z++) {
|
||||
for (int x = 0; x <= size; x++, i++) {
|
||||
vertices[i] = new Vector3(x, 0.0f, z);
|
||||
}
|
||||
}
|
||||
mesh.vertices = vertices;
|
||||
|
||||
int[] triangles = new int[size * size * 6];
|
||||
for (int ti = 0, vi = 0, z = 0; z < size; z++, vi++) {
|
||||
for (int x = 0; x < size; x++, ti += 6, vi++) {
|
||||
triangles[ti] = vi;
|
||||
triangles[ti + 3] = triangles[ti + 2] = vi + 1;
|
||||
triangles[ti + 4] = triangles[ti + 1] = vi + size + 1;
|
||||
triangles[ti + 5] = vi + size + 2;
|
||||
}
|
||||
}
|
||||
mesh.triangles = triangles;
|
||||
meshFilter.mesh = mesh;
|
||||
}
|
||||
|
||||
// private void OnDrawGizmos() {
|
||||
// if (vertices == null) return;
|
||||
// Gizmos.color = Color.black;
|
||||
// for (int i = 0; i < vertices.Length; i++) {
|
||||
// Gizmos.DrawSphere(vertices[i], 0.1f);
|
||||
// }
|
||||
// }
|
||||
}
|
||||
Reference in new issue
Block a user