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
- Comprenez les concepts de base, la composition et le flux de travail d'une session via Introduction à AR Session.
- Comprenez le concept de base des modes de centre et leur impact sur le comportement des objets dans la scène via Les modes de centre d'AR Session.
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.

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.

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 letargetde la carte spatiale clairsemée et leXR Origindu suivi de mouvement). Dans ce cas, utiliser letargetcomme centre répond mieux aux besoins de production de contenu que d'utiliser leXR Origin.Cas où plusieurs
targetsont suivis simultanément
Pour plusieurstargetsuivis simultanément, même si les objets du monde réel sont relativement immobiles, cestargetpeuvent 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, leXR 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
targetcorrespondant, ou sous le nœudXR Origin(si le contenu doit suivre le mouvement du XR Origin) - Ou alignez manuellement la position et l'orientation du contenu avec le
targetou leXR 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.