Since I figured out hand collision a bit sooner than I thought I would, I decided to start looking into beat detection. I met with Dr. Meyer, a math professor at St. Norbert, on Tuesday, 3/2 to discuss audio compression (codecs, compression, decompression). We then discussed the options I have for incorporating beat detection into my game. Essentially I can import a .dll (dynamic-link library) into my project and call functions that other people have written already, or I can make my own functions. Since I want to incorporate beat detection into my game in a few weeks, I decided to experiment this week and see if I could research beat detection and make my own functions within my game project. There are many resources out on the web, but many of these resources are part of forum posts that are years old. Multiple websites have referenced an article written by someone hosted on a different website that has long been deleted (darn!). I have found a couple of recent posts on beat detection and have tried to adjust code that other people have written for my specific use-case. I have been successful with one snippet of code I have found, but it doesn’t work nearly as well as I’d like it too. Then, I spent several hours trying to write my own beat detection algorithm from scratch but it doesn’t seem to work quite yet. I started to stress out about this since I don’t have much to show for the last week, but kept reminding myself that I have plenty of time still, and that at least the snippet of code that I implemented in my project worked somewhat. I can always fall back on that if I can’t figure out my own algorithm.
After exploring beat detection this past week, I looked up a couple of videos on creating a UI within a VR environment in Unity. So far I’ve made a UI canvas in my project and added a single toggle button to it. This shows up in game, but now I need to find out how to interact with it with the controller. This is my next goal, and once I do this, I will be able to add more UI elements to the canvas and write functions that are called when these elements are interacted with.