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

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

Nello specifico:

  • Creare e caricare localmente un'applicazione HoloLens
  • Rilevare un oggetto e visualizzarne il modello

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

Prerequisiti

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

  • Oggetto fisico nell'ambiente e nel relativo modello 3D, CAD o digitalizzato.
  • Un computer Windows con installato quanto segue:
    • Git per Windows
    • Visual Studio 2019 con il carico di lavoro di sviluppo piattaforma UWP (Universal Windows Platform) e il componente Windows 10 SDK (10.0.18362.0 o versione successiva)
  • Un dispositivo HoloLens 2 aggiornato e in cui è abilitata la modalità sviluppatore.
    • 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 di oggetti

Prima di tutto, è necessario creare un account con il servizio Ancoraggi oggetti.

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

    Create a new resource

  2. Cercare la risorsa Ancoraggi oggetto .

    Cercare "Ancoraggi oggetto".

    Select the Object Anchors Resource

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

    Create an Object Anchors Resource

  3. Nella finestra di dialogo Account di Ancoraggi di oggetti:

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

    Enter Object Anchors resource account details

    Selezionare Crea per iniziare a creare la risorsa.

  4. Creata la risorsa, selezionare Vai alla risorsa.

    Go to resource

  5. Nella pagina di panoramica:

    Prendere nota del dominio account. in quanto sarà necessario più avanti.

    Copy the account domain for your Object Anchors resource

    Prendere nota dell'ID account. in quanto sarà necessario più avanti.

    Copy the account ID for your Object Anchors resource

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

    Copy the account key for your Object Anchors resource

Caricare il modello

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

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

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

  2. Premere tasto Logo Windows e E insieme (Win + E) per avviare Esplora file. Nel riquadro sinistro dovrebbe essere elencato HoloLens con altre unità e cartelle.

    file explorer

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

    open HoloLens internal storage

  4. In Esplora file passare a Interno Archiviazione > oggetti 3D. È ora possibile incollare i modelli nella cartella 3D Objects premendo CTRL e V insieme (CTRL+V).

    paste models in 3D Objects folder

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 guide introduttive/apps/directx/DirectXAoaSampleApp.sln in Visual Studio.

Modificare Configurazione soluzione in Rilascio, modificare Piattaforma soluzione in ARM64, selezionare Dispositivo dalle 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 dell'account, ID account e dominio account nella sezione "Creare un account di ancoraggi di oggetti".

Aprire Assets\ObjectAnchorsConfig.json.

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

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

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

Compilare ora il progetto AoaSampleApp facendo clic con il pulsante destro del mouse sul progetto e scegliendo Compila.

Screenshot shows configuring Visual Studio project to deploy.

Distribuire l'app in HoloLens

Dopo aver compilato correttamente il progetto di esempio, è possibile distribuire l'app in HoloLens.

Verificare che il dispositivo HoloLens sia acceso e connesso al PC tramite un cavo USB. Assicurarsi che Device sia la destinazione di distribuzione scelta, come indicato in precedenza.

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

Screenshot shows the context menu for the project with Deploy selected.

Prima di avviare l'app, dovresti aver caricato un modello a oggetti, chair.ou , ad esempio, nella cartella 3D Objects in HoloLens. In caso contrario, seguire le istruzioni nella sezione Caricare il 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. Camminare vicino, entro 2 metri distanza, all'oggetto di destinazione (sedia) e analizzarlo esaminandolo da più prospettive. Dovrebbe essere visualizzato un rettangolo di selezione rosa intorno all'oggetto con alcuni punti gialli visualizzati vicino alla superficie dell'oggetto, che indica che è stato rilevato. Dovrebbe essere visualizzata anche una casella gialla che indica l'area di ricerca.

Photograph shows a chair with the bounding box, point cloud, and search area.

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

Questa app può tenere traccia di più oggetti contemporaneamente. A tale scopo, caricare più modelli nella cartella 3D Objects 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ò toccare l'aria usando la mano sinistra per attivare la modalità di tracciamento ad alta precisione, che calcola una posizione più accurata. Questa funzionalità è ancora sperimentale. Consuma più risorse di sistema e potrebbe comportare un'instabilità più elevata nella posizione stimata. Toccare di nuovo l'aria con la mano sinistra per tornare alla modalità di tracciamento normale.

Passaggi successivi