4. Integración de Azure Spatial Anchors4. Integrating Azure Spatial Anchors

En este tutorial, aprenderá a usar Azure Spatial Anchors.In this tutorial, you will learn how to use Azure Spatial Anchors. Almacenará la ubicación de un objeto del que realiza un seguimiento como un anclaje espacial de Azure.You will store the location of a Tracked Object as an Azure Spatial Anchor. Una vez que haya consultado el anclaje, aparecerá una flecha que le guiará hacia la ubicación.Once you query for the anchor, an arrow will appear to guide you toward the location.

ObjetivosObjectives

  • Conocer los aspectos básicos de Azure Spatial Anchors.Learn the basics of Azure Spatial Anchors.
  • Aprender a configurar la escena para usar Azure Spatial Anchors en este proyecto.Learn how to set up the scene to use Azure Spatial Anchors in this project.
  • Aprender a integrar el almacenamiento y la consulta de ubicaciones.Learn how to integrate storing and querying locations.

Descripción de Azure Spatial AnchorsUnderstanding Azure Spatial Anchors

Azure Spatial Anchors forma parte de la familia de servicios en la nube de Azure y se usa para guardar las ubicaciones de anclaje.Azure Spatial Anchors is part of the Azure Cloud Services family and is used to save anchor locations. Las ubicaciones de anclaje guardadas se pueden recuperar en función del identificador de anclaje de la nube.The saved anchor locations can be retrieved based on the anchor ID from the cloud. Para compartir y acceder a dicha ubicación de anclaje, se pueden usar dispositivos multiplataforma, como HoloLens, iOS y Android.This anchor location can be shared and accessed by multi-platform devices like HoloLens, iOS, and Android devices.

Obtenga más información sobre Azure Spatial Anchors.Learn more about Azure Spatial Anchors.

Preparación de Azure Spatial AnchorsPreparing Azure Spatial Anchors

Antes de empezar, tiene que crear un recurso de anclaje espacial en Azure Portal.Before you can start, you have to create a spatial anchor resource in your Azure portal. Obtenga información sobre cómo crear un recurso de anclaje espacial.Learn how to make a spatial anchor resource.

Preparación de la escenaPreparing the scene

En esta sección, aprenderá a configurar la escena y realizar los cambios necesarios.In this section, you will learn how to configure the scene and make the necessary changes.

En la ventana Proyecto, navegue a Assets > MRTK.Tutorials.AzureCloudServices > Prefabs > Manager (Recursos > MRTK.Tutorials.AzureCloudServices > Objetos prefabricados > Administrador).In the Project window, navigate to the Assets > MRTK.Tutorials.AzureCloudServices > Prefabs > Manager

Unity con el objeto prefabricado AnchorManager seleccionado

En la carpeta Manager (Administrador), arrastre y coloque el objeto prefabricado Anchor Manager (Administrador de anclajes) en la jerarquía de la escena.From the Manager folder, drag and drop the prefab Anchor Manager into the scene Hierarchy.

Seleccione el objeto Game (Juego) de Anchor Manager (Administrador de anclajes) en la jerarquía y, en la sección Inspector, encontrará la opción Spatial Anchor Manager (Script) (Administrador de anclajes espacial [script]).Select Anchor Manager GameObject in the Hierarchy, and in the Inspector section, you will find Spatial Anchor Manager (Script). Busque el campo del identificador de la cuenta y la clave y agregue las credenciales que creó en el requisito previo de la fase anterior.Find account ID and key field and add the credentials which you had created in the prerequisite in the earlier stage.

Unity con el objeto prefabricado AnchorManager recién agregado aún seleccionado

Ahora, busque el objeto Scene Controller (Controlador de escenas) en la jerarquía de escenas y selecciónelo.Now find the Scene Controller object in your scene Hierarchy and select it. Verá Scene Controller (Controlador de escenas) en la sección de Inspector.You will see the Scene Controller Inspector.

Unity con el componente de script SceneController configurado

Observará que el campo Anchor Manager (Administrador de anclajes) del componente Scene Controller (Controlador de escenas) está vacío. Arrastre y coloque el elemento Anchor Manager (Administrador de anclajes) de la jerarquía de escenas en ese campo y guarde la escena.You will observe that the Anchor Manager field in the Scene Controller component is empty, drag and drop the Anchor Manager from the Hierarchy in the scene into that field and save the scene.

Compilación e implementación de la aplicación en HoloLens 2Build and Deploy the app to your HoloLens 2

Azure Spatial Anchors no se puede ejecutar en Unity, de modo que, para probar la funcionalidad Azure Spatial Anchors, debes implementar el proyecto en el dispositivo.Azure Spatial Anchors can not run in Unity, so to test the Azure Spatial Anchors functionality, you need to deploy the project to your device.

Sugerencia

