Introducción a la captura de realidad mixta

Nota

Consulte Representación desde la cámara PV siguiente para obtener instrucciones sobre una nueva funcionalidad de MRC para HoloLens 2.

Puede tomar una foto o vídeo de captura de realidad mixta (MRC) en cualquier momento, pero hay algunas cosas que hay que tener en cuenta al desarrollar la aplicación. Esto incluye los procedimientos recomendados para la calidad visual de MRC y la capacidad de respuesta a los cambios del sistema mientras se capturan MRC.

Los desarrolladores también pueden integrar perfectamente la captura e inserción de realidad mixta en sus aplicaciones.

MRC en HoloLens (primera generación) admite vídeos y fotos de hasta 720p, mientras que MRC en HoloLens 2 admite vídeos de hasta 1080p y fotos de hasta 4K resolución.

La importancia de la mrC de calidad

Tanto si se trata de capturas de pantalla de realidad mixta en la página de Microsoft Store como si otros usuarios comparten contenido de captura en redes sociales, Mixed Reality los medios de captura suelen ser una primera exposición de los usuarios a la aplicación. Puedes usar MRC para demostrar tu aplicación, educar a los usuarios, animar a los usuarios a compartir sus interacciones de mundo mixto y para la investigación del usuario y la resolución de problemas.

Cómo afecta MRC a la aplicación

Habilitación de MRC en la aplicación

De forma predeterminada, una aplicación no tiene que hacer nada para permitir que los usuarios tomen capturas de realidad mixta.

Habilitación de la alineación mejorada para MRC en la aplicación

De forma predeterminada, la captura de realidad mixta combina la salida holográfica del ojo derecho con la cámara foto/vídeo (PV). Estos dos orígenes se combinan con el punto de enfoque establecido por la aplicación envolvente que se está ejecutando actualmente.

Esto significa que los hologramas fuera del plano de enfoque no se alinearán debido a la distancia física entre la cámara PV y la pantalla derecha.

Establecer el punto de enfoque

Las aplicaciones envolventes (en HoloLens) deben establecer el punto de enfoque de dónde quieren que sea su plano de estabilización. Esto garantiza la mejor alineación en los auriculares y en la captura de realidad mixta.

Si no se establece un punto de enfoque, el plano de estabilización tendrá como valor predeterminado 2 metros.

Representación desde la cámara PV (participación)

HoloLens 2 agrega la posibilidad de que una aplicación inmersiva se represente desde la cámara PV mientras se ejecuta la captura de realidad mixta. Para asegurarse de que la aplicación admite correctamente la representación adicional, la aplicación tiene que participar en esta funcionalidad.

La representación desde la cámara PV ofrece las siguientes mejoras sobre la experiencia predeterminada de MRC:

  • La alineación del holograma con el entorno físico y las manos para las interacciones cercanas debe ser precisa a todas las distancias. Evite tener un desplazamiento a distancias distintas del punto de enfoque, como puede ver en el MRC predeterminado.
  • El ojo derecho del casco no se verá comprometido, ya que no se usará para representar los hologramas para la salida de MRC.

Obtenga más información sobre la representación desde la cámara PV (DirectX).

Procedimientos recomendados (específicos de HoloLens)

Se espera que MRC funcione sin esfuerzo de desarrollo adicional, pero hay algunas cosas que debe tener en cuenta al proporcionar la mejor experiencia de captura de realidad mixta.

MRC usa el canal alfa del holograma para combinar con las imágenes de cámara

El paso más importante es asegurarse de que la aplicación está borrando a negro transparente en lugar de borrarlo a negro opaco. En Unity, esto se realiza de forma predeterminada con MixedRealityToolkit. Si está desarrollando en no Unity, es posible que tenga que realizar un cambio de una línea.

Estos son algunos de los artefactos que puede ver en MRC si la aplicación no está borrando a negro transparente:

Errores de ejemplo: bordes negros alrededor del contenido (no se puede borrar a negro transparente)

Error al borrar a negro transparente: artefactos de borde negro alrededor de hologramas No se puede borrar a negro transparente: artefactos de borde negro alrededor de hologramas

Errores de ejemplo: toda la escena de fondo del holograma aparece negra. Establecer un valor alfa de fondo de uno da como resultado un fondo negro

Establecer un valor alfa de fondo de 1 da como resultado un fondo negro

Resultado esperado: los hologramas aparecen correctamente combinados con el mundo real (resultado esperado si se borra a negro transparente)

Resultado esperado si se borra en negro transparente

Solución:

  • Cambie cualquier contenido que aparezca como negro opaco para tener un valor alfa de 0.
  • Asegúrese de que la aplicación está borrando en negro transparente.
  • El valor predeterminado de Unity se borra automáticamente con MixedRealityToolkit, pero si es una aplicación que no es de Unity, debe modificar el color usado con ID3D11DeiceContext::ClearRenderTargetView(). Quiere asegurarse de que está claro para negro transparente (0,0,0,0) en lugar de negro opaco (0,0,0,1).

