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

Notes

Pour obtenir des conseils sur une nouvelle fonctionnalité MRC pour HoloLens 2, consultez rendu à partir de l’appareil photo PV ci-dessous.

Vous pouvez utiliser une photo ou une vidéo MRC ( Mixed Reality capture ) à tout moment, mais il y a peu de choses à garder à l’esprit lors du développement de votre application. Cela comprend les meilleures pratiques pour la qualité visuelle MRC et la réponse aux modifications du système pendant la capture des MRCs.

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

le mrc sur HoloLens (première génération) prend en charge les vidéos et les photos jusqu’à 720p, tandis que la mrc sur HoloLens 2 prend en charge les vidéos jusqu’à 1080p et les photos jusqu’à 4 ko.

L’importance de la qualité du MRC

qu’il s’agisse de captures d’écran de réalité mixte sur votre page de Microsoft Store ou d’autres utilisateurs partageant du contenu de capture sur des réseaux sociaux, les médias de capture de réalité mixte sont souvent des utilisateurs qui ont d’abord une exposition à votre application. Vous pouvez utiliser la fonction MRC pour faire la démonstration de votre application, éduquer les utilisateurs, encourager les utilisateurs à partager leurs interactions avec le monde mixte et pour la recherche des utilisateurs et la résolution des problèmes.

Impact de la MRC sur votre application

Activation de la 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 la MRC dans votre application

Par défaut, la capture de la réalité mixte combine la sortie holographique de l’oeil 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 immersif en cours d’exécution.

Cela signifie que les hologrammes à l’extérieur du plan de focalisation ne s’alignent pas en raison de la distance physique entre la caméra va et l’écran de droite.

Définir le point de focus

les applications immersives (sur HoloLens) doivent définir le point de focalisation de leur plan de stabilisation. Cela garantit l’alignement optimal dans le casque et dans la capture de réalité mixte.

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

Rendre à partir de l’appareil photo PV (abonnement)

HoloLens 2 ajoute la possibilité pour une application immersif de s' afficher à partir de l’appareil photo PV pendant l’exécution de la capture de la réalité mixte. Pour vous assurer que l’application prend en charge le rendu supplémentaire correctement, l’application doit accepter cette fonctionnalité.

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

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

En savoir plus sur le rendu à partir de l’appareil photo PV (DirectX).

meilleures pratiques (spécifiques à HoloLens)

La MRC est censée fonctionner sans effort de développement supplémentaire, mais il existe quelques éléments à prendre en compte lors de la meilleure expérience de capture de la réalité mixte.

MRC utilise le canal alpha de l’hologramme pour mélanger avec l’image de l' appareil photo

L’étape la plus importante consiste à s’assurer que votre application est déclassée au noir transparent au lieu d’être vidée en noir opaque. Dans Unity, cette opération est effectuée par défaut avec le MixedRealityToolkit. Si vous effectuez un développement dans non Unity, vous devrez peut-être modifier une seule ligne.

Voici certains des artefacts que vous pouvez voir dans la MRC si votre application n’est pas dépendante du noir transparent :

Exemples d’échecs: bords noirs autour du contenu (ne pas effacer jusqu’au noir transparent)

Failure to clear to transparent black: black edge artifacts around holograms Failing to clear to transparent black: black edge artifacts around holograms

Exemples d’échecs: la scène d’arrière-plan complète de l’hologramme s’affiche en noir. La définition d’une valeur alpha d’arrière-plan d’un résultat en arrière-plan noir

Setting a background alpha value of 1 results in a black background

résultat attendu: Hologrammes apparaissent correctement mélangées avec le monde réel (résultat attendu en cas d’effacement du noir transparent)

Expected result if clearing to transparent black

Solution:

  • Modifiez tout le contenu affiché en noir opaque pour avoir une valeur alpha de 0.
  • Assurez-vous que l’application est en mode d’effacement transparent noir.
  • La valeur par défaut Unity est Clear automatiquement 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 vous dépassez du noir transparent (0, 0, 0, 0) au lieu du noir opaque (0, 0, 0, 1).

Vous pouvez maintenant ajuster les valeurs alpha de vos ressources si vous le souhaitez, mais cela n’est généralement pas nécessaire. La plupart du temps, MRCs semble prêt à l’emploi. MRC suppose une alpha prémultipliée. Les valeurs alpha n’affectent que la capture MRC.

Ce qui se passe lorsque la MRC est activée sur HoloLens

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

  • Le système limite l’application à un rendu de 30 Hz. Cela crée de l’espace pour l’exécution de la MRC afin que l’application n’ait pas besoin de conserver une réserve de budget constante et qu’elle corresponde à la fréquence d’enregistrement de l’enregistrement vidéo MRC de 30 fps.
  • le contenu de l’hologramme dans le bon œil de l’appareil peut sembler « spark » lors de l’enregistrement/de la diffusion en continu MRC : le texte peut devenir plus difficile à lire et les bords de l’hologramme peuvent apparaître plus dentelés (en acceptant le rendu de la troisième caméra sur HoloLens 2 évitant cette compromission)
  • Les photos et vidéos MRC respectent le point de focalisation de l’application si l’application l’a activée, ce qui permet de s’assurer que les hologrammes sont correctement positionnés. Pour les vidéos, le point de focalisation est lissé, de sorte que les hologrammes peuvent paraître lentement en place si la profondeur du point de focalisation change de façon significative. les Hologrammes qui se trouvent à des profondeurs différents du point de focus peuvent apparaître dans le 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).

Holograms at 2 meters will appear perfectly registered to the world. Holograms at close or far distances may be slightly offset.

Intégration de la fonctionnalité 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 le « rouleau de caméra » de l’appareil. Vous pouvez créer un enregistreur MRC personnalisé ou tirer parti de l’interface utilisateur de capture d’appareil photo intégrée.

MRC avec l’interface utilisateur de l’appareil photo intégré

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

Cette API lance l’interface utilisateur de l’appareil photo MRC intégrée dans laquelle les utilisateurs peuvent prendre une photo ou une vidéo et retourner la capture obtenue à votre application. Vous pouvez créer un enregistreur de capture de réalité mixte personnalisé si vous devez ajouter votre propre interface utilisateur d’appareil photo 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 du système, une application peut vouloir créer une application de caméra personnalisée qui inclut des hologrammes dans le flux de la caméra, tout comme la MRC. Cela permet à l’application de déclencher des captures à partir de l’entrée d’utilisateur, de créer une interface utilisateur d’enregistrement personnalisée ou de personnaliser les paramètres MRC pour nommer quelques exemples.

HoloStudio ajoute une caméra mrc personnalisée à l’aide des effets mrc

HoloStudio adds a custom MRC camera using MRC effects

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

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

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

Limitations de la MRC simultanée

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

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

sur HoloLens 1, la fonction MRC ne parvient pas à capturer une photo ou à capturer une vidéo lorsqu’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 à l’appareil photo.

avec HoloLens 2, il est possible de partager l’accès à l’appareil photo. 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 à la caméra photo/vidéo intégrée (DirectX).

Accès MRC pour les développeurs

Nous vous recommandons de toujours demander le contrôle exclusif de l’appareil photo 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, à condition que vous soyez conscient des limitations mentionnées ci-dessus.

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

Voir aussi