VR music visualization

We made a music visualization app for a class at uni. Here’s the result:

It’s a ton cooler if you can experience it yourself of course :slight_smile:

I wrote custom OpenVR and OpenAL bindings and a music playback/analysis pipeline using NVorbis for .ogg playback. For the visualization we adapted the Mercury Particle Engine to work in 3D with billboarding and we adapted the grid from XNA code we found.

Edit: forgot to mention that I used @kosmonautgames bloom filter -> https://github.com/Kosmonaut3d/BloomFilter-for-Monogame-and-XNA

I got OpenVR working without any changes to MG itself, only using reflection to get the native texture handle. We used a DesktopGL project, but it’s just as easy with DX if you’d want to use advanced shader stuff.

I’ll open source my bindings, the music pipeline and the 3D particle engine. Not sure about the app itself yet, but if anyone is interested let me know :wink:

9 Likes

I feel like I have motion sickness from just looking at that :frowning: Cool stuff tho.

1 Like

So far no one has had any issues with motion sickness. It’s very different when you control it yourself.

But it can get pretty intense for some songs. We had to tweak parameters a lot to reduce hard flashing. Everything is enhanced so much in VR.

Awesome!
Does the controller affect the visualization at all?

1 Like

We only used the buttons.

  • Trigger changes particle colors (always a subset of the grid gradient)
  • Grip changes grid gradient
  • Menu button adds/removes particles

Awesome, it’s looking great :slight_smile:

Would be nice to dig through the code of the application on github or so :smiley:

Keep up the good work guys!

1 Like

That is super cool.

I think you get the motion sickness when you take off the googles oO

I’ll open source my bindings, the music pipeline and the 3D particle
engine. Not sure about the app itself yet, but if anyone is interested
let me know

Id love to see how you looked at the music data as it played.
I wish we could get that information in monogame normally.

1 Like

XNA actually has an API for that, so maybe I can integrate some of my code into MG itself so we can support it.

2 Likes

Got pinged by someone, so I put the VR bindings up on GitHub: https://github.com/Jjagg/SharpVR
I just made sure the project built, because I don’t have a VR headset available.

3 Likes