Exploring Interactivity in VR
In an earlier module I had been exploring player interaction in VR using VRTK ( a VR framework that adds interactivity without having to code the physics of those interactions from scratch). I had also explored voice as a method of interaction us IBM Watson.
Since then there have been interesting updates to the Unity and Unreal engines and I am excited to explore new ideas that build on some my earlier projects. I spent the time in between playing a few rogue-like RPGs and a really fun game, 60 Seconds! Reatomized.
This last game game me the idea of building an educational app that could be played in the classroom to test vocabulary and language understand while requiring quite a bit of interactivity. A student could use an Oculus Quest to challenge a learning task while fellow students and the teacher follow the action on a big screen TV, adding a immersive element to the event.
My idea for this module is to create a VR app that explores interaction in a collaborative environment but also can be applied to various platforms ( Oculus Rift vs. Oculus Quest) without having to rewrite all the code. I have been following the new Unity XR input system and also experimenting with Unreal Blueprints. The importance is that both engines now support Vulcan, which can “ make your graphics code clearer and faster, on top of allowing easier code sharing between PC and Mobile platforms”
In terms of interaction, I will be looking at basic object manipulation, such as grabbing and throwing objects, playing with haptic feedback and adding sounds between objects when they collide. At a “higher-level” of interaction, looking at interacting with doors, drawers, sliders, as well as collecting objects into an inventory. This is strongly tied into UI design.
Lastly, I need to consider how movement can impact player interaction, as well as how to implement locomotion, physical vs. artificial locomotion, that brings some excitement and motivates the to keep playing. There are also a few miscellaneous things, such as level transition and detecting when the user has put on or remove the headset that i need to consider.
Things to think about: