Coder Social home page Coder Social logo

smart_vr's Introduction

Smart_VR

Jeu de Réalité virtuelle, développé pour une utilisation sur machines de musculation de ANTS (ENS Lyon). Développé par l'Hexanome H4241, Promo 2022 du département IF de l'INSA.

Environnement de développement

Jeu developpé avec Unity. Nous utilisons l'API Maps SDK de Bing (Repository GitHub)

Installation

  1. Suivre ce tutoriel afin d'avoir Unity installé correctement pour le développement sur Oculus Quest 2

  2. Cloner ce repository

git clone https://github.com/Doreapp/Smart_VR
  1. Ouvrir la scène
cd Assets/Scenes
./SampleScene.unity

Pour envoyer sur le casque :

  • File > Build Settings...
  • Aller dans Android et cliquer Switch Platform
  • Lorsque le casque est branché, vérifier qu'à la ligne Run Device, l'Oculus Quest 2 est disponible
  • Aller dans Player Settings... et définir Company Name et Product Name
  • Fermer Player Settings
  • Cliquer sur Build and run
  • Enregistrer l'APK
  • Attendre que le jeu se lance sur le casque.

Un fois que vous avez envoyer le jeu une fois dans le casque, il suffit de faire File > Build and run pour envoyer le jeu sur le casque.

Structure des fichiers

  • Assets/BasicObject : Les prefabriqués, objets basiques, non placés directement dans le jeu.
    • BasicBall, une ball à atteindre lors du jeu de piste
    • BasicMap, un chunk correspondant à un bou de carte, implementant MapRenderer (de Maps SDK)
    • BasicText, un texte 3D classique
  • Assets/Maps :
  • Assets/Material : Contient les matériaux utilisés
    • Ball, l'objet 3D représentant une ball
  • Assets/Scene : Les scènes
    • SampleScene, scène de déplacement dans une représentation 3D de notre monde, utilisant l'API Maps SDK
  • Assets/Script : Les scripts utilisés
    • BallLoader
    • ComputerControls, permet de se déplacer sans envoyer le jeu dans le casque Avec les touches :
      • Z pour monter (axe y)
      • S pour descendre (axe y)
      • Flèches directionnelles gauche/droite pour tourner la caméra (autour de l'axe y)
      • Flèches directionnelles haut/bas pour avancer/reculer dans la direction de la caméra
    • Inertie, gère le déplacement du joueur de manière fluide.
      • Game Friction est le coefficient de frottement fluide
      • Head est l'objet modélisant le casque, et tourner en fonction de l'orientation réelle du casque
      • Cam est un RigidBody correspondant à la caméra (joueur)
      • Player est le joueur, c'est-à-dire même objet que Cam en vision Première Personne
      • Log Text est un texte 3D permettant d'afficher des informations de log durant le jeu (sur le casque)
      • Coef speed est un coefficient sans réalité physique, permettant de définir la vitesse de déplacement
      • Min Angle est l'angle de rotation minimal (dans Unity) pour faire tourner la direction du joueur
      • Coef rotation est un coefficient sans réalité physique, définissant la vitesse de rotation du joueur
      • COMPUTER_CONTROL est un booléen activant ou non la gestion de l'inertie sur l'ordinateur (pour tester hors de casque). S'il est activé, appuyer sur la barre espace permet de faire avancer le joueur. Attetion, il faut le desactiver lors d'un envoi sur le casque, sinon le déplacement du joueur sera impossible
    • LookAtPlayer
    • MapLoader Permet de charger la carte 3D en fonction des déplacements du joueur. Utilise un principe de chunk.
      • Basic Map est l'objet classique (préfabriqué) implémentant MapRenderer (voir Assets/BasicObject/BasicMap)
      • Player est l'objet représentant le joueur
      • Size est le nombre de couronnes chargées autour du chunk central
        • Size=0 implique de ne charger qu'une seul chunk
        • Size=1 implique de charger 3x3 chunks
        • Size=2 --> 5x5 chunks
        • ...
    • Scoring
    • TouchCamera

smart_vr's People

Contributors

damiencarreau avatar doreapp avatar alexandre-bonhomme avatar timotheberthier avatar paulgrvd avatar pljallerat avatar

Stargazers

 avatar

Watchers

James Cloos avatar  avatar

Forkers

pljallerat

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.