Inicio rápido: Implementación de un ejemplo de WMR de C++ nativo en HoloLens

En este inicio rápido se explica cómo implementar y ejecutar la aplicación del tutorial de Windows Mixed Reality de C++ nativo en HoloLens 2.

En este inicio rápido, aprenderá a hacer lo siguiente:

  • Compilar la aplicación del tutorial para HoloLens.
  • Cambiar las credenciales de Azure Remote Rendering en el código fuente.
  • Implementar y ejecutar el ejemplo en el dispositivo.

Requisitos previos

Para obtener acceso al servicio Remote Rendering, primero debe crear una cuenta.

El software siguiente debe estar instalado:

Clonación del repositorio de ejemplos de Remote Rendering

Como primer paso, clonamos el repositorio de Git, que hospeda los ejemplos globales de Azure Remote Rendering. Escriba cmd en el menú Inicio de Windows para abrir una ventana del símbolo del sistema. Cambie al directorio en el que quiere almacenar el proyecto de ejemplo de ARR.

Ejecute los comandos siguientes:

mkdir ARR
cd ARR
git clone https://github.com/Azure/azure-remote-rendering

El último comando crea una carpeta en la carpeta de ARR que contiene los diversos proyectos de ejemplo para Azure Remote Rendering.

El tutorial de HoloLens de C++ puede encontrarse en la carpeta NativeCpp/HoloLens-Wmr.

Compilación del proyecto

Abra el archivo de solución HolographicApp.sln ubicado en la carpeta NativeCpp/HoloLens-Wmr con Visual Studio.

Cambie la configuración de compilación a Depurar (o Liberar) y ARM64. Asegúrese también de que el modo del depurador está establecido en Dispositivo, y no en Máquina remota:

Captura de pantalla que muestra el área de configuración de Visual Studio con valores como se describe.

Puesto que las credenciales de la cuenta están codificadas de forma rígida en el código fuente del tutorial, cámbielas por unas credenciales válidas. Abra el archivo HolographicAppMain.cpp dentro de Visual Studio y cambie la parte en la que se crea el cliente dentro del constructor de la clase HolographicAppMain:

// 2. Create Client
{
    // Users need to fill out the following with their account data and model
    RR::SessionConfiguration init;
    init.AccountId = "00000000-0000-0000-0000-000000000000";
    init.AccountKey = "<account key>";
    init.RemoteRenderingDomain = "westus2.mixedreality.azure.com"; // <change to the region that the rendering session should be created in>
    init.AccountDomain = "westus2.mixedreality.azure.com"; // <change to the region the account was created in>
    m_modelURI = "builtin://Engine";
    m_sessionOverride = ""; // If there is a valid session ID to re-use, put it here. Otherwise a new one is created
    m_client = RR::ApiHandle(RR::RemoteRenderingClient(init));
}

En concreto, cambie los valores siguientes:

  • init.AccountId, init.AccountKey e init.AccountDomain para usar los datos de la cuenta. Consulte la sección sobre cómo recuperar la información de la cuenta.
  • Especifique dónde desea crear la sesión de representación remota; para ello, modifique la parte correspondiente a la región de la cadena init.RemoteRenderingDomain para otras regiones distintas a westus2, por ejemplo "westeurope.mixedreality.azure.com".
  • Además, m_sessionOverride se puede cambiar a un identificador de sesión existente. Las sesiones se pueden crear fuera de este ejemplo. Para más información, consulte RenderingSession.ps1 o Uso de la API REST de administración de sesiones directamente.

Se recomienda crear una sesión fuera del ejemplo cuando este deba ejecutarse varias veces. Si no se pasa ninguna sesión, el ejemplo crea una sesión en cada inicio, lo que puede tardar varios minutos.

Ahora puede compilar la aplicación.

Inicie la aplicación.

  1. Conecte el dispositivo HoloLens con un cable USB al equipo.
  2. Encienda HoloLens y espere hasta que aparezca el menú de inicio.
  3. Inicie el depurador en Visual Studio (F5). La aplicación se implementará automáticamente en el dispositivo.

La aplicación de ejemplo se inicia y aparece un panel de texto que le informa de su estado actual. El estado en el momento de inicio es iniciar una sesión nueva o conectarse a una sesión existente. Una vez que finaliza la carga del modelo, el modelo de motor integrado aparece en la posición principal. Con forma de oclusión, el modelo del motor interactúa correctamente con el cubo giratorio que se representa localmente.

Si quiere volver a iniciar el ejemplo más tarde, también puede encontrarlo en el menú de inicio de HoloLens. Puede que tenga un identificador de sesión expirado compilado en él.

Pasos siguientes

Este inicio rápido se basa en el resultado de un tutorial que explica cómo integrar todos los elementos relacionados con Remote Rendering en una de HoloLens Holographic estándar. Para saber cuáles son los pasos necesarios, siga este tutorial: