Inicio rápido: Creación de una aplicación de HoloLens con Azure Object Anchors, en Unity con MRTK

En este artículo de inicio rápido se creará una aplicación de HoloLens en Unity con Azure Object Anchors. Azure 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 compilada con Unity, que puede detectar objetos en el mundo físico.

Aprenderá a:

  • Preparar la configuración de compilación de Unity.
  • Exportar el proyecto HoloLens de Visual Studio.
  • Implementar la aplicación y ejecutarla en un dispositivo HoloLens 2.

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).
  • Una máquina Windows con lo siguiente instalado:
  • 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

Configuración del dispositivo

Para implementar aplicaciones en el dispositivo HoloLens, tendrá que emparejarlo con el equipo.

  1. En HoloLens, vaya a Configuración -> Update & Security - For Developers ( Actualización y seguridad para> desarrolladores).
  2. Haga clic en Emparejary deje la pantalla abierta hasta que escriba el PIN en Visual Studio durante la primera implementación.

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

El siguiente paso es descargar el paquete de Azure Object Anchors para Unity.

Busque aquí el paquete de Azure Object Anchors para Unity (com.microsoft.azure.object-anchors.runtime). Seleccione la versión que desee y descargue el paquete con el botón Download (Descargar).

En Unity, abra el proyecto quickstarts/apps/unity/mrtk.

Siga las instrucciones que se indican aquí para importar el paquete de Azure Object Anchors que descargó en el proyecto de Unity mediante el administrador de paquetes de Unity.

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".

En el panel Proyecto, vaya a Assets\AzureObjectAnchors.SDK\Resources.

Seleccione ObjectAnchorsConfig. En el panel Inspector, especifique Account Key como el valor de Clave de cuenta de Object Anchors, Account ID como el valor de Id. de cuenta de Object Anchors y Account Domain como el valor de Dominio de cuenta de Object Anchors.

Compilación y ejecución de la aplicación

Compilación de la escena de ejemplo

En el editor de Unity, vaya a assets/MixedReality. AzureObjectAnchors/Scenes, abra AOASampleSceney agréguelo a la lista de compilación de la escena.

Cuando un cuadro de diálogo "TMP Importer" (Importador de TMP) le pida que importe recursos de TextMesh Pro, seleccione "Import TMP Essentials" (Importar la información esencial de TMP) para hacerlo. Import TextMesh Pro resources

Seleccione File -> Building Settings (Archivo > Configuración de compilación). Seleccione Universal Windows Platform (Plataforma universal de Windows) y, a continuación, seleccione Switch Platform (Cambiar plataforma). Si el Editor de Unity indica que primero hay que descargar varios componentes, descárguelos e instálelos. Fíjese en la siguiente captura de pantalla para configurar la compilación. Asegúrese de que soloAOASampleScene tenga una marca de comprobación al lado: no se deben incluir todas las demás escenas.

build settings

Seleccione Compilar y, después, una carpeta de salida. Ya puede generar un proyecto de Visual Studio en la carpeta de salida.

Compilación e implementación de la aplicación

Abra el archivo .sln generado por Unity. Cambie la configuración de compilación a la siguiente.

build configuration

A continuación, tendrá que configurar la dirección IP de la máquina remota para implementar y depurar la aplicación.

Haga clic con el botón derecho en el proyecto de la aplicación y seleccione Propiedades. En la página de propiedades, seleccione Configuration Properties -> Debugging (Propiedades de configuración--> Depuración). Cambie el valor de Nombre de la máquina a la dirección IP del dispositivo HoloLens y haga clic en Aplicar.

remote debug

Cierre la página de propiedades. Haga clic en Máquina remota. La aplicación debe empezar a compilarse e implementarse en el dispositivo remoto. Asegúrese de que el dispositivo está activo.

Después de la pantalla de presentación de Unity, debería ver un rectángulo delimitador. Puede usar la mano para moverse, escalar o girar el rectángulo delimitador. Coloque el rectángulo para cubrir el objeto que quiere detectar.

