Inicio rápido: Creación de una aplicación HoloLens con Azure Object Anchors en C++/WinRT y DirectX

En este inicio rápido, se describe cómo crear una aplicación HoloLens con Azure Object Anchors en C++/WinRT y DirectX. Object Anchors es un servicio en la nube administrado que convierte recursos 3D en modelos de inteligencia artificial (IA) que permiten experiencias de realidad mixta que reconocen objetos para HoloLens. Cuando haya terminado, tendrá una aplicación de HoloLens que puede detectar un objeto y su posición en una aplicación de Holographic DirectX 11 (Windows universal).

Aprenderá a:

  • Crear y cargar una aplicación de HoloLens.
  • Detectar un objeto y visualizar su modelo.

Si no tiene una suscripción a Azure, cree una cuenta gratuita de Azure antes de empezar.

Prerrequisitos

Para completar esta guía de inicio rápido, asegúrese de que dispone de lo siguiente:

  • Un objeto físico de su entorno y su modelo 3D, ya sea CAD o digitalizado.
  • Un equipo Windows que tenga instalado lo siguiente:
    • Git para Windows
    • Visual Studio 2019 con la carga de trabajo de desarrollo de Plataforma universal de Windows y el componente Windows 10 SDK (10.0.18362.0 o versiones posteriores)
  • Un dispositivo HoloLens 2 actualizado y con el modo de desarrollador habilitado.
    • Para actualizar a la versión más reciente en HoloLens, abra la aplicación Settings (Configuración), vaya a Update & Security (Actualización y seguridad) y seleccione Check for updates (Buscar actualizaciones).

Creación de una cuenta de Object Anchors

En primer lugar, tiene que crear una cuenta en el servicio Object Anchors.

  1. Vaya a Azure Portal y seleccione Crear un recurso.

    Create a new resource

  2. Busque el recurso Object Anchors.

    Busque "Object Anchors".

    Select the Object Anchors Resource

    En el recurso Object Anchors de los resultados de la búsqueda, seleccione Crear -> Object Anchors.

    Create an Object Anchors Resource

  3. En el cuadro de diálogo Object Anchors Account (Cuenta de Object Anchors):

    • Escriba un nombre de recurso único.
    • Seleccione la suscripción a la que desea asociar el recurso.
    • Cree un grupo de recursos o use uno existente.
    • Seleccione la región en la que quiere que se encuentre el recurso.

    Enter Object Anchors resource account details

    Seleccione Crear para empezar a crear el recurso.

  4. Una vez que se haya creado el recurso, seleccione Ir al recurso.

    Go to resource

  5. En la página de información general:

    Tome nota del Dominio de cuenta. Lo necesitará más adelante.

    Copy the account domain for your Object Anchors resource

    Tome nota del Id. de cuenta. Lo necesitará más adelante.

    Copy the account ID for your Object Anchors resource

    Vaya a la página Claves de acceso y tome nota de la Clave principal. Lo necesitará más adelante.

    Copy the account key for your Object Anchors resource

Carga del modelo

Antes de ejecutar la aplicación, deberá poner los modelos a disposición de la aplicación. Si aún no tiene un modelo de Object Anchors, siga las instrucciones de Creación de un modelo para crear uno. A continuación, vuelva aquí.

Con HoloLens encendido y conectado al dispositivo de desarrollo (PC), siga estos pasos para cargar un modelo en la carpeta Objetos 3D de HoloLens:

  1. Presione las teclas CTRL y C juntas (CTRL + C) para seleccionar y copiar los modelos con los que quiere trabajar.

  2. Presione las teclas del logotipo de Windows y E juntas (Win + E) para iniciar el Explorador de archivos. Debería ver la lista de HoloLens con otras unidades y carpetas en el panel izquierdo.

    file explorer

  3. Pulse el vínculo de HoloLens para mostrar el almacenamiento del dispositivo de HoloLens en el panel derecho.

    open HoloLens internal storage

  4. En el Explorador de archivos, vaya a Almacenamiento interno > Objetos en 3D. Ahora, puede pegar los modelos en la carpeta Objetos em 3D si presiona las teclas CTRL y V juntas (CTRL + V).

    paste models in 3D Objects folder

