5. Integrar Âncoras Espaciais do Azure a uma experiência compartilhada5. Integrating Azure Spatial Anchors into a shared experience

Neste tutorial, você aprenderá a integrar a ASA (Âncoras Espaciais do Azure) à experiência compartilhada.In this tutorial, you will learn how to integrate Azure Spatial Anchors (ASA) into the shared experience. A ASA permite que vários dispositivos tenham uma referência comum ao mundo físico, de modo que os usuários vejam uns aos outros na respectiva localização física real e vejam a experiência compartilhada no mesmo lugar.ASA allows multiple devices to have a common reference to the physical world so that the users see each other in their actual physical location and see the shared experience in the same place.

ObjetivosObjectives

  • Integrar a ASA a uma experiência compartilhada para o alinhamento de vários dispositivosIntegrate ASA into a shared experience for multi-device alignment
  • Conhecer os conceitos básicos de como a ASA funciona no contexto de uma experiência compartilhada localLearn the fundamentals of how ASA works in the context of a local shared experience

Preparando a cenaPreparing the scene

Na janela Hierarquia, expanda o objeto SharedPlayground e expanda o objeto TableAnchor para expor os objetos filho:In the Hierarchy window, expand the SharedPlayground object, then expand the TableAnchor object to expose its child objects:

Unity com os objetos SharedPlayground e TableAnchor expandidos

Na janela Projeto, navegue até a pasta Ativos > MRTK.Tutorials.MultiUserCapabilities > Pré-fabricados e arraste o pré-fabricado Buttons sobre o objeto filho TableAnchor para adicioná-lo à cena como um filho do objeto TableAnchor:In the Project window, navigate to the Assets > MRTK.Tutorials.MultiUserCapabilities > Prefabs folder and drag the Buttons prefab onto the TableAnchor child object to add it to your scene as a child of the TableAnchor object:

Unity com o pré-fabricado Botões recém-adicionado selecionado

Como configurar os botões para operar a cenaConfiguring the buttons to operate the scene

Nesta seção, você vai configurar uma série de eventos de botão que demonstram os conceitos básicos de como as Âncoras Espaciais do Azure podem ser usadas para obter o alinhamento espacial em uma experiência compartilhada.In this section, you will configure a series of button events demonstrating the fundamentals of how Azure Spatial Anchors can be used to achieve spatial alignment in a shared experience.

Na janela Hierarquia, expanda o objeto Button e selecione o primeiro objeto de botão filho chamado StartAzureSession:In the Hierarchy window, expand the Button object and select the first child button object named StartAzureSession:

Unity com o objeto de botão StartAzureSession selecionado

Na janela Inspetor, localize o componente Interativo (Script) e configure o evento OnClick () da seguinte maneira:In the Inspector window, locate the Interactable (Script) component and configure the OnClick () event as follows:

  • Ao campo Nenhum (Objeto) , atribua o objeto TableAnchorTo the None (Object) field, assign the TableAnchor object
  • No menu suspenso Nenhuma Função, selecione a função AnchorModuleScript > StartAzureSession ()From the No Function dropdown, select the AnchorModuleScript > StartAzureSession () function

Unity com o evento OnClick do botão StartAzureSession configurado

Na janela Hierarquia, selecione o segundo objeto de botão filho chamado CreateAzureAnchor. Em seguida, na janela Inspetor, localize o componente Interativo (Script) e configure o evento OnClick () da seguinte maneira:In the Hierarchy window, select the second child button object named CreateAzureAnchor, then in the Inspector window, locate the Interactable (Script) component and configure the OnClick () event as follows:

  • Ao campo Nenhum (Objeto) , atribua o objeto TableAnchorTo the None (Object) field, assign the TableAnchor object
  • No menu suspenso Nenhuma Função, selecione a função AnchorModuleScript > CreateAzureAnchor ()From the No Function dropdown, select the AnchorModuleScript > CreateAzureAnchor () function
  • Ao novo campo Nenhum (Objeto de Jogo) exibido, atribua o objeto TableAnchorTo the new None (Game Object) field that appears, assign the TableAnchor object

Unity com o evento OnClick do botão CreateAzureAnchor configurado

