Développeurs

Formation VR

Formation VR — l'application Unity (training-vr-app)

L'application de Formation VR est un projet Unity 6 (URP + XR Interaction Toolkit + XR Hands, multijoueur Netcode for GameObjects). Elle embarque le framework TrainingVR (Assets/TrainingVR/), pensé pour créer des simulations de formation sans code : un scénario est un asset de données, joué par un moteur générique.

Simulations déclaratives

Une simulation est un SimulationDefinition (ScriptableObject) : une suite d'étapes (SimulationStep), chacune avec sa consigne et son indice IA. Le SimulationRunner déroule les étapes et valide la progression via des tâches posées sur les objets de la scène :

TâcheInteraction validée
GrabTasksaisir un objet
PlaceInSocketTaskdéposer un objet au bon emplacement
PressButtonTaskpresser un bouton
InspectTaskregarder / examiner un objet

Toutes sont bâties sur XRI. Pour un nouveau type d'interaction, héritez de la base TrainingTask et appelez Complete() quand l'action est faite — le runner et l'IA en profitent sans autre câblage.

Tout ce qui se passe transite par le bus SimulationEvents (étape franchie, objet saisi…) : il alimente l'assistant IA (tampon des derniers événements) et la télémétrie envoyée au serveur pour les rapports.

Créer une simulation sans code

  • Menu Training VR > Nouvelle simulation… : titre, secteur, étapes (consigne + indice IA). L'assistant d'éditeur crée l'asset et, au choix, une station jouable avec des objets provisoires (un par étape) à remplacer par vos modèles.
  • Menu Training VR > Créer la scène de démo industrielle : génère une scène complète et rejouable (deux stations — roue automobile, baie serveur —, panneau assistant IA, tablette multijoueur, réseau).

Version bureau (sans casque)

Une seule scène sert les deux publics. Au démarrage, PlatformBootstrap détecte un casque OpenXR actif et arbitre : rig VR, ou rig bureau première personne (clavier/souris). Le rig bureau pousse l'état de la souris dans un XRRayInteractor en mode manuel : toutes les tâches XRI fonctionnent sans modification (survol → Inspect, clic → Grab/PressButton, dépose → PlaceInSocket, UI monde comprise).

  • Forcer un mode : champ Forced Mode, ou arguments de lancement -desktop / -vr.
  • Build distribuable : menu Training VR > Build bureau (macOS/Windows), verrouillée en mode bureau via le define TVR_DESKTOP_BUILD.

Structure du framework

Dossier (Assets/TrainingVR/)Contenu
Runtime/CoreSimulationDefinition, SimulationRunner, TrainingTask, SimulationEvents
Runtime/TasksLes briques d'interaction XRI
Runtime/AssistantSnapshot de scène, client WebSocket, actions IA, panneau UI
Runtime/MultiplayerSession NGO, client de salons, avatars réseau, tablette
Runtime/PlatformCompte Puwapi (IdentitySession), arbitre VR/bureau, rig bureau
EditorGénérateur de scène de démo, assistant « Nouvelle simulation », build bureau

Des guides pas-à-pas accompagnent le projet (Assets/TrainingVR/Documentation/01..06) : prise en main, créer une simulation, ajouter une interaction, assistant IA, multijoueur, version bureau.

L'app dialogue avec le serveur compagnon /vr (salons, sessions, assistant) — voir Formation VR — salons, sessions & assistant IA et la Référence — Formation VR.

#vr #unity