Vue d’ensemble de la capture de réalité mixte

Notes

Consultez Rendu à partir de la caméra PV ci-dessous pour obtenir des conseils sur une nouvelle fonctionnalité CRM pour HoloLens 2.

Vous pouvez prendre une photo ou une vidéo de capture de réalité mixte (CRM) à tout moment, mais il y a quelques éléments à garder à l’esprit lors du développement de votre application. Cela inclut les meilleures pratiques pour la qualité visuelle du CRM et la réactivité aux changements du système pendant la capture des MRCs.

Les développeurs peuvent également intégrer en toute transparence la capture et l’insertion de réalité mixte dans leurs applications.

MRC sur HoloLens (première génération) prend en charge les vidéos et les photos jusqu’à 720p, tandis que MRC sur HoloLens 2 prend en charge les vidéos jusqu’à 1080p et les photos jusqu’à une résolution 4K.

L’importance du CRM de qualité

Qu’il s’agisse de captures d’écran de réalité mixte sur votre page du Microsoft Store ou d’autres utilisateurs partageant du contenu de capture sur les réseaux sociaux, Mixed Reality le média capture est souvent une première exposition des utilisateurs à votre application. Vous pouvez utiliser CRM pour faire la démonstration de votre application, éduquer les utilisateurs, encourager les utilisateurs à partager leurs interactions dans un monde mixte, ainsi que pour la recherche utilisateur et la résolution de problèmes.

Impact du CRM sur votre application

Activation de LAM dans votre application

Par défaut, une application n’a pas besoin de faire quoi que ce soit pour permettre aux utilisateurs d’effectuer des captures de réalité mixte.

Activation d’un alignement amélioré pour le crm dans votre application

Par défaut, la capture de réalité mixte combine la sortie holographique de l’œil droit avec l’appareil photo/vidéo (PV). Ces deux sources sont combinées à l’aide du point de focus défini par l’application immersive en cours d’exécution.

Cela signifie que les hologrammes en dehors du plan de mise au point ne s’alignent pas en raison de la distance physique entre la caméra PV et l’écran droit.

Définir le point de focus

Les applications immersives (sur HoloLens) doivent définir le point de concentration de l’emplacement où elles souhaitent que leur plan de stabilisation soit. Cela garantit le meilleur alignement à la fois dans le casque et dans la capture de réalité mixte.

Si un point de focus n’est pas défini, le plan de stabilisation est par défaut de 2 mètres.

Rendu à partir de la caméra PV (opt-in)

HoloLens 2 ajoute la possibilité pour une application immersive de restituer à partir de la caméra PV pendant que la capture de réalité mixte est en cours d’exécution. Pour vous assurer que l’application prend correctement en charge le rendu supplémentaire, l’application doit accepter cette fonctionnalité.

Le rendu à partir de la caméra PV offre les améliorations suivantes par rapport à l’expérience CRM par défaut :

  • L’alignement de l’hologramme sur votre environnement physique et les mains pour les interactions proches doit être précis à toutes les distances. Évitez d’avoir un décalage à des distances autres que le point de focus comme vous pouvez le voir dans le CRM par défaut.
  • L’œil droit du casque ne sera pas compromis, car il ne sera pas utilisé pour restituer les hologrammes de la sortie MRC.

En savoir plus sur le rendu à partir de la caméra PV (DirectX).

Bonnes pratiques (spécifiques à HoloLens)

On s’attend à ce que le CRM fonctionne sans effort de développement supplémentaire, mais il y a quelques points à prendre en compte pour offrir la meilleure expérience de capture de réalité mixte.

CRM utilise le canal alpha de l’hologramme pour se mélanger à l’imagerie de la caméra

L’étape la plus importante consiste à s’assurer que votre application efface en noir transparent au lieu d’effacer en noir opaque. Dans Unity, cela s’effectue par défaut avec MixedRealityToolkit. Si vous développez dans des applications autres que Unity, vous devrez peut-être apporter une modification d’une ligne.

Voici quelques-uns des artefacts que vous pouvez voir dans MRC si votre application ne passe pas au noir transparent :

Exemple d’échecs : bords noirs autour du contenu (échec de l’effacement au noir transparent)

Échec de l’effacement en noir transparent : artefacts de bord noir autour des hologrammes Échec de l’effacement en noir transparent : artefacts de bord noir autour des hologrammes

Exemples d’échecs : la scène d’arrière-plan entière de l’hologramme apparaît en noir. La définition d’une valeur alpha d’arrière-plan d’un entraîne un arrière-plan noir

La définition d’une valeur alpha d’arrière-plan de 1 entraîne un arrière-plan noir

Résultat attendu : les hologrammes apparaissent correctement mélangés avec le monde réel (résultat attendu en cas d’effacement en noir transparent)

Résultat attendu en cas d’effacement en noir transparent

Solution:

  • Modifiez tout contenu qui s’affiche sous la forme d’un noir opaque pour avoir une valeur alpha de 0.
  • Assurez-vous que l’application est vide en noir transparent.
  • Par défaut, Unity s’efface automatiquement avec MixedRealityToolkit, mais s’il s’agit d’une application non Unity, vous devez modifier la couleur utilisée avec ID3D11DeiceContext::ClearRenderTargetView(). Vous voulez vous assurer que vous effacez en noir transparent (0,0,0,0) au lieu d’un noir opaque (0,0,0,1).

