VR Music Video Development Part 4: Scripts, Final Touches, and Missed Opportunities

With the main bulk of the assets, animations, shaders, and etcetera done, all that was left was to get some code to make it all work. I searched up ways to create a script that allowed me to change the scene at certain points to the song to match up with the feeling each segment gave. As well as that, I added a simple script to make sure the audio of the music video would continue between scene changes throughout the viewing.

Overall, I enjoyed the project. I had a hard time starting out due to all the errors I got trying to make my project VR compatible, but once I got past that hurdle, I had fun creating it.

If I were to redo my project, I probably would add more complex animations. I had a hard time creating blended animations beyond those used for the VR hands, as well as animations that lead from one into another. Beyond that, I would also have liked the make the scene transfers better, perhaps by looking up a way to fade in and out of scenes instead of having a sharp cut with each load.

At least that’s something to try on the next project!

VR Music Video Development Part 3: Different Scenes

Given that the vibe of the song gives off 3 distinct atmospheres, I wanted to create scenes that represented each vibe that the viewer would go through. This included the main floating island area during the day for the start of the song, an underwater segment when the song sounded muffled, and then an edited version of the floating islands at night for when the song winds down at the end.

With the creation of each scene, there were elements that each needed to work and look correctly. Most heavily needed were custom shaders for the underwater segment, as well as some other areas. After some researching online, and switching my project over to use URP, I was able to create a few shaders that served my purposes. One major one emulated a caustic system, allowing for better-looking water, as well as an urate portrayal of the underwater segment. Besides the caustics, I also created a shader for my seaweed in the underwater segment to make it sway in the water.

Example of one of the shaders I made

For the night time scene, I wanted to have a heavier focus on lighting, adding in a campfire and fireflies as sources for the point lights. For the fireflies to look right, I used a particle system, creating a few key points for them to spawn at. Besides the lighting for the campfire, I also used a custom shader for the actual flame to make it look more animated and accurate.

Overall I really enjoy the vibes of all 3 scenes, and now just need a way to time them right throughout the duration of the song.

VR Music Video Development Part 2: Animation Developments

With my scene created, I started looking into ways to add animated elements to my scene. One of the major examples of this I wanted to do was a simple floating animation for some of the islands to add to the aesthetic of the scene. While this was one of the simpler animations to do, it added a lot to the scene in my opinion.

Next up was the part I was excited for: animating a seal playing a saxophone. After some searching, I was able to find a decent rigged model of a seal that fit the style of my project, and a saxophone for him to play. After some tweaking, and creating the animation, I had it.

I added a few other animated elements where I could, including some from Mixamo, and some more custom ones made for models I created like an airship that flies around.

VR Music Video Development Part 1: Changes and Complications

So for a very long time, I was unable to actually get my project built and run on Unity following the instructions specified in the lectures. I don’t know if this was a technical error, something caused by trying to convert instructions stated on a Mac to Windows, or my own fault, but thankfully I was able to diagnose the problem and fix it. The main issue seemed to be stemming from the addition of the OVR plug in found on the Unity store. With it removed, I was able to build my project using Unity’s built-in XR functions.

Following this playlist:

I was able to create my own VR rig for the project, as well as implement simple functionalities such as the addition of VR hands, scene interaction in the form of a bouncing ball, and far object grabbing.

With my base functionality sorted, I was able to finally begin working on my project during the Christmas break, where I came to another conclusion. My original idea of a street occupied by cars and pedestrians seemed uninteresting in VR, as well as not fitting with the song I had chosen. Due to this, I decided to remodel my entire project, asking advice on a Discord server I frequented:

When listening to the song, this is what people on the server had to say about what it made them think of:

From this, I based the idea of my new project scene, creating a set of floating beach islands occupied by different people. While also fitting with the song more, the floating islands also worked in the 360 degree setting of VR, with islands all around you for the viewer to look at. Using Autodesk Maya, I modelled and textured a few basic islands, before using a few Unity store assets to occupy it with things such as a palm tree, beach chairs, and more. I also created a few simple models myself, such a a surfboard, and a shark fin which I later animated to swim around a pool of water I created.

With the basic scene created, I began my thoughts into more animated elements to add to it, searching into mixamo models and animations, as well as a possible way to get a “seal playing a sax” into the scene.