Bivwac

Construire des visualisations immersives pour favoriser la compréhension, la prise de conscience, et le bien-être

VRAC

Personnes impliquées: Adrien Corn.

VRAC documentation

Sommaire :

1 - Contexte :

Ce document présente l’outil VRAC (Visualisations en Réalité Augmentée Concrètes), comment l’utiliser et l’installer. VRAC est une application en réalité augmentée tournant sous Meta Quest 3 et développé sur le moteur de jeu open source Godot. Elle utilise comme base le projet ARwavs précédemment développé par l’équipe Bivwac : https://bivwac.fr/fr/arwavs/ L’objectif de VRAC est de proposer un outil permettant de composer des visualisations immersives à partir de jeu de données et de modèles 3D préalablement importées. Chaque composition est sauvergadée en temps réel dans l’application et peut être exportée et partagée avec d’autres utilisateurs.

Vidéo démo du projet :

2 - Présentation :

Par défaut, le projet ne contient aucune donnée ni visualisations. Le seul élément visible est une interface attachée aux manettes de l’utilisateur. Pour la faire apparaître ce dernier doit lever son contrôleur et le tourner comme pour regarder la paume de sa main, l’interface suit la dernière manette ayant effectuée cette action. L’autre manette émet alors un rayon permettant d’interagir avec l’interface.

Note :

Il est également possible d’utiliser l’application en handtracking. L’interface sera alors attachée au poignet de l’utilisateur et ce dernier devrait toucher du doigt les boutons avec lesquels interagir.

Cependant compte tenu de la taille de certains boutons et paramètres, il est conseillé d’utiliser les contrôleurs.

2.1 - Importer des fichiers

Dans un premier temps, l’utilisateur doit importer les jeux de données ainsi que les modèles 3D qu’il souhaite utiliser.

Importer un jeu de données :

Cliquez sur le buton “Datasets” pour ouvrir le menu de gestion des jeux de données. Le bouton “Import Data” ouvre le menu de gestion de fichier natif de votre casque. Vous pouvez alors choisir un fichier .csv. VRAC demande des jeux de données avec une composition précise :

Nous utiliserons en exemple le jeu de données “DataTest.csv” suivant :

Note :

Les paramètres “Model” et “Viz” sont facultatif. Ils permettent de référencer le nom d’un modèle 3D déjà importé dans l’application et attribuer une vizualisation à l’import.

Vous pouvez les laisser vide. L’attribution de modèle 3D et de vizualisation seront présentés plus loin dans cette documentation.

Une fois vos données importées, vous pouvez les retrouver dans la liste des datasets de l’application. Nous reviendrons dessus après l’import des modèles 3D. Ces dernières ont été sauvegardées et peuvent être supprimées à tout moment via le bouton “X” à leur droite ou l’option “Clear All”.

Importer un modèle 3D :

Cliquez sur le bouton “Models” pour ouvrir le menu de gestion des modèles 3D. À l’instar des jeux de données, le bouton “Import Model” ouvre le menu de gestion de fichier natif de votre casque. Les modèles compatibles sont les fichiers de type .glf et .gltf. Une fois votre modèle importé, celui-ci apparaît devant vous avec une interface permettant de définir la taille à laquelle vous voulez l’enregistrer.

Le modèle est alors accessible en prévisualisation, accompagné d’une bouton “X” pour le supprimer si nécessaire.

2.2 - Créer des visualizations

Maintenant que votre application contient vos jeux de données et modèles 3D, vous pouvez les utiliser pour créer des visualisations en allant dans le menu “Setup Visualizations”.

On retrouve dans ce menu le dataset “DataTest” créé à partir de notre jeu de données. Ce dernier est composé de données “Data A” et “Data B”. C’est à ces dernières que nous allons associer des visualisations. Pour cela, cliquez sur le bouton “Edit” sur la ligne d’une donnée (ex : Data A).

Un second panneau s’ouvre contenant les informations relatives à cette donnée.

On retrouve :

Note :

Chaque paramètre modifié est instantanément sauvegardé.

Une fois les paramètres de chacune de vos données définies, vous pouvez retourner sur le menu principal. Vous pouvez alors sélectionner le dataset que vous souhaitez visualiser (dans notre cas DataTest) via le bouton “Actual Dataset”.

Appuyez ensuite sur “Launch Visualization”. Chaque visualisation de votre dataset apparaîtra à l’endroit ou vous avez défini leur point d’instanciation. Vous pouvez à tout moment nettoyer la scène via le bouton “Clear”, ou relancer une nouvelle visualisation via “Launch Visualization”.

Dans notre exemple, la scène générée correspond alors à une visualisation en grille et une seconde en flux en face de l’utilisateur.

2.3 - Exporter vos données

Pour exporter votre dataset, utilisez le menu déroulant à droite du nom du dataset et sélectionnez “Export”.

Le menu natif du Meta Quest s’ouvre, vous proposant de choisir l’endroit où enregistrer votre dataset et à quel nom.

Les données sont enregistrées sous forme de fichier .json. Vous pouvez consulter ce dernier et le modifier en dehors de l’application ou l’importer dans un autre casque.

Pour importer un fichier .json, utlisez la même méthode qu’à l’import d’un dataset. C’est à-dire l’ajouter via Datasets —> Import data comme vu dans la partie 2.1.

Les dataset possèdent également les options d’édition suivantes :

Note :

Les options dupliquer, renommer et supprimer existent aussi à l’échelle de chaque donnée du dataset. Permettant à l’utilisateur de le modifier directement dans l’application.

3 - Installation :

Le projet VRAC est disponible sur le gitlab suivant : https://gitlab.inria.fr/acorn/vrac.

Il s’agit d’un projet Godot .NET (v4.5.1). Vous pouvez télécharger la version ici : https://godotengine.org/download/archive/4.5.1-stable/ (N’oubliez pas de choisir la version .NET).

La première étape consiste donc à télécharger/cloner les fichiers en local sur votre machine et d’ouvrir le projet sous Godot.

Branchez alors votre casque à votre machine, celui-ci devrait être détecté par Godot, pour permettant d’utiliser l’option “Remote Deploy” accessible en haut à droite de l’interface.

Note :

Si vous avez le message “No Remote Deploy export presets configured”.

Faites Project –> Install Android Build Template… –> Install.

Puis allez dans Export –> Add –> Android

Une fois votre preset d’export Android créé, cochez la case “Use Gradle Build”.

Dans XR Features passez en “OpenXR”.

Vous pouvez alors appliquez les permissions suivantes :

  • Manage Documents
  • Manage External Storage
  • Read External Storage
  • Write External Storage

Vous pouvez alors redéployer le projet sur votre casque via “Remote Deploy”.

Note :

Note :

Si votre casque n’apparaît pas, assurez-vous que ce dernier est bien en mode développeur et autorise le débogage USB. Autrement, veuillez consulter le guide suivant : https://developers.meta.com/horizon/documentation/native/android/mobile-device-setup/.

Une fois votre projet build sur votre casque, ce dernier se lance automatiquement. Dans le cas contraire, vous pouvez le retrouver dans Application → Sources Inconnues sous le nom “VRAC”.