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.
Photorealistic environment
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.
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
The user will appear in a VR tennis environment with the near
real-life experience of the court and tennis rocket.
The major task is to simulate mechanic and conditions of the ball
speed and trajectory. To make it all happens we bear in mind the
set of factors: the ball density, the speed of the side wind, the
tennis court surface, the air density, etc.
The user is playing tennis, honing the needed cognitive and
physical skills by game-like experience.
Technologies
Oculus platform
Unity SDK
Unity Job System
Burst Compiler
C Sharp
Team and duration
4 experts
- One Unity developer
- One PM
- One QA
- One Physics Scientist (PhD)
3 months