Compartir a través de


Uso de recursos de EQUIPO para alimentar la aplicación con la aplicación remota de comunicación remota holográfica

En este artículo se explica el siguiente caso de uso para la comunicación remota holográfica:

  • Quiere que los recursos de un equipo enciendan la aplicación en lugar de depender de los recursos a bordo de HoloLens: puede crear y compilar una aplicación que tenga funcionalidad de comunicación remota holográfica. El usuario experimenta la aplicación en HoloLens, pero la aplicación se ejecuta realmente en un equipo, lo que permite que la aplicación aproveche los recursos más eficaces del equipo. Esto puede ser especialmente útil si la aplicación tiene recursos o modelos de alta resolución y no quieres que la velocidad de fotogramas sufra. Esto se denomina aplicación remota de comunicación remota holográfica. Las entradas de HoloLens (mirada, gesto, voz y asignación espacial) se envían al equipo, donde el contenido se representa en una vista inmersiva virtual. A continuación, los fotogramas representados se envían a HoloLens.

Este tipo de comunicación remota holográfica también está disponible para los cascos envolventes Windows Mixed Reality (WMR). Esto podría ser útil si, por ejemplo, el casco WMR está conectado a un PC mochila y desea transmitir su aplicación desde un PC más potente al PC mochila.

Para obtener más información sobre la comunicación remota holográfica, consulte Introducción a la comunicación remota holográfica.

Tenga en cuenta que también puede usar la comunicación remota holográfica si desea obtener una vista previa y depurar la aplicación durante el proceso de desarrollo.

Dos modos disponibles en la comunicación remota holográfica

Modo 1: Aplicación remota que se ejecuta en el equipo en modo Conectar, reproductor que se ejecuta en el HoloLens 2 en modo de escucha.

El reproductor escucha las conexiones entrantes mientras la aplicación remota intenta conectarse.

Modo 2: Aplicación remota que se ejecuta en el equipo en modo de escucha, reproductor que se ejecuta en el HoloLens 2 en modo de conexión.

La aplicación remota escucha las conexiones entrantes mientras el reproductor intenta conectarse.

Configuración de la aplicación Holographic Remoting Player

Para usar la comunicación remota holográfica solo en el modo 1, instale la aplicación Holographic Remoting Player desde Microsoft Store en su HoloLens 2 (en este artículo, nos referiremos simplemente a ella como "el jugador"). Como se explica a continuación, después de descargar y ejecutar la aplicación, verá el número de versión y la dirección IP a los que conectarse. Se recomienda usar la versión más reciente del reproductor disponible.

La comunicación remota holográfica requiere un equipo rápido y una conexión Wi-Fi. Puede encontrar más detalles en el artículo player vinculado anteriormente.

Captura de pantalla del Reproductor de comunicación remota holográfica que se ejecuta en HoloLens

Para usar la comunicación remota holográfica en ambos modos especificados anteriormente, debe clonar el reproductor de ejemplo de comunicación remota holográfica e implementarlo en el HoloLens 2 mediante Visual Studio.

Compilación de una aplicación remota que se ejecuta en el equipo para la comunicación remota holográfica mediante Unity

  1. En la barra de menús, seleccione Editar > configuración del proyecto.

  2. En la columna de la izquierda, seleccione Administración del complemento XR.

  3. Asegúrese de que se encuentra en la pestaña configuración de Plataforma universal de Windows.

    Captura de pantalla que muestra la XR-Plug en la ventana Administración con la pestaña Plataforma universal de Windows seleccionada.

  4. En la sección Complemento OpenXR, seleccione Microsoft HoloLens grupo de características y Grupo de características de aplicaciones remotas de Comunicación remota holográfica.

    Captura de pantalla que muestra el complemento OpenXr con

  5. Anule la selección de la casilla Inicializar XR al iniciar .

    Captura de pantalla de la ventana Administración de complementos XR con

  6. Escriba código para establecer la configuración remota y desencadenar la inicialización de XR. La aplicación puede llamar a la función Connect para el modo 1 o llamar a la función Listen para el modo 2. Para ver un ejemplo, descargue nuestros ejemplos de Open XR Unity Mixed Reality y, a continuación, en el proyecto RemotingSample, vea el script AppRemoting.cs.

  7. En modo 1, el modo Conectar , llame a Microsoft.MixedReality.OpenXR.Remoting.AppRemoting.Connect con un elemento rellenado RemotingConfiguration. La aplicación de ejemplo expone esto en el inspector y muestra cómo rellenar la dirección IP de un campo de texto. La llamada Connect establecerá la configuración e inicializará automáticamente XR, por lo que debe llamarse como corrutina:

    StartCoroutine(Remoting.AppRemoting.Connect(remotingConfiguration));
    
  8. En modo 2, el modo escuchar , llame a Microsoft.MixedReality.OpenXR.Remoting.AppRemoting.Listen con un elemento rellenado RemotingListenConfiguration. La aplicación de ejemplo expone esto en el inspector. La llamada Listen establecerá la configuración y esperará una conexión desde el reproductor de ejemplo holographic Remoting, por lo que debe llamarse como corrutina:

    StartCoroutine(Remoting.AppRemoting.Listen(remotingListenConfiguration));
    
  9. Durante la ejecución, puede obtener el estado de conexión actual con la AppRemoting.TryGetConnectionState API y, opcionalmente, desconectar y anular la inicialización de XR mediante AppRemoting.Disconnect(). Esto se podría usar para desconectar y volver a conectarse a un dispositivo diferente dentro de la misma sesión de la aplicación. La aplicación RemotingSample proporciona un cubo que se puede aplicar, que desconectará la sesión remota si se pulsa.

