I was inspired by all my musically talented friends. I like music, and I think I have a good taste for sound, but I don't know how to play any instruments.

What it does

BeatSpace allows anyone to make fun and interesting music in virtual reality, without the need for any instruments or musical knowledge. The user starts by building their beat on a table representing one measure in a 4/4 time signature. By placing blocks on each section of the measure, the user decides which sound effects will be played at which time. Once the beat is ready, hit the red button! The beat will automatically start playing. From there the user may turn around, and play along with the beat on a laser harpsichord, overlooking a beautiful nebula.

How I built it

In unreal engine

Challenges I ran into

This project represented a lot of firsts for me. It was my first time developing with the oculus touch controllers, as well as my first time using sound cues in unreal engine. I've also never used collision detection to such an advanced degree as this. One of the greatest challenges was learning the technology of sound cues and box triggers, and getting events to trigger from inside another actor's blueprint. Also, I left my computer at home and I didn't get set up until 4pm so that was a set back.

Accomplishments that I'm proud of

I've wanted to do this project for a very long time but was overwhelmed by how very different sound cues work in UE. I overcame that hesitation and learned a whole lot about Unreal Engine.

What I learned

  1. How to create a custom material in UE and assign that material to a particle system
  2. How to make and import a skybox, bring it into the level as an actor and manipulate its lighting properties to behave properly.
  3. How to use a collision box to trigger sound cues within a specified attenuation radius.
  4. Use event dispatchers to destroy existing actors, and call functions in the level blueprint

What's next for BeatSpace

I'm going to keep building it, add more scenes, more instruments, and more functionality, and release it to the world!

Built With

Share this project: