Design d'Interaction AR — Niveau 3 : Avancé
Résumé EN (abstract): This advanced course targets production-level AR experience design. Students build complex multi-user AR systems using Unity AR Foundation, integrate cloud anchors for persistent shared AR, apply spatial AI for scene understanding, optimize for performance, and complete an exhibition-ready project with full documentation. Outline: Unity AR Foundation architecture → Cloud anchors & persistence → Multi-user AR → Performance optimization → Spatial AI & generative AR → Accessibility & ethics at scale → Research methods → Exhibition project.
Objectifs d'apprentissage
À la fin de ce cours, l'étudiant·e sera capable de :
- Architecturer (creating) une expérience AR multi-utilisateur avec persistance via cloud anchors.
- Optimiser (applying) les performances d'une scène AR Unity (draw calls, texture compression, occlusion culling).
- Intégrer (applying) des capacités d'IA spatiale (détection d'objets, segmentation sémantique) dans une expérience AR.
- Concevoir (creating) pour l'accessibilité et l'éthique à l'échelle d'un public large et divers.
- Conduire (evaluating) une évaluation AR rigoureuse (usability + presence + engagement) et en publier les résultats.
- Produire (creating) une expérience AR niveau exposition, déployable, documentée et maintenable.
Module 1 — Architecture Unity AR Foundation (2,5h)
Concept
Unity AR Foundation est la couche d'abstraction Unity qui unifie ARKit (Apple) et ARCore (Google) sous une seule API. Un seul projet → iOS + Android.
Documentation : https://docs.unity3d.com/Packages/com.unity.xr.arfoundation@latest
Composants clés :
ARSession: gestion du cycle de vie de la session ARARCameraManager: accès à la caméra + configuration des fonctionnalitésARPlaneManager: détection des surfaces planesARAnchorManager: création et gestion des ancresARRaycastManager: raycasting contre les plans détectésARMeshManager: génération de mesh de l'espace (LiDAR)
Architecture recommandée (séparation des responsabilités) :
ARController (gestion session)
├── PlacementController (tap-to-place, raycasting)
├── AnchorController (création, persistance, restauration)
├── UIController (états UI selon tracking state)
└── ContentController (instanciation et gestion des prefabs AR)
Lab 1.1 — Tap-to-place en Unity
Étapes :
- Créer un projet Unity (Unity 2022 LTS recommandé) + importer AR Foundation
- Configurer la scene : ARSession Origin, AR Camera, ARPlaneManager, ARRaycastManager
- Écrire un
PlacementController: tap → raycast → instantiate prefab à la position de hit - Ajouter un indicator visuel (ring au sol) qui suit le curseur de placement avant confirmation
- Build sur device iOS ou Android et tester
Mini-exercice : Ajouter une contrainte : on ne peut placer qu'un seul objet à la fois. Si l'utilisateur re-tap, l'objet existant se déplace. Implémenter.
Module 2 — Cloud Anchors et persistance AR (2,5h)
Concept
Les cloud anchors permettent de stocker la position d'un ancre sur un serveur et de la restaurer dans une session future ou sur un autre appareil. C'est la base de l'AR persistant et partagé.
Options techniques en 2026 :
- ARCore Cloud Anchors (Google) : upload d'une carte de features locales → identifier unique → restauration par d'autres apps
https://developers.google.com/ar/develop/cloud-anchors
- Azure Spatial Anchors (Microsoft) : multiplateforme (iOS, Android, HoloLens), gestion fine des permissions
https://learn.microsoft.com/azure/spatial-anchors/
- Immersal SDK : cloud anchors haute précision, carte visuelle du lieu
https://immersal.com
Cycle d'un cloud anchor :
- Hôte scan la surface → map locale → upload → reçoit ancre ID
- Guest reçoit ancre ID → re-localise dans la même pièce → objets AR apparaissent au bon endroit
Lab 2.1 — Ancre persistante entre deux sessions
Étapes :
- Configurer ARCore Cloud Anchors dans Unity AR Foundation
- Implémenter : HOST mode (scan → upload → copie l'ID) et RESOLVE mode (entrer l'ID → restaurer l'ancre)
- Tester : session 1, placer un objet et noter l'ID. Fermer l'app. Session 2, entrer l'ID → l'objet doit réapparaître au même endroit.
- Tester à distance dans la même pièce avec deux téléphones
Mini-exercice : Que se passe-t-il si la surface a bougé entre les sessions ? Écrire un fallback UX (message d'erreur + option de re-placement).
Module 3 — AR Multi-utilisateur (2,5h)
Concept
L'AR multi-utilisateur partagé (shared AR) permet à plusieurs personnes de voir et d'interagir avec les mêmes objets virtuels dans le même espace physique.
Architecture type :
- Cloud anchor partagé (même ID pour tous les participants) → alignement spatial commun
- Backend temps réel pour la synchronisation des états (Firebase, Photon Fusion, Mirror Networking)
- Chaque client envoie ses actions → backend diffuse à tous → chacun applique localement
Stack populaire 2026 :
- Unity AR Foundation + Photon Fusion (réseau) + Firebase (persistance) → solution scalable
- Unity Netcode for GameObjects + cloud anchors → plus simple, moins scalable
Problèmes spécifiques :
- Latence réseau : les objets bougent différemment sur chaque device si la sync est lente
- Autorité : qui contrôle un objet si deux users le saisissent simultanément ?
- Re-localisation : chaque nouvel arrivant doit re-localiser l'espace avant de voir les objets
Lab 3.1 — Session AR partagée à 2
Étapes :
- Configurer Photon Fusion (compte gratuit : https://www.photonengine.com) dans un projet Unity AR Foundation
- Implémenter : Room creation/join + NetworkObject synchronisé (position, rotation)
- Tester avec 2 smartphones dans la même pièce : les deux voient le même objet ?
- Simuler un conflit : les deux essaient de déplacer l'objet simultanément
Mini-exercice : Concevoir la signalétique AR multi-user : comment chaque utilisateur voit-il la présence de l'autre (avatar, curseur, annotation) ? Paper prototype.
Module 4 — Performance AR (2,5h)
Concept
Les apps AR s'exécutent sur mobile avec des contraintes strictes : batterie, thermique, mémoire. Un excès de polygones ou de draw calls chauffe le téléphone et vide la batterie en 15 minutes.
Métriques cibles (mobile AR) :
- Framerate : 60 fps constant (idéal), pas en dessous de 30 fps
- Draw calls : < 50 par frame (< 100 sur devices récents)
- Tri-count : < 100k triangles actifs dans la scène
- Texture memory : < 200 MB (varie selon le device)
- CPU/GPU split : < 16ms par frame total
Outils d'optimisation Unity :
- Unity Profiler : mesurer CPU/GPU/mémoire frame par frame
- Frame Debugger : voir chaque draw call
- GPU Instancing : rendre des copies d'un même mesh en un seul draw call
- Occlusion Culling : ne pas rendre ce qui est caché
- LOD (Level of Detail) : modèle haute résolution de près, basse résolution de loin
- Texture compression : ASTC pour iOS, ETC2 pour Android
Lab 4.1 — Profiling et optimisation
Étapes :
- Prendre une scène Unity AR avec 5+ objets
- Build sur device + ouvrir Unity Profiler (connexion USB)
- Mesurer : framerate moyen, pic de draw calls, mémoire texture
- Appliquer 2 optimisations (GPU instancing + LOD ou compression texture)
- Re-mesurer : gain de performance documenté
Mini-exercice : Pour votre projet fil rouge, établir un "budget de performance" : nb max de meshes actifs, résolution cible des textures, framerate minimum garanti.
Module 5 — IA spatiale et AR générative (2,5h)
Concept
L'IA spatiale permet à l'AR de comprendre ce qu'elle "voit" (pas seulement détecter des surfaces planes) et d'adapter le contenu en conséquence.
Capacités disponibles en 2026 :
| Capacité | SDK | Description |
|---|---|---|
| Object detection | ML Kit (Google), Vision (Apple) | Identifier des objets dans la scène (chaise, plante, visage) |
| Scene understanding | ARKit scene geometry, ARCore Depth API | Maillage sémantique de l'espace |
| Segmentation | ARKit person segmentation | Isoler les personnes de l'arrière-plan |
| 3D object generation | Luma AI, Shap-E, TripoSR | Générer un mesh 3D depuis une description ou une image |
AR générative — usage émergent : L'utilisateur décrit verbalement un objet → un modèle de diffusion 3D génère le mesh → il apparaît dans l'espace AR. Expérimental en 2026 mais démontré par Luma AI, Block, Adobe.
Considérations éthiques : la détection de personnes et la reconnaissance faciale en AR publique soulèvent des questions réglementaires sérieuses (RGPD article 9, AI Act UE 2024).
Lab 5.1 — Détection d'objet dans une scène AR
Étapes :
- Intégrer ML Kit Object Detection dans un projet Unity (ou Swift/ARKit natif)
https://developers.google.com/ml-kit/vision/object-detection
- À chaque frame, envoyer l'image caméra au détecteur
- Si un objet de la catégorie "plante" est détecté → placer un label AR dessus ("Plante détectée")
- Tester avec 5 objets différents : quels taux de détection ?
Mini-exercice : Imaginer 3 cas d'usage concrets de l'AR générative dans votre domaine d'application (cultural heritage, éducation, industrie). Identifier les risques éthiques de chacun.
Module 6 — Accessibilité et éthique à l'échelle (2,5h)
Concept
Une expérience AR destinée à un public large doit anticiper des profils d'utilisateurs très divers. L'accessibilité n'est pas un ajout cosmétique — c'est une contrainte de design dès le début.
Checklist accessibilité AR :
- [ ] Toutes les interactions ont une alternative non-visuelle (son, vibration)
- [ ] Toutes les interactions ont une alternative sans geste précis (voice, dwell)
- [ ] Contraste texte ≥ 4.5:1 (WCAG 2.1 AA) dans tout environnement
- [ ] Aucune animation clignotante > 3 Hz (risque épilepsie, WCAG 2.3.1)
- [ ] Sessions limitées en durée ou avec option de pause (fatigue visuelle)
- [ ] Instructions disponibles en plusieurs langues
- [ ] Mode daltonien (pas d'info communiquée par couleur seule)
RGPD en AR :
- Toute captation d'espace avec cloud anchors = données de cartographie → consentement requis si des personnes ou des lieux privés sont inclus
- Données biométriques (eye tracking, face tracking) = catégorie sensible RGPD → traitement interdit sans consentement explicite
Lab 6.1 — Audit accessibilité
Étapes :
- Prendre votre prototype de niveau 2 ou votre projet fil rouge
- Passer la checklist ci-dessus : combien de cases cochées ?
- Identifier 2 points à améliorer
- Implémenter au moins 1 amélioration (alternative non-visuelle OU mode daltonien)
- Re-tester avec un utilisateur qui n'a jamais vu l'app
Module 7 — Méthodes de recherche avancées (2,5h)
Concept
Pour les projets AR complexes ou publiés, des méthodes de recherche plus rigoureuses permettent de valider les choix de design.
Méthodes adaptées à l'AR :
| Méthode | Usage | Durée |
|---|---|---|
| Wizard of Oz | Simuler des capacités non encore implémentées (IA, tracking avancé) | 1–2 jours |
| Experience Sampling Method (ESM) | Sonder les utilisateurs à des moments aléatoires pendant l'utilisation | 1–2 semaines |
| Presence Questionnaire (PQ) | Mesurer le sentiment de présence/immersion (Witmer & Singer, 1998) | Post-session |
| iGroup Presence Questionnaire (IPQ) | Alternative au PQ, libre d'utilisation | Post-session |
| Eye tracking | Analyser ce que l'utilisateur regarde (HMD avec eye tracking) | Nécessite matériel |
| A/B testing | Comparer deux variantes d'interaction sur un grand nombre d'utilisateurs | > 30 participants |
Witmer, B. G., & Singer, M. J. (1998). Measuring Presence in Virtual Environments: A Presence Questionnaire. Presence, 7(3), 225–240. https://doi.org/10.1162/105474698565686
Lab 7.1 — Évaluation avec Presence Questionnaire
Étapes :
- Télécharger le PQ ou l'IPQ (libre d'utilisation : http://www.igroup.org/pq/ipq/index.php)
- Tester votre prototype avec 3 personnes
- Administrer l'IPQ après chaque session
- Calculer les scores moyens sur les 3 sous-échelles (presence générale, spatial presence, implication)
- Interpréter : quels aspects de la présence sont forts/faibles dans votre expérience ?
Module 8 — Projet de niveau exposition (2,5h workshop)
Concept
Un projet AR de niveau exposition doit être robuste, maintenable, documenté et accessible à un public non technique sans supervision.
Critères de "production readiness" :
- Fonctionne sans intervention technique pendant 4 heures minimum
- Gère les cas d'erreur gracieusement (tracking perdu → message + restart automatique)
- Documentation technique (README pour les opérateurs)
- Documentation utilisateur (< 30 sec d'onboarding)
- Tests sur au moins 3 appareils différents
Lab 8.1 — Bilan production readiness
Étapes :
- Lister tous les "failure modes" de votre projet (tracking perdu, réseau coupé, batterie faible, objet hors champ)
- Pour chacun : qu'est-ce qui se passe actuellement ? Que devrait-il se passer ?
- Implémenter les 2 plus critiques
- Écrire le README opérateur (1 page A4 max) : démarrage, restart, problèmes courants
Projet fil rouge — Expérience AR niveau exposition
Brief
Concevoir, développer, tester et documenter une expérience AR qui serait présentable dans un contexte professionnel : galerie d'art, festival numérique, espace public, formation professionnelle, ou site patrimonial.
Contraintes
- Unity AR Foundation (iOS ou Android) OU WebAR haute qualité (8thWall)
- Minimum 3 patterns d'interaction distincts
- Cloud anchor ou persistance entre sessions
- Testé avec SUS + Presence Questionnaire + 5 utilisateurs minimum
- Au moins une itération documentée sur la base des tests
- Production-ready : gestion des erreurs, README opérateur, durée de session ≥ 4h sans intervention
Livrables
- Build déployable (fichier APK/IPA ou lien WebAR)
- Rapport de recherche design (8–12 pages) : contexte, choix technologiques, architecture, résultats tests (données + analyse), itérations, limites
- README opérateur (1 page)
- Présentation (15 min + 10 min Q&A) : démo live + données + réflexion critique
Rubrique d'évaluation
| Critère | Insuffisant (1) | Satisfaisant (2) | Bon (3) | Excellent (4) |
|---|---|---|---|---|
| Complexité technique | 1 pattern, pas de persistance | 2 patterns + ancres | 3 patterns + cloud anchor | 3+ patterns + multi-user ou IA spatiale |
| Robustesse (production) | Crashes fréquents | Fonctionne 1h | Fonctionne 4h, gère 2 erreurs | Gère tous les failure modes documentés |
| Tests (rigueur) | < 3 testeurs | SUS seul, 3 testeurs | SUS + PQ, 5 testeurs | SUS + PQ + itération documentée, 5+ testeurs |
| Rapport | Descriptif | Décisions justifiées | Données + analyse critique | Publication-ready : méthode reproductible |
| Accessibilité | Non prise en compte | 1 point adressé | Checklist partielle | Checklist complète + test avec profil spécifique |
Lectures & ressources
- Unity AR Foundation : https://docs.unity3d.com/Packages/com.unity.xr.arfoundation@latest
- ARCore Cloud Anchors : https://developers.google.com/ar/develop/cloud-anchors
- Azure Spatial Anchors : https://learn.microsoft.com/azure/spatial-anchors/
- Photon Fusion (réseau) : https://www.photonengine.com/fusion
- ML Kit Object Detection : https://developers.google.com/ml-kit/vision/object-detection
- iGroup Presence Questionnaire : http://www.igroup.org/pq/ipq/index.php
- Witmer, B. G., & Singer, M. J. (1998). Measuring Presence in Virtual Environments. Presence, 7(3), 225–240. https://doi.org/10.1162/105474698565686
- W3C WCAG 2.1 : https://www.w3.org/TR/WCAG21/
- ACM CHI Proceedings (recherche HCI/AR) : https://dl.acm.org/conference/chi
- IEEE ISMAR (AR/MR) : https://ismar.net
→ Niveau précédent : Design d'Interaction AR — Niveau 2 → Passer à la VR : Design d'Interaction VR — Niveau 1 → Masterclass ou formation sur mesure : Prendre rendez-vous
Workshop intensif (1–2 j) — écoles, studios, musées. Théorie condensée + labs + accompagnement projet.
Prendre rendez-vous (30 min, gratuit) →