Table of Contents

Choisir le mode de centre approprié

Choisir le mode de centre approprié est crucial pour la production de contenu. Grâce au contenu suivant, vous apprendrez comment obtenir et modifier les modes de centre, ainsi que des suggestions pour choisir le mode de centre approprié.

Avant de commencer

Obtenir les modes de centre disponibles

Pendant l'exécution de la session, seuls les modes de centre disponibles pour la session actuelle sont affichés dans le menu déroulant Center du panneau Inspector. Si la session n'est pas démarrée, tous les modes de centre sont affichés.

alt text

Cette image montre les modes de centre disponibles dans la session lors de l'utilisation de CameraDeviceFrameSource dans l'éditeur.

Dans les scripts, vous pouvez obtenir la liste des modes de centre disponibles dans la session actuelle via la propriété ARSession.AvailableCenterMode après l'assemblage réussi de la session.

Par exemple, le code suivant montre comment vérifier si un mode de centre est disponible dans la session actuelle :

if (Session.AvailableCenterMode.Contains(mode))
{
    // mode est disponible dans la session actuelle
}

Modifier le mode de centre

Ouvrez le panneau Inspector, sélectionnez le mode de centre souhaité dans le menu déroulant Center.

alt text

Dans les scripts, vous pouvez modifier le mode de centre via la propriété ARSession.CenterMode.

Par exemple, le code suivant montre comment basculer cycliquement entre les modes de centre disponibles :

while (true)
{
    Session.CenterMode = (ARSession.ARCenterMode)(((int)Session.CenterMode + 1) % Enum.GetValues(typeof(ARSession.ARCenterMode)).Length);
    if (Session.AvailableCenterMode.Contains(Session.CenterMode)) { break; }
}

La session vérifie à chaque mise à jour d'image si le mode de centre actuel est valide. S'il est valide, la session tente immédiatement d'utiliser le nouveau mode de centre.

Dans la vidéo ci-dessus, la session utilise initialement le mode FirstTarget, l'objet central étant le sapin de Noël (nuage de points bleu clair). Nous avons ensuite manuellement modifié le mode de centre en Camera, l'objet central devenant la caméra (cône bleu). Pour une description détaillée du contenu vidéo, reportez-vous à Les modes de centre d'AR Session.

Lors de la mise à jour de la session, si le mode de centre modifié n'est pas valide dans la session actuelle, la propriété CenterMode est automatiquement modifiée pour utiliser le premier mode de centre disponible (généralement FirstTarget ou SessionOrigin), et un message d'avertissement est enregistré :

Center mode {Value} is unavailable in this session, reset to {NewValue}.

Comment choisir un mode de centre

L'alignement avec les objets du monde réel est au cœur de la production de contenu AR, et le mode de centre détermine quel objet la session utilise comme point de référence pour calculer la position et l'orientation des autres objets dans la scène. Par conséquent, choisir le mode de centre approprié est crucial pour la production de contenu.

Recommandations générales

Souvent, l'utilisation des modes FirstTarget ou SpecificTarget, avec le target comme centre, est plus conviviale pour la production de contenu. Cela permet aux points de référence du contenu placé sous le target de rester immobiles, sans être affectés inutilement par les mouvements du XR Origin ou de la camera (par exemple, pour les calculs du système physique). Cependant, ce n'est pas absolu, plus précisément :

  • Lorsque vous ne savez pas quoi choisir, utilisez la valeur par défaut, c'est-à-dire le centre FirstTarget
    Étant donné que la plupart des fonctionnalités AR ont des erreurs et que celles-ci sont continuellement corrigées pendant l'exécution, cela entraîne un mouvement relatif dans l'espace virtuel d'objets qui semblent immobiles dans le monde réel (comme le target de la carte spatiale clairsemée et le XR Origin du suivi de mouvement). Dans ce cas, utiliser le target comme centre répond mieux aux besoins de production de contenu que d'utiliser le XR Origin.

  • Cas où plusieurs target sont suivis simultanément
    Pour plusieurs target suivis simultanément, même si les objets du monde réel sont relativement immobiles, ces target peuvent avoir un mouvement relatif en raison des erreurs de calcul. Le choix de l'objet central dépend des besoins réels, mais généralement le mode FirstTarget est le choix le plus approprié.

  • Quand utiliser le mode SessionOrigin
    SessionOrigin convient aux scénarios où seul le suivi de mouvement est actif, le XR Origin étant alors le seul point de référence. Il convient également à certains cas particuliers, comme lorsque le fabricant du casque n'implémente pas correctement le point de référence du suivi de mouvement, ce qui nécessite d'utiliser le centre du monde Unity, imposant ainsi le mode SessionOrigin.

  • Scénarios d'utilisation du mode Camera
    Le mode Camera est plus adapté aux scénarios où la caméra physique est fixe (par exemple, pour les AR de type cartes à jouer avec caméra fixe), rendant ainsi la création de contenu plus pratique.

