From orbits to gravity

Four months ago I started looking into unique ways in that VR differs from screen based computing. Over the course of my imaging class I explored basic code from two.js to three.js up to java script and eventually their development in Unity. In order to facilitate further learning and exploration I chose to learn how to code and control orbits in various platforms such as Fiddle, A-Frame, and Unity. Each project increased in complexity as I expanded my depth of knowledge from 2-D to 3-D, learned how to add textures, draw various meshes, and gave myself a crash course to refresh my understanding of algebraic formulas for circles and spheres.

Originally as I began planning for the final project I started to get “OCD”, Obsessive Compulsive Design as Denise calls it. I was planning to increase the visual acuity and aesthetics of the orbiting system, but was quickly refocused by Derek. You can make things look nice anytime, but the most important facet is to increase understanding and emphasize exploration of the medium.

Based on this I came up with ways that I could take the final project a step further. I researched ways to allow the user to control the orbits themselves rather than to view a more tailored experience. I explored using a console to facilitate changing orbit paths based off of each of the planets. I developed a system where you could turn off and on orbits to change the pivot points. From this I stumbled into an unintentional discovery. As I modified my code to allow the orbits to swap pivot points, I realized that you could stack the orbital formulas by leaving more than one button active. This created gravity in a sense where the orbits with the most pull written into the code would take dominance of the orbital path. Even so the weaker orbit also had pull so this created a unique experience where moons began to orbit around planets using each axis and the planetary orbits actually could speed each other up due to the increased “gravity”

This amazed me and slowly it began to click how complex codes can become based on stacking the scripts as they act on one another. Also the more complex the interactions the more natural the movement feels. After these explorations and my research into how motion controls further push the VR experience away from screen based computing, I can see the true potential that VR has to create work-spaces and environments that are truly unparalleled by anything else.