Na janela Hierarquia, selecione o terceiro objeto de botão filho chamado ShareAzureAnchor. Em seguida, na janela Inspetor, localize o componente Interativo (Script) e configure o evento OnClick () da seguinte maneira:In the Hierarchy window, select the third child button object named ShareAzureAnchor, then in the Inspector window, locate the Interactable (Script) component and configure the OnClick () event as follows:

  • Ao campo Nenhum (Objeto) , atribua o objeto TableAnchorTo the None (Object) field, assign the TableAnchor object
  • No menu suspenso Nenhuma Função, selecione a função SharingModuleScript > ShareAzureAnchor ()From the No Function dropdown, select the SharingModuleScript > ShareAzureAnchor () function

Unity com o evento OnClick do botão ShareAzureAnchor configurado

Na janela Hierarquia, selecione o quarto objeto de botão filho chamado GetAzureAnchor. Em seguida, na janela Inspetor, localize o componente Interativo (Script) e configure o evento OnClick () da seguinte maneira:In the Hierarchy window, select the fourth child button object named GetAzureAnchor, then in the Inspector window, locate the Interactable (Script) component and configure the OnClick () event as follows:

  • Ao campo Nenhum (Objeto) , atribua o objeto TableAnchorTo the None (Object) field, assign the TableAnchor object
  • No menu suspenso Nenhuma Função, selecione a função SharingModuleScript > GetAzureAnchor ()From the No Function dropdown, select the SharingModuleScript > GetAzureAnchor () function

Unity com o evento OnClick do botão GetAzureAnchor configurado

Como conectar a cena ao recurso do AzureConnecting the scene to the Azure resource

Na janela Hierarquia, expanda o objeto SharedPlayground e selecione o objeto TableAnchor.In the Hierarchy window, expand the SharedPlayground object and select the TableAnchor object.

Na janela Inspetor, localize o componente Gerenciador de Âncora Espacial (Script) e configure a seção Credenciais com as credenciais da conta das Âncoras Espaciais do Azure criada como parte dos Pré-requisitos desta série de tutoriais:In the Inspector window, locate the Spatial Anchor Manager (Script) component and configure the Credentials section with the credentials from the Azure Spatial Anchors account created as part of the Prerequisites for this tutorial series:

  • No campo ID da Conta das Âncoras Espaciais, cole a ID da Conta da sua conta das Âncoras Espaciais do AzureIn the Spatial Anchors Account ID field, paste the Account ID from your Azure Spatial Anchors account
  • No campo Chave de Conta das Âncoras Espaciais, cole a Chave de Acesso primária ou secundária da sua conta das Âncoras Espaciais do AzureIn the Spatial Anchors Account Key field, paste the primary or secondary Access Key from your Azure Spatial Anchors account

Unity com o Gerenciador de Âncora Espacial configurado

Dica

Em vez de definir a ID da Conta de Âncoras Espaciais e a chave na cena, você pode defini-la para todo o seu projeto, isso poderá ser vantajoso se você tiver várias cenas usando o ASA.Instead of setting the Spatial Anchors Account ID and Key in the scene, you can set it for your entire project, this can be advantageous if you have multiple scenes using ASA. Para fazer isso, na janela do projeto, navegue até o ativo em Ativos > AzureSpatialAnchors.SDK > Recursos > SpatialAnchorConfig e defina os valores na janela Inspetor.To do this, in the Project window, navigate to the Assets > AzureSpatialAnchors.SDK > Resources > SpatialAnchorConfig asset, then set the values in the Inspector window.

Na janela Hierarquia, selecione o objeto TableAnchor e, em seguida, na janela Inspetor, localize o componente Módulo de Âncora (Script) e configure-o da seguinte maneira:In the Hierarchy window, select the TableAnchor object, then in the Inspector window, locate the Anchor Module (Script) component and configure it as follows:

  • No campo PIN de Compartilhamento Público, altere alguns dígitos para que o PIN se torne exclusivo ao seu projetoIn the Public Sharing Pin field, change a few digits, so the pin becomes unique to your project

Unity com o Script de Módulo de Âncora configurado

