Codici a matrice in Unreal

Se non si ha familiarità con i codici a matrice, è possibile esaminare la panoramica del rilevamento del codice a matrice.

HoloLens 2 può individuare i codici a matrice nello spazio globale usando la webcam, eseguendone il rendering come ologrammi nella posizione reale di ciascun codice. HoloLens 2 è in grado di eseguire il rendering degli ologrammi nella stessa posizione su più dispositivi per creare un'esperienza condivisa. Assicurati di seguire le procedure consigliate per l'aggiunta di codici a matrice alle tue applicazioni:

  • Zone silenziose
  • Illuminazione e sfondo
  • Dimensione, distanza e posizione angolare

Presta particolare attenzione alle considerazioni sull'ambiente quando vengono inseriti codici a matrice nell'app. È possibile trovare altre informazioni su ognuno di questi argomenti e istruzioni su come scaricare il pacchetto NuGet richiesto nel documento di panoramica del rilevamento del codice a matrice.

Attenzione

I codici a matrice sono l'unico tipo di immagini che possono essere rilevate da HoloLens automaticamente. Il modulo UARTrackedImage di Unreal non è supportato in HoloLens. Se è necessario rilevare immagini personalizzate, è possibile accedere alla webcam del dispositivo ed elaborare le immagini usando una libreria di riconoscimento immagini di terze parti.

Abilitazione del rilevamento di codici a matrice

Dato che HoloLens 2 deve usare la webcam per visualizzare i codici a matrice, è necessario abilitarla nelle impostazioni del progetto:

  • Aprire Modifica > impostazioni progetto, scorrere fino alla sezione Piattaforme e selezionare HoloLens.
    • Espandi la sezione Capabilities (Funzionalità) e seleziona Webcam.  
  • Devi anche acconsentire esplicitamente al rilevamento dei codici a matrice aggiungendo un asset ARSessionConfig.

Se si usa UE 4.26, è consigliabile adottare la configurazione di progetto seguente per aggiungere un piccolo ritardo, perché il rilevamento del codice a matrice deve essere inizializzato DOPO l'avvio di una sessione AR:

Progetto della funzione Toggle ARCapture con ritardo

Configurazione di un codice a matrice rilevato

I codici a matrice vengono esposti tramite il sistema di geometria rilevata AR di Unreal come immagine rilevata. Per procedere, è necessario:

  1. Creare un attore di progetto e aggiungere un componente ARTrackableNotify:

Codice a matrice - AR Trackable Notify

  1. Selezionare ARTrackableNotify ed espandere la sezione Events (Eventi) nel pannello Details (Dettagli):

Eventi dei codici a matrice

  1. Fare clic su + accanto a On Add Tracked Geometry (All'aggiunta della geometria rilevata) per aggiungere il nodo in Event Graph (Grafico eventi).
    • L'elenco completo degli eventi è disponibile nell'API del componente UARTrackableNotify.

Aggiungere il nodo a On Add Tracked Geometry (All'aggiunta della geometria rilevata)

Uso di un codice a matrice rilevato

Il grafico degli eventi nell'immagine seguente mostra l'evento OnUpdateTrackedImage usato per eseguire il rendering di un punto al centro di un codice a matrice e stamparne i dati.

Ecco cosa accade:

  1. Prima di tutto, viene eseguito il cast dell'immagine rilevata in un codice ARTrackedQRCode per verificare che l'immagine aggiornata corrente sia un codice a matrice.
  2. I dati codificati vengono recuperati dalla variabile QRCode. È possibile ottenere la parte superiore sinistra del codice a matrice dalla posizione di GetLocalToWorldTransform e le dimensioni con GetEstimateSize.

È anche possibile ottenere il sistema di coordinate per un codice a matrice nel codice.

Ricerca dell'ID univoco

Ogni codice a matrice ha un ID GUID univoco. Per trovarlo:

  • Trascinamento e eliminazione del pin AS ARTracked QRCode e ricerca di Ottenere ID univoco.

GUID dei codici a matrice

Successivo checkpoint di sviluppo

Se si segue il percorso del checkpoint di sviluppo unreal , è possibile procedere all'argomento successivo:

In alternativa, passare direttamente alla distribuzione dell'app in un dispositivo o emulatore:

È sempre possibile tornare ai checkpoint per lo sviluppo con Unreal in qualsiasi momento.

Vedere anche