Abra el menú de la mano y seleccione Lock SearchArea (Bloquear SearchArea) para evitar que el rectángulo delimitador se siga moviendo. Seleccione Start Search (Iniciar búsqueda) para iniciar la detección de objetos. Cuando se detecte el objeto, se representará una malla en el objeto. Los detalles de una instancia detectada se mostrarán en la pantalla, como la marca de tiempo actualizada y la relación de cobertura de superficie. Seleccione Stop Search (Detener búsqueda) para detener el seguimiento, con lo que se quitarán todas las instancias detectadas.

Menús de la aplicación

También puede realizar otras acciones mediante el menú de la mano.

Menú principal
  • Start Search / Stop Search (Iniciar búsqueda / Detener búsqueda): Inicia o detiene el proceso de detección de objetos.

  • Toggle Spatial Mapping (Alternar asignación espacial): Muestra u oculta la representación de la asignación espacial. Esta opción se puede usar para depuración si el examen se ha completado o no.

  • Tracker Settings (Configuración de seguimiento): Alterna la activación del menú de configuración de seguimiento.

  • Search Area Settings (Configuración del área de búsqueda): Alterna la activación del menú de configuración del área de búsqueda.

  • Start Tracing (Iniciar seguimiento): Captura los datos de diagnóstico y los guarda en el dispositivo. Consulte más detalles en la sección Depuración de problemas de detección y captura de diagnósticos.

  • Upload Tracing (Cargar seguimiento): Cargue los datos de diagnóstico en el servicio Object Anchors.

    Unity primary hand menu

Menú de configuración de seguimiento
  • High Accuracy (Alta precisión): Característica experimental que se usa para obtener una posición más precisa. Al habilitar esta opción, se requerirán más recursos del sistema durante la detección de objetos. La malla del objeto se representará en rosa en este modo. Seleccione este botón de nuevo para volver al modo de seguimiento normal.

  • Relaxed Vertical Alignment (Alineación vertical relajada): Cuando esta opción está habilitada, permite detectar un objeto en un ángulo no vertical. Resulta útil para detectar objetos en rampas.

  • Allow Scale Change (Permitir cambio de escala): Permite al rastreador cambiar el tamaño del objeto detectado en función de la información del entorno.

  • Control deslizante Coverage Ratio (Relación de cobertura): Ajusta la proporción de puntos de superficie que deben coincidir para que el rastreador detecte un objeto. Los valores inferiores permiten al rastreador detectar mejor los objetos que son difíciles de detectar para los sensores de HoloLens, como objetos oscuros u objetos muy reflectantes. Los valores superiores reducirán la frecuencia de las detecciones falsas.

    Unity tracker hand menu

Menú de configuración del área de búsqueda
  • Lock Search Area (Bloquear área de búsqueda): Bloquee el rectángulo delimitador del área para evitar el movimiento accidental debido a las manos.

  • Auto-Adjust Search Area (Ajustar área de búsqueda automáticamente): Permite que el área de búsqueda cambie de posición durante la detección de objetos.

  • Cycle Mesh (Ciclo de malla): Recorre la visualización de las mallas cargadas dentro del área de búsqueda. Esta opción puede ayudar a los usuarios a alinear el cuadro de búsqueda para los objetos difíciles de detectar.

    Unity search area hand menu

Solución de problemas

Sugerencias

Si no se detecta el objeto, puede probar los pasos siguientes:

  1. Asegúrese de que está utilizando el modelo correcto para el objeto.
  2. Visualice el área de búsqueda y asegúrese de que cubre el objeto de destino.
  3. Pruebe a reducir el valor de MinSurfaceCoverage.
  4. En el portal de dispositivos Windows, haga clic en Vistas -> Vistas 3D y compruebe si se ha completado la digitalización.

Pasos siguientes

P+F