Apertura del proyecto de ejemplo

Ejecute los siguientes comandos para clonar el repositorio de ejemplos:

git clone https://github.com/Azure/azure-object-anchors.git

cd ./azure-object-anchors

Abra quickstarts/apps/directx/DirectXAoaSampleApp.sln en Visual Studio.

Cambie Configuración de la solución a Versión, cambie Plataforma de la solución a ARM64 y seleccione Dispositivo en las opciones de destino de implementación.

Configuración de la información de una cuenta

El paso siguiente es configurar la aplicación para que use la información de su cuenta. Ha tomado nota de los valores de Clave de cuenta, Id. de cuenta y Dominio de cuenta, en la sección "Crear una cuenta de Object Anchors".

Abra Assets\ObjectAnchorsConfig.json.

Busque el campo AccountId y reemplace Set me por el Id. de su cuenta.

Busque el campo AccountKey y reemplace Set me por la Clave de su cuenta.

Busque el campo AccountDomain y reemplace Set me por el Dominio de su cuenta.

Ahora, compile el proyecto AoaSampleApp. Para ello, haga clic con el botón derecho en el proyecto y seleccione Compilar.

Screenshot shows configuring Visual Studio project to deploy.

Implementación de la aplicación en HoloLens

Después de compilar el proyecto de ejemplo correctamente, puede implementar la aplicación en HoloLens.

Asegúrese de que el dispositivo HoloLens esté encendido y conectado al equipo con un cable USB. Asegúrese de que la opción de destino de implementación seleccionada sea Dispositivo, como se indica más arriba.

Haga clic con el botón derecho en el proyecto AoaSampleApp y seleccione Implementar en el menú contextual para instalar la aplicación. Si no se muestra ningún error en la Ventana de salida de Visual Studio, la aplicación se instalará en HoloLens.

Screenshot shows the context menu for the project with Deploy selected.

Antes de iniciar la aplicación, debe haber cargado un modelo de objetos, por ejemplo, chair.ou, en la carpeta 3D Objects de HoloLens. Si no lo ha hecho, siga las instrucciones de la sección Carga del modelo.

Para iniciar y depurar la aplicación, seleccione Depurar>Iniciar la depuración.

Ingesta de un modelo de objetos y detección de su instancia

Ahora, la aplicación AoaSampleApp se está ejecutando en el dispositivo HoloLens. Camine cerca, a unos 2 m de distancia, del objeto de destino (silla) y mírelo desde varias perspectivas para digitalizarlo. Debería ver un rectángulo delimitador de color rosa alrededor del objeto con algunos puntos amarillos representados cerca de la superficie del objeto, lo que indica que se detectó. También debería ver un cuadro amarillo que indica el área de búsqueda.

Photograph shows a chair with the bounding box, point cloud, and search area.

Para definir un espacio de búsqueda para el objeto en la aplicación, haga clic en el aire con un dedo de la mano derecha o de la mano izquierda. El espacio de búsqueda cambiará entre una esfera con un radio de 2 metros, un rectángulo delimitador de 4 m^3 y un tronco de vista. En el caso de objetos más grandes, como coches, la mejor opción será usar la selección del tronco de la vista mientras se observa de pie una esquina del objeto a unos 2 metros de distancia. Cada vez que el área de búsqueda cambie, la aplicación quitará las instancias de las que se realiza un seguimiento. Después, intentará encontrarlas otra vez en la nueva área de búsqueda.

Esta aplicación puede realizar un seguimiento de varios objetos al mismo tiempo. Para ello, cargue varios modelos en la carpeta 3D Objects del dispositivo y establezca un área de búsqueda que abarque todos los objetos de destino. Puede tardar más tiempo en detectar y realizar el seguimiento de varios objetos.

La aplicación alinea estrechamente un modelo 3D con su homólogo físico. Para activar el modo de seguimiento de alta precisión, que calcula una posición más exacta, el usuario puede hacer un movimiento de clic con la mano izquierda en el aire. Esta característica sigue siendo experimental. Consume más recursos del sistema y podría generar una mayor inestabilidad en la posición estimada. Vuelva a hacer un movimiento de clic con la mano izquierda en el aire para volver al modo de seguimiento habitual.

Pasos siguientes

P+F