My biggest takeaway from Hector’s class on Jan 28th was the tutorial on setting up Oculus controllers in Unity. Previously, all my group’s VR tests used the XR Interaction Toolkits default teleportation mechanics to move around the scene. Teleporting was fun, but we wanted to recreate the feeling of walking on the beach and picking up objects that were stumbled upon, rather than automatically teleporting the player to where they wanted to go. Walking also made the beach world seem more vast, empty, and open.
The Oculus controllers were a lot more difficult to set up than I thought it would be because my group decided to transition to Unity’s new XR Integration from Oculus Integration which had a lot more documentation. Fortunately, Hector had done a lot of tests himself and shared with the class a fairly hard to find the documentation page on the correct API. I started off adapting Hector’s code on accessing each individual controller for our group’s needs and implemented the new version with my controls into my PlayerScript. Unfortunately, at first, it did not seem to work, so I briefly tried setting up the controllers through Unity’s Input Manager. Interestingly enough. I only recognized the left joystick. Accessing one joystick was okay for very linear movement using the global axis/coordinates of the scene, but it was awkward when the player wanted to turn around or was reorientated which swapped the directional movement.
In the end, I realized that the reason why the controllers were not recognized through XR Integration was that the headset needed to sense someone wearing it before the scene could be played and the controllers could be found. At the moment, I am testing two methods of movement controls. The first one is where the player has access to both joysticks and controls the rotation of their virtual body with one joystick and the direction they want to go (in reference to the angle they have rotated) using the other. The other is just using one joystick to move in a direction based on the direction that the HMD is facing through head tracking. I found that rotating the player’s body was the smoothest and easiest movement, but it was sometimes a bit much for my eyes when I looked around well moving. Moving towards the direction the HMD was facing felt fine, but it involved physically facing the direction you wanted to go. Overall, my group still needs to figure out what method feels the most comfortable.