Week 7: Reverb, music, and lots of scripting!

This was an exciting week for the Love Machine team, both VR and sound alike, since we began to integrate everything. We got to add some room-specific reverb, our theme music, and script a lot of behaviors that we knew we needed and some whose necessity arose as we went along…

These scripts included:
(1) Our worm movement sound: the sound team gave us some squishy sounds to add to our worm avatar every time the user moves. The way we achieved this was by adding an audio source to the avatar prefab and a Worm Movement script that checks whether the x of the transform has moved beyond a certain threshold, and if so, it plays the audio clip.

(2) A wooping two new ones for our ladder: haptics + randomized audio on collision. The haptics were clear enough to script, since Steam includes a vibration action you can call and then give it overloads like duration, frequency, and amplitude. The randomized audio features an array of audio clips you can call on randomly upon collision with the ladder. This gives the climbing a more realistic feel, since it is a long section of the experience and hearing the same clunk over and over again would be off-putting…

(3) Material changing: our project already has two general interaction scripts, one for gaze and one for collision with buttons. These are identical scripts which call on arrays of game objects to activate or de-active, and animations to trigger. This week we added a material changer, where the script finds the mesh renderer of the object whose material we want to change, and feeds it a new material. This will be useful for the pleasure simulator scene, where the user touches buttons and gets reactions from the main character and now the general room, as well.

(4) State machine behavior script: some of our gaze interactions were triggering animations before their time, so we had to make sure a script checked whether others had been finished beforehand. We added a script to the animation controller that controls the state behaviors and creates a bool that is only checked once an animation state has finished. The next animation can only be triggered if that bool is set to true.

As a little preview: here is our theme tune for this experience. We will have variations on it throughout. Enjoy 😉

The tune was made by the sound artist Joey Sergi.