Modes de centre couramment utilisés pour différentes fonctionnalités AR

Lors de l'utilisation individuelle de certaines fonctionnalités AR, certains modes de centre sont plus couramment utilisés. Le tableau suivant répertorie les modes de centre couramment utilisés pour ces fonctionnalités AR :

Fonctionnalité Modes de centre couramment utilisés
Mega FirstTarget ou SpecificTarget
Suivi de mouvement SessionOrigin
Détection de plan SessionOrigin
Carte spatiale clairsemée FirstTarget ou SpecificTarget
Carte spatiale dense SessionOrigin
Suivi de surface FirstTarget ou SpecificTarget
Suivi d'image FirstTarget, SpecificTarget ou Camera
Reconnaissance d'image cloud FirstTarget, SpecificTarget ou Camera
Suivi d'objet FirstTarget, SpecificTarget ou Camera

Considérations pour le développement multiplateforme

Lors du développement d'applications AR multiplateformes, il est nécessaire de considérer la prise en charge des différents modes de centre par les différents appareils.

  • Si seuls les smartphones et tablettes sont concernés, il n'y a généralement pas de problème majeur. Si SessionOrigin est nécessaire, assurez-vous que le suivi de mouvement peut fonctionner.
  • Pour les casques, une attention particulière est requise
    • Consultez Modes de centre valides pour déterminer les modes de centre pris en charge par les appareils que vous allez utiliser. Si vous utilisez des extensions tierces, vérifiez le OriginType qu'elles utilisent.
    • Avec les appareils Rokid, évitez autant que possible UXR. L'utilisation de XRI garantit que la plupart des modes de centre sont disponibles.
    • Sur les casques ne prenant pas en charge les modes FirstTarget et SpecificTarget, notez que l'utilisation de fonctionnalités comme Mega ou le suivi d'image rend difficile la fixation de contenu par rapport au système de coordonnées mondial Unity.

Contenu affiché correctement dans tous les modes de centre

Avertissement

Dans Unity AR, tout objet existant dans le système de coordonnées mondial Unity et dont le transform n'est pas ajusté en fonction des composants de session peut ne pas s'afficher correctement.

Si des modèles sont placés dans le système de coordonnées mondial, leur position et orientation peuvent ne correspondre à aucun objet du monde réel. L'effet en cours d'exécution peut sembler correct par coïncidence, ou peut sembler flotter dans les airs ou bouger de manière erratique.

Pour garantir que le contenu s'affiche correctement dans tous les modes de centre, la bonne pratique est :

  • Placez toujours le contenu à afficher sous le nœud target correspondant, ou sous le nœud XR Origin (si le contenu doit suivre le mouvement du XR Origin)
  • Ou alignez manuellement la position et l'orientation du contenu avec le target ou le XR Origin, mais effectuez cette opération après l'événement ARSession.PostSessionUpdate
Note

Cela ne garantit pas que tous les éléments de contenu fonctionnent correctement, car certaines fonctionnalités Unity ne peuvent fonctionner que dans le système de coordonnées mondial (comme le système physique). Choisir le mode de centre approprié reste donc important.

Sujets connexes