Ahora puede ajustar los valores alfa de los recursos si lo desea, pero normalmente no es necesario. La mayoría de las veces, los MRC se verán bien listos para usar. MRC supone un alfa multiplicado previamente. Los valores alfa solo afectarán a la captura de MRC.

Qué esperar cuando MRC está habilitado en HoloLens

Lo siguiente se aplica tanto a HoloLens (primera generación) como a HoloLens 2, a menos que se indique lo contrario:

  • El sistema limitará la aplicación a la representación de 30 Hz. Esto crea un espacio para que MRC se ejecute, por lo que la aplicación no necesita mantener una reserva de presupuesto constante y también coincide con la velocidad de fotogramas de grabación de vídeo mrC de 30 fps.
  • El contenido del holograma en el ojo derecho del dispositivo puede parecer "brillante" al grabar o transmitir MRC: el texto puede resultar más difícil de leer y los bordes del holograma pueden aparecer más jaggy (optar por la tercera representación de cámara en HoloLens 2 evita este riesgo).
  • Las fotos y vídeos de MRC respetarán el punto de enfoque de la aplicación si la aplicación la ha habilitado, lo que ayudará a garantizar que los hologramas estén colocados con precisión. En el caso de los vídeos, el punto de enfoque se suaviza, por lo que los hologramas pueden parecer desfase lentamente en su lugar si la profundidad del punto de enfoque cambia significativamente. Los hologramas que están en diferentes profundidades del punto de enfoque pueden aparecer desplazamientos desde el mundo real (vea el ejemplo siguiente donde el punto de enfoque se establece a 2 metros, pero el holograma se coloca a 1 metro).

Los hologramas a 2 metros aparecerán perfectamente registrados en el mundo. Los hologramas a distancias cercanas o lejanas pueden ser ligeramente desplazados.

Integración de la funcionalidad de MRC desde dentro de la aplicación

La aplicación de realidad mixta puede iniciar la captura de fotos o vídeos de MRC desde dentro de la aplicación, y el contenido capturado está disponible para la aplicación sin almacenarse en el "roll de cámara" del dispositivo. Puede crear una grabadora MRC personalizada o aprovechar la interfaz de usuario de captura de cámara integrada.

MRC con interfaz de usuario de cámara integrada

Los desarrolladores pueden usar camera Capture UI API para obtener una foto o vídeo de realidad mixta capturada por el usuario con unas pocas líneas de código.

Esta API inicia la interfaz de usuario de cámara de MRC integrada, donde los usuarios pueden tomar una foto o vídeo y devuelven la captura resultante a la aplicación. Puede crear una grabadora de captura de Mixed Reality personalizada si necesita agregar su propia interfaz de usuario de cámara o acceso de nivel inferior para capturar secuencias.

Creación de una grabadora de MRC personalizada

Aunque el usuario siempre puede desencadenar una foto o un vídeo mediante el servicio de captura mrC del sistema, es posible que una aplicación quiera crear una aplicación de cámara personalizada que incluya hologramas en la secuencia de cámara como MRC. Esto permite que la aplicación inicie las capturas de la entrada del usuario, compile la interfaz de usuario de grabación personalizada o personalice la configuración de MRC para nombrar algunos ejemplos.

HoloStudio agrega una cámara MRC personalizada mediante efectos MRC

HoloStudio agrega una cámara MRC personalizada mediante efectos MRC

Las aplicaciones de Unity deben ver Locatable_camera_in_Unity para la propiedad para habilitar hologramas.

Otras aplicaciones pueden hacerlo mediante las API de captura de Windows Media para controlar la cámara y agregar un efecto MRC Video y Audio para incluir hologramas virtuales y audio de aplicación en vídeos y todavías.

Obtenga más información sobre cómo crear una grabadora mrC personalizada (DirectX).

Limitaciones simultáneas de MRC

Debe tener en cuenta ciertas limitaciones cuando varias aplicaciones acceden a MRC al mismo tiempo.

Acceso a la cámara de fotos y vídeos

En HoloLens 1, MRC no podrá capturar una foto o capturar vídeo mientras un proceso graba vídeo o toma una foto. La inversa también es true: si MRC se está ejecutando, la aplicación no podrá obtener acceso a la cámara.

Con HoloLens 2, es posible compartir el acceso a la cámara. Si no necesita controlar directamente la resolución o la velocidad de fotogramas, puede inicializar MediaCapture mediante la propiedad SharedMode con SharedReadOnly.

Acceso integrado a la cámara de fotos y vídeo de MRC

Obtenga información sobre el acceso integrado a la cámara de fotos y vídeos de MRC (DirectX).

Acceso de MRC para desarrolladores

Se recomienda solicitar siempre un control exclusivo para la cámara al usar MRC. Esto garantizará que la aplicación tenga control total de la configuración de la cámara siempre que conozca las limitaciones enumeradas anteriormente.

Obtenga más información sobre el acceso de MRC para desarrolladores (DirectX).

Consulte también