Para obtener un recordatorio sobre cómo compilar e implementar el proyecto de Unity en HoloLens 2, puede consultar las instrucciones de [Compilación de la aplicación a HoloLens 2]((mr-learning-base-02.md#building-and-deploying-to-your-hololens-2).For a reminder on how to build and deploy your Unity project to HoloLens 2, you can refer to the [Building your application to your HoloLens 2]((mr-learning-base-02.md#building-and-deploying-to-your-hololens-2) instructions.

Ejecutar la aplicación en HoloLens 2 y seguir las instrucciones desde la aplicaciónRun the app on your HoloLens 2 and follow the in-app instructions

Creación de un anclaje para almacenar una ubicaciónCreate an anchor to store a location

En esta sección, verá cómo guardar la ubicación del objeto.In this section you will see how to save the object location.

Ejecute la aplicación y haga clic en Set Object (Establecer objeto) en el menú principal de la experiencia.Run the application and click on Set Object in the main menu of the experience.

Asigne el nombre del objeto que quiera guardar y haga clic en Set Object (Establecer objeto) para continuar.Give the name of the object you want to save and click on Set Object to continue. Para agregar más información sobre el objeto, seleccione la imagen y describa el objeto.To add more information about the object, select the image, and describe the object.

Para guardar la ubicación, haga clic en Sabe Location (Guardar ubicación).To save the location, click on Save Location

Verá un puntero de anclaje que puede desplazar y colocar en la ubicación que quiera guardar.You will see an anchor pointer that you can move and place on the location you want to save. Después, se le mostrará una ventana emergente de confirmación.After that, you will get a confirmation popup. Si quiere confirmar y guardar la ubicación, haga clic en . De lo contrario, puede cambiar la ubicación haciendo clic en No y seleccionándola de nuevo.If you want to confirm and save the location, click on Yes; otherwise, you can change the location by clicking on No and selecting the location again.

Una vez haya hecho clic en para confirmar la ubicación, dicha ubicación y el identificador de anclaje se guardarán en el almacenamiento en la nube de Azure.Once you confirm the location by clicking on Yes, the location and the Anchor ID will be saved in the Azure cloud storage. Una vez guardados, verá la etiqueta del objeto en el anclaje con el nombre del objeto.Once it is saved, you will see the Object tag in the anchor with the object's name.

Ahora la ubicación del objeto se ha guardado correctamente.Now the object location is saved successfully.

Consulta para buscar una ubicación de anclajeQuery for finding an anchor location

Una vez que haya guardado correctamente la ubicación del anclaje, podrá buscar su ubicación. Para ello, seleccione Search Object (Buscar objeto) en el menú principal.Once after you successfully saved the anchor location, now you can find the anchor location by selecting Search Object in the main menu.

Después de hacer clic en Search Object (Buscar objeto), aparecerá una nueva ventana en la que deberá proporcionar el nombre del objeto que quiere buscar.After clicking on Search Object, a new window will pop up in which you should give the name of the object you want to search.

Escríbalo y haga clic en Search Object (Buscar objeto).Enter the name of the object and click on Search Object. Si el objeto se guarda previamente y se encuentra en la base de datos, obtendrá la tarjeta del objeto con todos los detalles de este que haya guardado anteriormente.If the object is saved previously and is found in the database, you will get the object card with all the details of the object you would have saved earlier.

Ahora puede hacer clic en Show Location (Mostrar ubicación) para buscar el objeto.Now you can click on Show Location to find the object. Una vez que haga clic en Show Location (Mostrar ubicación) , el sistema consultará la dirección del objeto en el almacenamiento en la nube.Once you click on Show Location, the system will query the object address from the cloud storage.

Después de recuperar correctamente la ubicación, una flecha le dirigirá hacia la ubicación del objeto.After successfully retrieving the location, an arrow will direct you towards the location of the object. Siga la marca de la flecha hasta que encuentre la ubicación del objeto.Follow the arrow mark until you find the location of the object.

Una vez que lo encuentre, su nombre aparecerá en la parte superior y la marca de la flecha desaparecerá. A continuación, podrá hacer clic en la etiqueta del objeto para ver sus detalles.Once you find the object, the object name will appear at the top, and the arrow mark will disappear, and now you can click on the object tag to see the details of the object.

EnhorabuenaCongratulations

En este tutorial, ha aprendido a guardar y recuperar la ubicación del objeto con Azure Spatial Anchors en HoloLens 2.In this tutorial, you learned how Azure Spatial Anchors could save and retrieve the object location on Hololense 2.

En el tutorial final, aprenderá a usar Azure Bot Service para agregar lenguaje natural como un nuevo método de interacción para nuestra aplicación.In the final tutorial, you will learn how to use the Azure Bot Service to add natural language as a new interaction method for our application.