Réalité virtuelle: Baskeball
Résumé
Ce projet présente un jeu de basketball en réalité virtuelle inspiré des stands de fête foraine. L’objectif est simple : permettre au joueur de prendre une balle avec ses mains virtuelles et de la lancer dans un panier afin de marquer le plus de points possible en un temps limité.
Le joueur interagit directement avec l’environnement grâce aux contrôleurs VR, ce qui rend l’expérience immersive et intuitive. Chaque lancer dépend du mouvement réel de la main, ce qui permet de reproduire un comportement proche d’un véritable tir au basketball.
Le jeu inclut également des éléments sonores et visuels, comme des effets audio lors des rebonds ou des paniers réussis, ainsi qu’un système de score et de record, renforçant l’aspect ludique et compétitif.
Auteurs
Ce projet a été réalisé en équipe de trois personnes : Ludovic, Émeric et moi Raïssa Domgnim.
Détails techniques
Le projet a été développé avec le moteur Unity en utilisant le XR Interaction Toolkit, permettant de gérer les interactions en réalité virtuelle telles que la prise et le lancer d’objets. La balle est configurée avec un Rigidbody et un Sphere Collider afin de simuler un comportement physique réaliste.
Le système de lancer repose sur le mode Velocity Tracking, qui permet d’appliquer une vitesse à la balle en fonction du mouvement du contrôleur. Cela permet de différencier les tirs faibles et puissants, rendant le gameplay plus naturel.
Les rebonds sont gérés grâce à des Physic Materials personnalisés : Ball_Physics pour la balle (élasticité élevée) et Ground_Physics pour le sol (friction plus élevée). Cette combinaison permet de reproduire fidèlement les interactions physiques d’un ballon de basketball.
Un système de détection de score est mis en place à l’aide d’un trigger collider positionné dans l’anneau du panier. Lorsque la balle traverse cette zone, un événement est déclenché, permettant de jouer un son et d’incrémenter le score.
Le jeu intègre également plusieurs Audio Sources pour améliorer l’immersion : un son lors de la prise de la balle, un son lors des collisions avec l’environnement, et un son spécifique lorsque la balle entre dans le panier.
La logique du jeu est centralisée dans un GameManager, qui gère le score, le temps de jeu, le countdown de départ ainsi que la réinitialisation des interactions. Le bouton de démarrage est contrôlé via un script BoutonVR, permettant de lancer une partie uniquement lorsque le jeu est prêt.