Com o objeto TableAnchor ainda selecionado, na janela Inspetor, verifique se todos os componentes de script estão habilitados:With the TableAnchor object still selected, in the Inspector window, make sure all the script components are enabled:

  • Marque a caixa de seleção ao lado dos componentes Gerenciador de Âncora Espacial (Script) para habilitá-losCheck the checkbox next to the Spatial Anchor Manager (Script) components to enable it
  • Marque a caixa de seleção ao lado dos componentes Script do Módulo de Âncora (Script) para habilitá-losCheck the checkbox next to the Anchor Module Script (Script) components to enable it
  • Marque a caixa de seleção ao lado dos componentes Script do Módulo de Compartilhamento (Script) para habilitá-losCheck the checkbox next to the Sharing Module Script (Script) components to enable it

Unity com todos os componentes de script de TableAnchor habilitados

Como testar a experiência com o alinhamento espacialTrying the experience with spatial alignment

Observação

As Âncoras Espaciais do Azure não podem ser executadas no Unity.Azure Spatial Anchors can not run in Unity. Consequentemente, para testar a funcionalidade das Âncoras Espaciais do Azure, você precisará implantar o projeto em um mínimo de dois dispositivos.Consequently, to test the Azure Spatial Anchors functionality, you need to deploy the project to a minimum of two devices.

Se você criar e implantar agora o projeto do Unity em dois dispositivos, poderá obter o alinhamento espacial entre os dispositivos compartilhando a ID da Âncora do Azure.If you now build and deploy the Unity project to two devices, you can achieve spatial alignment between the devices by sharing the Azure Anchor ID. Para testá-lo, você pode seguir estas etapas:To test it out, you can follow these steps:

  1. No dispositivo 1: Iniciar o aplicativo (o Gerenciador de Rover é instanciado e colocado na tabela)On device 1: Start the app (the Rover Explorer is instantiated and placed on the table)
  2. No dispositivo 2: Inicie o aplicativo (os dois usuários veem a mesa com o Rover Explorer, mas ela não aparece no mesmo lugar, e os avatars do usuário não aparecem no local em que os usuários estão)On device 2: Start the app (both users see the table with the Rover Explorer, but the table does not appear in the same place, and the user avatars do not appear where the users are)
  3. No dispositivo 1: Selecione o botão Iniciar Sessão do AzureOn device 1: Press the Start Azure Session button
  4. No dispositivo 1: Selecione o botão Criar Âncora do Azure (cria a âncora na localização do objeto TableAnchor e armazena as informações de âncora no recurso do Azure).On device 1: Press the Create Azure Anchor button (creates anchor at the location of the TableAnchor object and stores the anchor information in the Azure resource).
  5. No dispositivo 1: Selecione o botão Compartilhar Âncora do Azure (compartilha a ID da âncora com os outros usuários em tempo real)On device 1: Press the Share Azure Anchor button (shares the anchor ID with other users in real-time)
  6. No dispositivo 2: Selecione o botão Iniciar Sessão do AzureOn device 2: Press the Start Azure Session button
  7. No dispositivo 2: Selecione o botão Obter Âncora do Azure (conecta-se ao recurso do Azure para recuperar as informações de âncora da ID da âncora compartilhada e, em seguida, move o objeto TableAnchor para a localização em que a âncora foi criada com o dispositivo 1)On device 2: Press the Get Azure Anchor button (connects to the Azure resource to retrieve the anchor information for the shared anchor ID, then moves the TableAnchor object to the location where the anchor was created with the device 1)

Dica

Se você não tiver acesso a dois dispositivos HoloLens, poderá seguir Como criar Âncoras Espaciais do Azure para dispositivos móveis para implantar o projeto em seu dispositivo móvel.If you don't have access to two HoloLens devices, you may follow the Building Azure Spatial Anchors for mobile devices to deploy the project to your mobile device.

ParabénsCongratulations

Neste tutorial, você aprendeu a integrar as Âncoras Espaciais do Azure avançadas para alinhar dispositivos em uma experiência compartilhada.In this tutorial, you learned how to integrate Azure's powerful Spatial Anchors to align devices in a shared experience.

Isso também conclui esta série de tutoriais em que você aprendeu a configurar uma conta do Photon, criar um aplicativo PUN, integrar o PUN ao projeto do Unity, configurar os avatars e objetos compartilhados do usuário e, por fim, alinhar vários participantes usando as Âncoras Espaciais do Azure.This also concludes this tutorial series where you learned how to set up a Photon account, create a PUN app, integrate PUN into the Unity project, configure user avatars and shared objects, and finally align multiple participants using Azure Spatial Anchors.