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 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)
- Unity 2019.4
- 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.
Vaya a Azure Portal y seleccione Crear un recurso.
Busque el recurso Object Anchors.
Busque "Object Anchors".
En el recurso Object Anchors de los resultados de la búsqueda, seleccione Crear -> Object Anchors.
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.
Seleccione Crear para empezar a crear el recurso.
Una vez que se haya creado el recurso, seleccione Ir al recurso.
En la página de información general:
Tome nota del Dominio de cuenta. Lo necesitará más adelante.
Tome nota del Id. de cuenta. Lo necesitará más adelante.
Vaya a la página Claves de acceso y tome nota de la Clave principal. Lo necesitará más adelante.
Configuración del dispositivo
Para implementar aplicaciones en el dispositivo HoloLens, tendrá que emparejarlo con el equipo.
- En el HoloLens, vaya a Configuración -> Actualización y seguridad -> Para desarrolladores.
- 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:
Presione las teclas CTRL y C juntas (CTRL + C) para seleccionar y copiar los modelos con los que quiere trabajar.
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.
Pulse el vínculo de HoloLens para mostrar el almacenamiento del dispositivo de HoloLens en el panel derecho.
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).
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.
- Descarga con explorador web
- Descarga con NPM
- Instalación con la herramienta de características de Mixed Reality (versión preliminar)
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
.
- Descarga con explorador web
- Descarga con NPM
- Herramienta de características de Mixed Reality (versión preliminar)
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.
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 solo la opción AOASampleScene tenga una marca de verificación al lado: no se deben incluir todas las demás escenas.
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.
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.
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.
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.
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.
Solución de problemas
Sugerencias
Si no se detecta el objeto, puede probar los pasos siguientes:
- Asegúrese de que está utilizando el modelo correcto para el objeto.
- Visualice el área de búsqueda y asegúrese de que cubre el objeto de destino.
- Pruebe a reducir el valor de
MinSurfaceCoverage
. - En el portal de dispositivos Windows, haga clic en Vistas -> Vistas 3D y compruebe si se ha completado la digitalización.