Skip to content
Snippets Groups Projects
FAYOL Pierre's avatar
FAYOL Pierre authored
Revert "Add déformation partielle avec Media Pipe. Les tests se font dans la scène BaS(Bac à sable, prévue pour développer sans avoir à modifier la scène principale). Le serveur python pour MediaPipe se trouve dans ./pose_extraction_utilities, PoseExtractionServer.bat."

This reverts commit 54168eb9.
6ec74967
History

AvatarAR

Sommaire

  1. Setup d'Optitrack
  2. Configurer le logiciel
  3. Calibrer la caméra
  4. Ajouter un avatar
  5. Ajouter un prop
  6. Workflow du projet

Setup d'Optitrack

Matériel nécessaire :

  • Marqueur Aruco
  • Marqueurs Optitrack
  • Caméra USB
  • Ecran d'affichage
  • Tenue optitrack avec marqueurs
  • Planche de calibration Charuco fixée sur un carton

Fixation des marqueurs

Il faut d'abord fixer une constellation sur le marqueur aruco et la caméra, peu importe la forme, tant que le barycentre des points se trouve à peu près au centre de l'objet.

Ensuite, placer un marqueur à chaque coin de l'écran utilisé, puis en placer un 5ème quelque part sur l'écran pour faire une constellation asymétrique.

Et enfin, préparer une tenue de tracking.

Setup de Motive

(avec le setup de la salle Atol, il suffit de charger le profile motive et la calibration AvatarRA)

  • Ajouter 3 rigid bodies avec les identifiants 1,2,3, correspondant aux coins de la télé comme suivant :

écran

  • Ajouter un rigid body d'id 4 pour le marqueur Aruco.
  • Ajouter un rigid body d'id 5 pour la caméra.
  • Configurer un avatar sur Motive avec pour nom "avatar"
  • Récupérer l'ip du serveur ainsi que les ports utilisés sur Motive, faire attention à ce que les paramètres "Skeleton Coordinates" = local et "Bone Naming Convention" = Motive sur le Streaming Pane.

Configurer le logiciel

Il faut entrer la profondeur de la pièce dans le gameobject Root>Main, et entrer l'ip locale, l'ip du serveur, et les ports de transmission dans le gameobject Root > OptiTrackClient.

Calibrer la caméra

Pour calibrer la caméra, il faut configurer aruco et ensuite orienter la caméra correctement :

Configuration d'aruco (à ne faire qu'une fois)

  • Au lancement du logiciel, appuyer sur C pour passer à la calibration aruco.
  • Passer la planche Charuco devant la caméra, le logiciel prendra automatiquement des photos en appuyant sur espace. Faire passer la planche partout dans le champ de la caméra, surtout dans les coins.
  • Appuyer sur R permet de réinitialiser les images
  • Au bout d'un nombre suffisant d'images (10 à 20), appuyer sur "Calibrate" ou F pour générer une configuration aruco pour la caméra. Le logiciel calcule la configuration pendant quelques dizaines de secondes.
  • Appuyer à nouveau sur C quand la calibration est finie pour repasser au mode principal.

Configuration l'orientation de la caméra (à ne faire qu'une fois)

  • Appuyer sur W depuis le mode principal.
  • Placer et orienter la caméra dans la position idéale pour filmer la scène.
  • Faire passer le marqueur Aruco devant la caméra, bien au centre de l'image, et le plus loin possible idéalement.
  • Au bout de quelques images, la calibration est faite. Appuyer sur R si besoin pour réinitialiser les mesures.

Remarque : En cas de problème avec la calibration : supprimer le fichier webcamParams.xmm avant de lancer l'application pour réinitialiser.

Configuration du FOV de la caméra (à ne faire qu'une fois)

  • Après avoir calibré l'orientation, appuyer sur S pour changer de mode.
  • Faire passer le marqueur devant la caméra, essayer de passer sur les bords de l'image.
  • Après quelques images, la caméra est calibrée et appuyer sur W pour revenir au mode principal.

Afficher le panorama du fond fixe

  • Appuyer sur B pour générer le fond depuis le mode principal, éviter de mettre des objets mobiles ou personnes devant la caméra au moment où la touche est appuyée. Le fond est généré à partir des photos fournies dans le dossier images. Il faut renommer une des photos center pour que le panorama centre le fond sur cette image.
  • Appuyer sur L pour afficher le fond, s'il a déjà été généré précédemment.

Ajouter un avatar

  • Vérifier que l'avatar soit en Animation Type Humanoid.
  • Ajouter le modèle de l'avatar en tant qu'enfant du Gameobject Avatars.
  • Dans le Component Animator, changer le Controller pour le controller TPose.
  • Ajouter le Script Full Body Biped IK (il faudra peut être changer le transform du Root Node)
  • Désactiver le Component Animator et le GameObject du nouvel avatar
  • Ajouter l'avatar dans la liste du script du Gameobject Root > Mode Controller.
  • Ajouter un bouton dans l'interface du Mode Controller, en dupliquant un des boutons qui chargent un avatar. Il faut ensuite changer l'identifiant de l'avatar dans la liste dans les paramètres du bouton.

Ajouter un prop

  • Ajouter le(s) Prefab(s) en tant qu'enfant(s) du GameObject Props.
  • Ajouter le script PropController à un des prefabs et le configurer en précisant à quel bone optitrack il faut lier quel prop, avec quelle position, rotation et taille. Cela permet d'ajouter un ensemble de props pour un seul mode (ex: chapeau et gants dans un seul prop).
  • Ajouter le PropController dans la liste du script du Gameobject Root > Mode Controller.

Workflow du projet

Voir ici.