Vous pouvez maintenant régler les valeurs alpha de vos ressources si vous le souhaitez, mais vous n’en avez généralement pas besoin. La plupart du temps, les MRC ont l’air bien sortis de la boîte. LE CRM suppose que l’alpha est pré-multiplié. Les valeurs alpha affectent uniquement la capture CRM.

À quoi s’attendre lorsque la MRC est activée sur HoloLens

Les éléments suivants s’appliquent à HoloLens (première génération) et HoloLens 2, sauf indication contraire :

  • Le système limite le rendu de l’application à 30 Hz. Cela crée une certaine marge d’attente pour que MRC s’exécute de sorte que l’application n’a pas besoin de conserver une réserve budgétaire constante et correspond également à la fréquence d’images d’enregistrement vidéo MRC de 30 fps
  • Le contenu de l’hologramme dans l’œil droit de l’appareil peut sembler « scintiller » lors de l’enregistrement/diffusion en continu du CONTENU : le texte peut devenir plus difficile à lire et les bords de l’hologramme peuvent apparaître plus jaggy (le choix du rendu de la troisième caméra sur HoloLens 2 évite ce compromis)
  • Les photos et vidéos CRM respectent le point de focus de l’application si l’application l’a activé, ce qui permet de s’assurer que les hologrammes sont positionnés avec précision. Pour les vidéos, le point de focus est lissé de sorte que les hologrammes peuvent sembler dériver lentement en place si la profondeur du point de focus change considérablement. Les hologrammes qui se trouvent à des profondeurs différentes du point de focus peuvent apparaître décalés par rapport au monde réel (voir l’exemple ci-dessous où le point de focus est défini à 2 mètres, mais l’hologramme est positionné à 1 mètre).

Les hologrammes à 2 mètres apparaîtront parfaitement inscrits au monde. Les hologrammes à des distances proches ou éloignées peuvent être légèrement décalés.

Intégration de la fonctionnalité CRM à partir de votre application

Votre application de réalité mixte peut démarrer la capture de photos ou de vidéos CRM à partir de l’application, et le contenu capturé est mis à la disposition de votre application sans être stocké dans le « pellicule » de l’appareil. Vous pouvez créer un enregistreur CRM personnalisé ou tirer parti de l’interface utilisateur de capture de caméra intégrée.

CRM avec interface utilisateur intégrée de la caméra

Les développeurs peuvent utiliser l’API d’interface utilisateur Capture de caméra pour obtenir une photo ou une vidéo de réalité mixte capturée par l’utilisateur avec seulement quelques lignes de code.

Cette API lance l’interface utilisateur intégrée de l’appareil photo CRM, où les utilisateurs peuvent prendre une photo ou une vidéo et retourne la capture obtenue à votre application. Vous pouvez créer un enregistreur de capture Mixed Reality personnalisé si vous devez ajouter votre propre interface utilisateur de caméra ou un accès de niveau inférieur aux flux de capture.

Création d’un enregistreur CRM personnalisé

Bien que l’utilisateur puisse toujours déclencher une photo ou une vidéo à l’aide du service de capture CRM système, une application peut créer une application d’appareil photo personnalisée qui inclut des hologrammes dans le flux d’appareil photo, tout comme CRM. Cela permet à l’application de lancer des captures à partir d’une entrée utilisateur, de créer une interface utilisateur d’enregistrement personnalisée ou de personnaliser les paramètres CRM pour n’en citer que quelques exemples.

HoloStudio ajoute une caméra CRM personnalisée à l’aide d’effets CRM

HoloStudio ajoute une caméra CRM personnalisée à l’aide d’effets CRM

Les applications Unity doivent voir Locatable_camera_in_Unity pour la propriété afin d’activer les hologrammes.

D’autres applications peuvent le faire à l’aide des API de capture Windows Media pour contrôler l’appareil photo et ajouter un effet vidéo et audio CRM pour inclure des hologrammes virtuels et l’audio d’application dans des images fixes et des vidéos.

En savoir plus sur la création d’un enregistreur CRM personnalisé (DirectX).

Limitations crm simultanées

Vous devez être conscient de certaines limitations lorsque plusieurs applications accèdent à CRM en même temps.

Accès à la caméra photo/vidéo

Sur HoloLens 1, CRM ne parvient pas à capturer une photo ou une vidéo pendant qu’un processus enregistre une vidéo ou prend une photo. L’inverse est également vrai : si MRC est en cours d’exécution, l’application ne parvient pas à accéder à la caméra.

Avec HoloLens 2, vous pouvez partager l’accès à la caméra. Si vous n’avez pas besoin de contrôler directement la résolution ou la fréquence d’images, vous pouvez initialiser MediaCapture à l’aide de la propriété SharedMode avec SharedReadOnly.

Accès photo/vidéo CRM intégré

En savoir plus sur l’accès intégré à la caméra photo/vidéo CRM (DirectX).

Accès CRM pour les développeurs

Nous vous recommandons de toujours demander un contrôle exclusif pour la caméra lors de l’utilisation de MRC. Cela garantit que votre application dispose d’un contrôle total sur les paramètres de l’appareil photo tant que vous connaissez les limitations répertoriées ci-dessus.

En savoir plus sur l’accès CRM pour les développeurs (DirectX).

Voir aussi