Avvio rapido: Creare un'app HoloLens con Ancoraggi di oggetti di Azure, in C++/WinRT e DirectX

Questa guida introduttiva illustra come creare un'app HoloLens usando Ancoraggi di oggetti di Azure in C++/WinRT e DirectX. Ancoraggi di oggetti di Azure è un servizio cloud gestito che converte gli asset 3D in modelli di intelligenza artificiale che consentono esperienze di realtà mista in grado di riconoscere oggetti per HoloLens. Al termine, sarà presente un'app HoloLens in grado di rilevare un oggetto e la relativa posizione in un'applicazione Holographic DirectX 11 (Universal Windows).

Si apprenderà come:

  • Creare e caricare un'applicazione HoloLens side-load
  • Rilevare un oggetto e visualizzarne il modello

Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.

Prerequisiti

Per completare questa guida introduttiva, accertarsi di disporre di quanto segue:

  • Un oggetto fisico nell'ambiente e il relativo modello 3D (CAD o analizzati).
  • Un Windows computer con il seguente installato:
    • Git per Windows
    • Visual Studio 2019 con il carico di lavoro sviluppo della piattaforma Universal Windows e il componente Windows 10 SDK (10.0.18362.0 o versione più recente)
  • Un HoloLens 2 aggiornato e con la modalità sviluppatore abilitata.
    • Per aggiornare alla versione più recente per HoloLens, aprire l'app Impostazioni, scegliere Aggiornamento e sicurezza, quindi selezionare Verifica disponibilità aggiornamenti.

Creare un account di Ancoraggi oggetto

In primo luogo, è necessario creare un account con il servizio Ancoraggi oggetti.

  1. Passare al portale di Azure e selezionare Crea una risorsa.

    Creare una nuova risorsa

  2. Cercare la risorsa Ancoraggi oggetto.

    Cercare "Ancoraggi oggetto".

    Selezionare la risorsa Ancoraggi oggetto

    Nella risorsa Ancoraggi oggetto nei risultati della ricerca selezionare Crea -> Ancoraggi oggetto.

    Creare una risorsa ancoraggi di oggetti

  3. Nella finestra di dialogo Account ancoraggi oggetto:

    • Immettere un nome di risorsa univoco.
    • Selezionare la sottoscrizione a cui si vuole collegare la risorsa.
    • Creare o usare un gruppo di risorse esistente.
    • Selezionare l'area in cui si desidera che la risorsa esista.

    Immettere i dettagli dell'account della risorsa Ancoraggi oggetto

    Selezionare Crea per iniziare a creare la risorsa.

  4. Creata la risorsa, selezionare Vai alla risorsa.

    Vai alla risorsa

  5. Nella pagina di panoramica:

    Prendere nota del dominio dell'account. Sarà necessario più avanti.

    Copiare il dominio dell'account per la risorsa Ancoraggi oggetto

    Prendere nota dell'ID account. Sarà necessario più avanti.

    Copiare l'ID account per la risorsa Ancoraggi oggetto

    Passare alla pagina Chiavi di accesso e prendere nota della chiave primaria. Sarà necessario più avanti.

    Copiare la chiave dell'account per la risorsa Ancoraggi oggetto

Upload modello

Prima di eseguire l'app, è necessario rendere disponibili i modelli per l'app. Se non si ha già un modello Di ancoraggi oggetti, seguire le istruzioni in Creare un modello per crearne uno. Quindi, tornare qui.

Con il HoloLens acceso e connesso al dispositivo di sviluppo (PC), seguire questa procedura per caricare un modello nella cartella Oggetti 3D nel HoloLens:

  1. Selezionare e copiare i modelli da usare premendo CTRL e C insieme (CTRL+C).

  2. Premere Windows logo e E (Win + E) per avviare Esplora file. Nel riquadro sinistro HoloLens le unità e le altre cartelle.

    Esplora file

  3. Toccare il collegamento HoloLens per visualizzare lo spazio di archiviazione HoloLens dispositivo nel riquadro destro.

    aprire HoloLens di archiviazione interna

  4. In Esplora file passare a Internal Archiviazione > 3D Objects (Oggetti 3D interni). A questo punto, è possibile incollare i modelli nella cartella Oggetti 3D premendo CTRL e V insieme (CTRL+V).

    Incollare modelli nella cartella Oggetti 3D

