Music Visualization

I made a music visualizer with Udon!

Video:

UnityPackage:

4 Likes

The core of this is actually the Geometry – which is an Ico sphere that I made in Blender, separated all the faces, then set the object origins to each face center.

In Unity, I made a few anims to scale and move the triangles, then setup anim trigger parameters to drive them.

The Udon part: I made a song object that holds the audio file (actually a Mod tracker file). The Udon graph on this song object has 2 large float arrays that hold the FFT results from GetSpectrumData (called every Update).

The two other Udon graphs are very similar (in fact I copied the entire object after making one). They drive an icosphere mesh as made above. One is the sphere in the center, and one is the background. The Udon graphs get the FFT data using GetProgramVariable and access individual elements of the array for the frequency data. The foreground object gets lower indices (bass notes) while the background gets higher indices (mid/treble notes)

That goes through a network of summing (i sum the levels for r/l channels) and scaling to do the magic. Some of that is used to set off the animation Triggers, and some is used more directly to scale or rotate the object.

I’d like to iterate on this and add some color changes. I’ve also got a PostProcess filter that I could amp up with large volume changes or whatever.

Another fairly simple thing to do is to make two separate spheres, one for right and one for left channel data. Or have the sphere move right and left based on the differences between channels.

1 Like

Maybe there will be a VRChat Demo Scene someday!

My node graph is only 100 nodes man!

1 Like

It’s really cool.Looking forward to your more possibilities.

1 Like