We all like drums and beats! But we all have limited access to play physically a set of drums for its bulkiness and expenses.
What it does
Drum Beats simulates a unique interactive experience of percussion instrument playing for players, with several drums in different tones aligned in a band setting, which highly resembles the reality. The player would beat guided by emerging beat circles and the performance is recorded on a score display. The playing site is located on a futuristic yet simplistic designed stage underseas, which indulges players in convivial music and releases their stress. From the basis of random generated beats, we figure out beats playing according to one actual piece.
How I built it
We used Unity to build the project. We constructed a scene with game objects, and attached scripts to make objects interact with the users. We connected HTC Vive with Unity to enable interaction. We have 3 main scripts. The first one count score and fail times to determine the won and lose for the player. The second one generates random circles for the player to hit. The third one track collisions. We also have minor scripts to manage the audio sources, text objects, and player movements. We used Maya to build 3D models and import into Unity scenes. We employed textures and materials to created detailed visual effects for the scene setting.
Challenges I ran into
The circle spawning process challenges us to be clear with the relationship between spawner and the spawned stuff. We used a prefab for beat circles that will generate the instance of blue circles to mimic the beats. We also need to figure out how to check if the user scores. To determine the effective hit, we check the distance of collision point of sticks and the spawned blue circles with the place of the drum. However, we need to pass in the drum reference to each spawned circles. So we create the list of drum references by using the feature of Unity. To create special effects when the player correctly beats to splash neon sparks with a particle system, we write scripts to manipulate the system's active state.
Accomplishments that I'm proud of
We are able to make the drums in different tones actually sound when pounded with real hand motions.
What I learned
As the whole team are all VR beginners, we learned Unity function and C# scripts syntax from scratch.
What's next for Drum Beats
The game has a temptation to move along the trail with constant speed. Drums beat would be as the motivation force to drive forward while appreciating a 360 view dynamic underseas environment.