top of page

VR Throwing Deep Dive
(Name Subject to Change)

  • Role: Technical Designer

  • Team Size: 1

  • Duration: Ongoing

  • Responsibilities:

    • Researching how throwing physics are handled via Unity and the Oculus Quest 2.

    • Extrapolating the research into code to improve the accuracy and feel of VR throwing.

    • Developing the scoring system and flairs

VRPic1.png

Game Summary
The main problem I tend to face when brainstorming ideas for solo projects is complexity. I tend to think up projects that are way too intricate from the get-go, or I fall down some small rabbit hole later on in the project. So for this one, I wanted to try one of the simplest game ideas I could think of and put my own spin on it. So this game (to be named later) is a single VR game where you throw objects at structures and score points by destroying them. At the moment, I've created a base demo with three structure types to knock down which vary by mass (light, medium, and heavy). You throw projectiles and gain points based on how hard the structure walls are hit and if any of the walls collide with each other.   

Throwing Physics
So I know I mentioned not wanting to fall down rabbit holes in this project but, the VR throwing physics have already turned into one of those holes, but I decided to roll with this one since it can improve my game's feel astronomically if done right. I planned to improve upon how VR games normally handle throwing, often feeling clunky and inaccurate. I stumbled on a video, which I've linked down below, that detailed exactly that. In it, Okreylos shows off how controller velocities are tracked in VR and then translated into game object propulsion. He likens throwing in VR to a shot-put throw rather than the baseball throw we normally use since most devices don't account for the additional rotational force when your wrist flicks. To add that, Okreylos takes the cross-product of the controller's angular velocity and the distance between the controller's sensor and the held object. A fairly simple process on paper but the true test was translating that process into code that meshed with Unity's XR Toolkit. 

Helpful Resources

bottom of page