Vue d’ensemble de la capture de réalité mixte
Remarque
Consultez Rendu à partir de la caméra PV ci-dessous pour obtenir des conseils sur une nouvelle fonctionnalité MRC pour HoloLens 2.
Vous pouvez prendre une photo ou une vidéo de capture de réalité mixte (MRC) à tout moment, mais il y a quelques points à garder à l’esprit lors du développement de votre application. Cela inclut les meilleures pratiques pour la qualité visuelle MRC et la réactivité aux changements du système pendant la capture des MRC.
Les développeurs peuvent également intégrer en toute transparence la capture de réalité mixte et l’insertion 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 de 4K.
L’importance de la qualité MRC
Qu’il s’agisse de captures d’écran de réalité mixte sur votre page du Microsoft Store ou d’autres utilisateurs qui partagent du contenu de capture sur les réseaux sociaux, Mixed Reality Les médias de capture sont souvent une première exposition des utilisateurs à votre application. Vous pouvez utiliser MRC pour faire la démonstration de votre application, éduquer les utilisateurs, encourager les utilisateurs à partager leurs interactions de monde mixte, et pour la recherche utilisateur et la résolution des problèmes.
Impact de MRC sur votre application
Activation de MRC dans votre application
Par défaut, une application n’a rien à faire pour permettre aux utilisateurs d’effectuer des captures de réalité mixte.
Activation de l’alignement amélioré pour MRC 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’affichage droit.
Définir le point de focus
Les applications immersives (sur HoloLens) doivent définir le point de focus de leur plan de stabilisation. Cela garantit le meilleur alignement dans le casque et dans la capture de réalité mixte.
Si aucun point de focus n’est défini, le plan de stabilisation est défini par défaut sur 2 mètres.
Rendu à partir de la caméra PV (opt-in)
HoloLens 2 ajoute la possibilité pour une application immersive de s’afficher à partir de la caméra PV pendant l’exécution de la capture de réalité mixte. Pour s’assurer que l’application prend correctement en charge le rendu supplémentaire, l’application doit choisir cette fonctionnalité.
Le rendu à partir de la caméra PV offre les améliorations suivantes par rapport à l’expérience MRC par défaut :
- L’alignement des hologrammes 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 MRC par défaut.
- L’œil droit dans le casque ne sera pas compromis, car il ne sera pas utilisé pour afficher 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 la MRC fonctionne sans effort de développement supplémentaire, mais il y a quelques points à connaître lorsque vous fournissez la meilleure expérience de capture de réalité mixte.
MRC utilise le canal alpha de l’hologramme pour fusionner avec l’imagerie de la caméra
L’étape la plus importante consiste à s’assurer que votre application s’efface en noir transparent au lieu de l’effacer en noir opaque. Dans Unity, cette opération est effectuée par défaut avec MixedRealityToolkit. Si vous développez dans un environnement non-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 n’est pas nettoyée en noir transparent :
Exemples d’échecs : bords noirs autour du contenu (échec de l’effacement au noir transparent)
![]() |
![]() |
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
Résultat attendu : les hologrammes semblent correctement mélangés avec le monde réel (résultat attendu en cas d’effacement en noir transparent)
Solution :
- Modifiez tout contenu qui s’affiche en noir opaque pour avoir une valeur alpha de 0.
- Vérifiez que l’application s’efface en noir transparent.
- Unity efface automatiquement par défaut avec MixedRealityToolkit, mais s’il s’agit d’une application non-Unity, vous devez modifier la couleur utilisée avec ID3D11DeiceContext ::ClearRenderTargetView(). Vous souhaitez vous assurer que vous effacez en noir transparent (0,0,0,0) au lieu du noir opaque (0,0,0,1).
Vous pouvez désormais régler les valeurs alpha de vos ressources si vous le souhaitez, mais n’en avez généralement pas besoin. La plupart du temps, les MRC seront bien sortis de la boîte. MRC suppose que l’alpha est prémultiplié. Les valeurs alpha affectent uniquement la capture MRC.
À quoi s’attendre quand 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 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 MRC : le texte peut devenir plus difficile à lire et les bords d’hologramme peuvent apparaître plus jaggy (le fait d’opter pour le rendu de la troisième caméra sur HoloLens 2 évite cette compromission)
- Les photos et vidéos MRC respectent le point de focus de l’application si l’application l’a activée, 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).
Intégration des fonctionnalités MRC à partir de votre application
Votre application de réalité mixte peut démarrer la capture de photos ou de vidéos MRC à partir de l’application, et le contenu capturé est mis à la disposition de votre application sans être stocké dans la « pellicule » de l’appareil. Vous pouvez créer un enregistreur MRC personnalisé ou tirer parti de l’interface utilisateur de capture de caméra intégrée.
MRC avec interface utilisateur intégrée de l’appareil photo
Les développeurs peuvent utiliser l’API d’interface utilisateur de capture d’appareil photo 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 MRC dans laquelle 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 pour capturer des flux.
Création d’un enregistreur MRC personnalisé
Bien que l’utilisateur puisse toujours déclencher une photo ou une vidéo à l’aide du service de capture MRC système, une application peut vouloir créer une application d’appareil photo personnalisée qui inclut des hologrammes dans le flux de l’appareil photo, tout comme MRC. 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 MRC pour ne citer que quelques exemples.
HoloStudio ajoute une caméra MRC personnalisée à l’aide d’effets MRC
Les applications Unity doivent voir Locatable_camera_in_Unity de la propriété pour activer les hologrammes.
D’autres applications peuvent le faire en utilisant les API de capture Windows Media pour contrôler l’appareil photo et ajouter un effet vidéo et audio MRC pour inclure des hologrammes virtuels et l’audio de l’application dans des images fixes et des vidéos.
En savoir plus sur la création d’un enregistreur MRC personnalisé (DirectX).
Limitations mrc simultanées
Vous devez connaître certaines limitations lorsque plusieurs applications accèdent à MRC en même temps.
Accès à la caméra photo/vidéo
Sur HoloLens 1, MRC 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 intégré à la caméra photo/vidéo MRC
En savoir plus sur l’accès intégré à la caméra photo/vidéo MRC (DirectX).
Accès MRC 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 des paramètres de l’appareil photo tant que vous connaissez les limitations répertoriées ci-dessus.
En savoir plus sur l’accès MRC pour les développeurs (DirectX).