Aprire il progetto di esempio

Per clonare il repository di esempi, eseguire questo comando:

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

cd ./azure-object-anchors

Aprire quickstarts/apps/directx/DirectXAoaSampleApp.sln in Visual Studio.

Modificare La configurazione della soluzione in Versione, modificare Piattaforma soluzione in ARM64 e selezionare Dispositivo nelle opzioni di destinazione della distribuzione.

Configurare le informazioni sull'account

Il passaggio successivo consiste nel configurare l'app per l'uso delle informazioni sull'account. Sono stati presi nota dei valori Chiave account, ID account e Dominio account nella sezione "Creare un account ancoraggi oggetto".

Aprire Assets\ObjectAnchorsConfig.json.

Individuare il AccountId campo e sostituire con Set me l'ID account.

Individuare il AccountKey campo e sostituire con la chiave Set me dell'account.

Individuare il AccountDomain campo e sostituire con il dominio Set me dell'account.

A questo punto, compilare il progetto AoaSampleApp facendo clic con il pulsante destro del mouse sul progetto e scegliendo Compila.

Configurare Visual Studio progetto da distribuire

Distribuire l'app in HoloLens

Dopo aver completato correttamente la compilazione del progetto di esempio, è possibile distribuire l'app in HoloLens.

Assicurarsi che HoloLens dispositivo sia acceso e connesso al PC tramite un cavo USB. Assicurarsi che Dispositivo sia la destinazione di distribuzione scelta (vedere sopra).

Fare clic con il pulsante destro del mouse sul progetto AoaSampleApp, quindi scegliere Distribuisci dal menu a comparsa per installare l'app. Se non viene visualizzato alcun errore Visual Studio'Finestra di output, l'app verrà installata HoloLens.

Distribuire l'app in HoloLens

Prima di avviare l'app, è necessario caricare un modello a oggetti, ad esempio chair.ou, nella cartella Oggetti 3D nel HoloLens. In caso contrario, seguire le istruzioni nella sezione "Upload modello".

Per avviare ed eseguire il debug dell'app, selezionare Debug > Avvia debug.

Inserire il modello a oggetti e rilevarne l'istanza

L'app AoaSampleApp è ora in esecuzione nel dispositivo HoloLens dispositivo. Avvicinarsi (entro 2 metri) all'oggetto di destinazione (cattedra) e analizzarlo esaminandolo da più prospettive. Dovrebbe essere visualizzato un rettangolo di selezione rosa intorno all'oggetto con alcuni punti gialli sottoposti a rendering vicino alla superficie dell'oggetto, che indica che è stato rilevato.

Rilevamento della cattedra

Figura: una cattedra rilevata sottoposta a rendering con il rettangolo di selezione (rosa), la nuvola di punti (gialla) e un'area di ricerca (casella gialla grande).

È possibile definire uno spazio di ricerca per l'oggetto nell'app facendo clic con il dito nell'aria con la mano destra o sinistra. Lo spazio di ricerca passa tra una sfera di 2 metri di raggio, un rettangolo di selezione di 4 m^3 e un frustum di visualizzazione. Per gli oggetti più grandi, ad esempio le automobili, la scelta migliore è in genere usare la selezione del frusto di visualizzazione mentre si trova di fronte a un angolo dell'oggetto a circa 2 metri di distanza. Ogni volta che l'area di ricerca cambia, l'app rimuove le istanze attualmente rilevate e quindi prova a trovarle di nuovo nella nuova area di ricerca.

Questa app può tenere traccia di più oggetti contemporaneamente. A tale scopo, caricare più modelli nella cartella Oggetti 3D del dispositivo e impostare un'area di ricerca che copre tutti gli oggetti di destinazione. Potrebbe essere necessario più tempo per rilevare e tenere traccia di più oggetti.

L'app allinea un modello 3D alla controparte fisica. Un utente può attivare il tocco con la mano sinistra per attivare la modalità di rilevamento ad alta precisione, che calcola una posizione più accurata. Si tratta ancora di una funzionalità sperimentale, che utilizza più risorse di sistema e potrebbe causare un maggiore instabilità nella posizione stimata. Toccare nuovamente Air con la mano sinistra per tornare alla modalità di rilevamento normale.

Passaggi successivi