Ejecute la aplicación remota Holographic Remoting y la aplicación Player en los modos descritos anteriormente.

Modo 1: Ejecute la aplicación remota Holographic Remoting en el equipo en modo Connect y el reproductor en modo de escucha:

  1. Si el reproductor ya está instalado desde la tienda en la HoloLens 2, omita los números de paso 2 y 3 que aparecen a continuación, donde compila y ejecuta la aplicación Sample Player. En su lugar, ejecute el reproductor instalado y continúe con el paso 4.

  2. Abra la aplicación Holographic Remoting Sample Player con VS 2019 y, a continuación, realice una de las siguientes acciones:

    Para ejecutarse en un HoloLens 2 mediante un cable USB:

    • Configure las opciones de compilación como se muestra aquí:

    Captura de pantalla de la configuración de compilación de Visual Studio para si el usuario está conectado a través de un cable USB.

    • Abra la página Propiedades del proyecto y, a continuación, vaya a Propiedades de configuración>Depuración.
    • Haga clic en la lista desplegable Depurador para iniciar y, a continuación, seleccione Dispositivo.
    • En el campo Argumentos de línea de comandos , agregue "-listen".

    Captura de pantalla de los argumentos de la línea de comandos para compilar mediante un cable USB.

    Para ejecutarse en un HoloLens 2 mediante Wifi:

    • Configure las opciones de compilación como se muestra aquí:

    Captura de pantalla de la configuración de compilación de Visual Studio para si el usuario compila en HoloLens mediante Wifi.

    • Abra la página Propiedades del proyecto y, a continuación, vaya a Propiedades de configuración>Depuración.
    • Haga clic en la lista desplegable Depurador para iniciar y, a continuación, seleccione Máquina remota.
    • En el campo Argumentos de línea de comandos , agregue la dirección IP Wifi de HoloLens.
  3. Para implementar la solución SamplePlayer en el HoloLens 2, presione el botón reproducir en Visual Studio. Podrá ver el reproductor de ejemplo HAR que se ejecuta en HoloLens 2, mostrando que está "Esperando una conexión en la dirección IP de HoloLens 2".

  4. En la aplicación remota que se ejecuta en el equipo host, agregue la dirección IP del HoloLens 2 mostrado anteriormente y, a continuación, seleccione Conectar.

  5. Una vez establecida la conexión, el reproductor que se ejecuta en HoloLens 2 iniciará "Recepción".

Modo 2: Ejecute la aplicación remota en el equipo en modo de escucha y la aplicación de reproductor HAR en modo de conexión:

  • En la pantalla de la interfaz de usuario 2D de la aplicación remota que se ejecuta en el equipo, haga clic en Escuchar.

    Captura de pantalla de la configuración de compilación de Visual Studio para si el usuario está conectado a través de un cable USB.

  • Abra la página Propiedades del proyecto y, a continuación, vaya a Propiedades de configuración>Depuración.

  • Haga clic en la lista desplegable Depurador para iniciar y, a continuación, seleccione Dispositivo.

  • En el campo Argumentos de línea de comandos , agregue la dirección IP del equipo host.

Captura de pantalla de los argumentos de la línea de comandos para compilar mediante un cable USB.

  • Para implementar la solución SamplePlayer en la HoloLens 2, en la solución de Visual Studio, haga clic en el botón reproducir. Podrá ver el reproductor de ejemplo HAR en ejecución en el HoloLens 2, mostrando que se trata de "Conexión a la dirección IP proporcionada en los argumentos de la línea de comandos".

  • Una vez establecida la conexión, la aplicación Reproductor de ejemplo de comunicación remota holográfica que se ejecuta en el HoloLens 2 iniciará "Recepción".

Sugerencia

Para obtener los mejores resultados, asegúrese de que la aplicación establece correctamente .. /punto de enfoque. Esto ayuda a la comunicación remota holográfica a adaptar mejor la escena a la latencia de la conexión inalámbrica.

Migración desde las API de comunicación remota holográfica anteriores

Para obtener más información sobre la comunicación remota holográfica, consulte Introducción a la comunicación remota holográfica.

UnityEngine.XR.WSA.HolographicRemoting

En el código de ejemplo de la documentación de Unity:

XR. WSA. Comunicación remota holográfica OpenXR.Remoting.AppRemoting
HolographicRemoting.ConnectRemotingSession() AppRemoting.Connect(RemotingConfiguration)
HolographicRemoting.DisconnectRemotingSession() AppRemoting.Disconnect()
HolographicRemoting.ConnectionState AppRemoting.TryGetConnectionState(out ConnectionState, out DisconnectReason)

UnityEngine.XR.WindowsMR. WindowsMRRemoting

XR.WindowsMR. WindowsMRRemoting OpenXR.Remoting.AppRemoting
WindowsMRRemoting.Connect() AppRemoting.Connect(RemotingConfiguration)
WindowsMRRemoting.Listen() AppRemoting.Listen(RemotingListenConfiguration)
WindowsMRRemoting.Disconnect() AppRemoting.Disconnect()
WindowsMRRemoting.TryGetConnectionState(out ConnectionState) y WindowsMRRemoting.TryGetConnectionFailureReason(out ConnectionFailureReason) AppRemoting.TryGetConnectionState(out ConnectionState, out DisconnectReason)
WindowsMRRemoting.isAudioEnabled, WindowsMRRemoting.maxBitRateKbps, WindowsMRRemoting.remoteMachineName Se pasa a AppRemoting.Connect través de la RemotingConfiguration estructura
WindowsMRRemoting.isConnected AppRemoting.TryGetConnectionState(out ConnectionState state, out _) && state == ConnectionState.Connected

Consulta también