About
The goal of the project was to build a VR product that delivers a
realistic game-like experience to the players. This app allows
players to keep training without the necessity of leaving their
homes, in particular training the reaction of hitting out the ball
in different positions.
Challenge
The purpose of this app is to train the tennis player’s reaction,
and to achieve this the player’s brain has to believe in the reality
of the training. Thus, the biggest challenge of this project was to
simulate a realistic environment and ball/racket physics (including
direction of the ball flight, collision of the ball and the racket,
ball angles, etc.)
Solution
After the initial analysis phase we’ve got an understanding that there
are two main goals to achieve to make this project successful:
a photorealistic environment and realistic physics
Photorealistic Environment
The first one is more straightforward: working in close
collaboration with a 3D artist, creating photorealistic textures and
keeping in mind restrictions of our target platform Oculus Quest 1/2
delivers the expected result.
Platform choice: among all benefits of Oculus Quest platform the
most valuable is that it doesn’t need a cable – a really important
thing when you are playing tennis.

Realistic Physics
The second one was trickier. Our experiments with the prebuilt Unity
physics engine using Nvidia Physx System Software revealed that the
outcome it gives is rather arcade than realistic. After in-depth
study of other physics engines we still were unhappy with the result
and decided to create a custom one that fits our purposes.
That means that we have to calculate many parameters just with the
help of mathematical formulas and understanding of physics. To
strengthen our team we invited a university physics lecturer for
this project who helped us to correctly reflect in our engine all
parameters and variables including side wind, racket strings
tension, rolling of the ball after the collision and many others.
Storyboarding



Where it can be used


Technologies

Oculus platform

Unity SDK
Unity Job System
Burst compiler

C Sharp
Team and duration

– 1 Unity Developer
– 1 Physics Consultant (PhD)
– 1 QA Engineer
– 1 Project Manager

To build the initial version of the product