Uso del motore Vuforia con UnityUsing Vuforia Engine with Unity

Il motore Vuforia offre una funzionalità importante per HoloLens: la potenza di connettere le esperienze AR a immagini e oggetti specifici nell'ambiente.Vuforia Engine brings an important capability to HoloLens – the power to connect AR experiences to specific images and objects in the environment. È possibile usare questa funzionalità per sovrapporre istruzioni dettagliate guidate sui macchinari per l'azienda industriale o aggiungere funzionalità e esperienze digitali a un prodotto o gioco fisico.You can use this capability to overlay guided step-by-step instructions on top of machinery for the industrial enterprise or add digital features and experiences to a physical product or game.

Il motore Vuforia offre un'ampia gamma di funzionalità e destinazioni per rendere più flessibile il processo di sviluppo AR.Vuforia Engine offers a broad range of features and targets to make your AR development process more flexible. Una delle funzionalità più recenti, Vuforia Model targets, è una funzionalità chiave per usi sia commerciali che industriali.One of our newest features, Vuforia Model Targets, is a key capability for both commercial and industrial uses. Le destinazioni dei modelli consentono alle applicazioni di riconoscere oggetti fisici, ad esempio computer, automobili o giocattoli, e di tenerne traccia in base a un modello CAD o digitale 3D.Model Targets allow applications to recognize physical objects like machines, automobiles, or toys and track them based on a CAD or digital 3D model. Per gli usi industriali, questa funzionalità può fornire agli addetti agli assembly e ai tecnici del servizio le istruzioni di lavoro AR e le linee guida procedurali in fabbrica o nel campo.For industrial uses, this feature can provide assembly workers and service technicians with AR work instructions and procedural guidance while in the factory or out in the field.

Le app esistenti del motore Vuforia compilate per telefoni e tablet possono essere facilmente configurate in Unity per l'esecuzione in HoloLens.Existing Vuforia Engine apps that were built for phones and tablets can easily be configured in Unity to run on HoloLens. È anche possibile usare il motore Vuforia per portare la nuova app HoloLens a Tablet Windows 10, ad esempio Surface Pro e Surface book.You can even use Vuforia Engine to take your new HoloLens app to Windows 10 tablets such as the Surface Pro and Surface Book.

Get the toolsGet the tools

Installare le versioni consigliate di Visual Studio e Unity, quindi configurare Unity per l'uso di Visual Studio e dell'IDE e del compilatore preferiti.Install the recommended versions of Visual Studio and Unity and then configure Unity to use Visual Studio and the preferred IDE and compiler.

Quando si installa Unity, assicurarsi di installare il "back-end di scripting di Windows Store IL2CPP".When installing Unity, be sure to install the “Windows Store IL2CPP Scripting Backend”.

Aggiungere il pacchetto del motore Vuforia come descritto qui.Add the Vuforia Engine package as described here..

Introduzione al motore VuforiaGetting started with Vuforia Engine

Il punto di partenza migliore per conoscere il motore Vuforia e HoloLens è l' esempio HoloLens Engine Vuforia (disponibile in Unity Asset Store).The best starting point for learning about Vuforia Engine and HoloLens is the Vuforia Engine HoloLens sample (available in the Unity Asset Store). L'esempio fornisce un progetto HoloLens completo che include scene preconfigurate che possono essere distribuite in un HoloLens.The sample provides a complete HoloLens project including pre-configured scenes that can be deployed to a HoloLens.

Le scene illustrano come usare le destinazioni delle immagini Vuforia per riconoscere un'immagine e aumentarla con contenuto digitale in un'esperienza HoloLens.The scenes show how to use Vuforia Image Targets to recognize an image and augment it with digital content in a HoloLens experience. L'esempio HoloLens del motore Vuforia include anche una scena che mostra l'utilizzo delle destinazioni dei modelli e di VuMarks in HoloLens.The Vuforia Engine HoloLens Sample also includes a scene showing the usage of Model Targets and VuMarks on HoloLens. È possibile sostituire facilmente il proprio contenuto nelle scene per sperimentare la creazione di app HoloLens che usano il motore Vuforia.You can easily substitute your own content in the scenes to experiment with the creation of HoloLens apps that use Vuforia Engine.

Configurazione di un'app Vuforia per HoloLensConfiguring a Vuforia App for HoloLens

Lo sviluppo di un'app del motore Vuforia per HoloLens è fondamentalmente lo stesso dello sviluppo di app del motore Vuforia per altri dispositivi.Developing a Vuforia Engine app for HoloLens is fundamentally the same as developing Vuforia Engine apps for other devices. È quindi possibile applicare le impostazioni e le configurazioni di compilazione descritte nella sezione seguente.You can then apply the build settings and configurations described in the section below. Questo è tutto ciò che serve per consentire al motore Vuforia di funzionare con il mapping spaziale HoloLens e i sistemi di rilevamento posizionale.That’s all that’s needed to enable Vuforia Engine to work with the HoloLens spatial mapping and positional tracking systems.

Compilare ed eseguire l'esempio di motore Vuforia per HoloLensBuild and Run the Vuforia Engine Sample for HoloLens

  1. Scaricare l' esempio di motore Vuforia per HoloLens da Unity Asset StoreDownload the Vuforia Engine Sample for HoloLens from the Unity Asset Store
  2. Applicare le Opzioni consigliate del motore Unity per l'alimentazione e le prestazioniApply the recommended Unity engine options for power and performance
  3. Aggiungere le scene di esempio alle scene nella compilazione.Add the sample scenes to Scenes in Build.
  4. In impostazioni di compilazione cambiare piattaforma di compilazione in UWP facendo clic sul pulsante Aggiungi scene aperte .In Build Settings, switch build platform to UWP by clicking the Add Open Scenes button. imageimage
  5. Selezionare il pulsante Impostazioni lettore .Select the Player Settings button.
  • Selezionare l'icona UWP ed espandere la sezione impostazioni di XR .Select the UWP icon and expand the XR Settings section.
  • Verificare che la realtà virtuale supportata sia abilitata.Ensure that Virtual Reality Supported is enabled.
  • In Virtual Reality SDK verificare che:Under Virtual Reality SDKs ensure that:
    • La realtà mista della finestra è inclusa nell'elenco e l' Abilitazione della condivisione del buffer di profondità è abilitata.Window Mixed Reality is included in the list and that Enable Depth Buffer Sharing is enabled.
    • Il formato di profondità è impostato sulla profondità a 16 bit.The Depth Format is set to 16-bit depth.
  • Verificare che la modalità di rendering stereo sia impostata su Single Pass instanced.Ensure that the Stereo Rendering Mode is set to Single Pass Instanced.
  1. Espandere la sezione impostazioni di pubblicazione .Expand the Publishing Settings section.
  • In funzionalità verificare che siano selezionati client Internet, webcam, microfoni e SpatialPerception .Under Capabilities ensure that Internet Client, WebCam, Microphone, and SpatialPerception are selected.
  • Nota: è consigliabile selezionare SpatialPerception solo se si intende usare l'API Observer di Surface.NOTE: SpatialPerception should only be selected if you intend to use the Surface Observer API.
  • In gruppi di dispositivi supportati verificare che sia selezionato olografico .Under Supported Device Families, ensure that Holographic is selected.
  1. Espandere la sezione risoluzione e presentazione .Expand the Resolution and Presentation section.
  • Disabilitare l' esecuzione in background in modo che il motore Vuforia si sospenda quando l'app viene messa in background e può accedere nuovamente alla fotocamera quando l'app viene ripresa.Disable Run in Background so that Vuforia Engine pauses when the app is put into the background and can access the camera again when the app is resumed.
  • Nell'elenco a discesa orientamento predefinito assicurarsi che sia selezionato Landscape Left .In the Default Orientation dropdown, ensure that Landscape Left is selected.
  1. Tornare alla finestra impostazioni di compilazione e selezionare Compila per generare un progetto di Visual Studio.Return to the Build Settings window and select Build to generate a Visual Studio project.
  2. Compilare il file eseguibile da Visual Studio e installarlo nella HoloLens.Build the executable from Visual Studio and install it on your HoloLens.

Portale per sviluppatori VuforiaThe Vuforia Developer Portal

Gli sviluppatori che desiderano creare le proprie esperienze AR con il motore Vuforia e HoloLens devono iscriversi nel portale per sviluppatori Vuforia in Developer.Vuforia.com.Developers looking to create their own AR experiences with Vuforia Engine and HoloLens should sign up on our Vuforia Developer Portal at developer.vuforia.com. Nel portale gli sviluppatori hanno accesso ai forum del motore Vuforia , in cui possono partecipare a discussioni della community, una libreria con una documentazione dettagliata su tutte le funzionalità del motore Vuforia e la gestione di destinazione Vuforia in cui gli utenti possono creare le proprie destinazioni personalizzate.In the portal, developers have access to the Vuforia Engine Forums where they can join community discussions, a library with in-depth documentation on all the Vuforia Engine Features, and the Vuforia Target Manager where users can create their own custom Targets. Gli sviluppatori possono inoltre iscriversi per ottenere una licenza gratuita per sviluppatori utilizzando il gestore delle licenze Vuforia.Developers can also sign up for a free Developer License using the Vuforia License Manager.

Rilevamento del dispositivo con VuforiaDevice Tracking with Vuforia

Il rilevamento del dispositivo mantiene il rilevamento anche quando una destinazione non è più in visualizzazione.Device Tracking maintains tracking even when a target is no longer in view. Viene abilitata automaticamente per tutte le destinazioni quando è abilitato il rilevamento del dispositivo posizionale.It's automatically enabled for all targets when the Positional Device Tracker is enabled. Per le applicazioni HoloLens, lo strumento di rilevamento del dispositivo posizionale viene avviato automaticamente in Unity.For HoloLens applications, the Positional Device Tracker is started automatically in Unity.

Il motore Vuforia unisce automaticamente le pose dal rilevamento della fotocamera e dal rilevamento spaziale di HoloLens per fornire una destinazione stabile, indipendentemente dal fatto che la destinazione sia visibile o meno dalla fotocamera.Vuforia Engine automatically fuses the poses from camera tracking and HoloLens's spatial tracking to provide stable target poses independent of whether the target is seen by the camera or not.

Poiché il processo viene gestito automaticamente, non richiede alcuna programmazione da parte dello sviluppatore.Since the process is handled automatically, it doesn't require any programming by the developer.

Di seguito è riportata una descrizione di alto livello del processo:The following is a high-level description of the process:

  1. Il Tracker di destinazione di Vuforia riconosce la destinazioneVuforia’s target Tracker recognizes the target
  2. Il rilevamento della destinazione viene quindi inizializzatoTarget tracking is then initialized
  3. La posizione e la rotazione della destinazione vengono analizzate per fornire una stima di posa affidabile per HoloLensThe position and rotation of the target are analyzed to provide a robust pose estimate for the HoloLens
  4. Il motore Vuforia trasforma il posto della destinazione nello spazio delle coordinate del mapping spaziale HoloLensVuforia Engine transforms the target's pose into the HoloLens spatial mapping coordinate space
  5. HoloLens acquisisce il controllo se la destinazione non è più in visualizzazione.HoloLens takes over tracking if the target is no longer in view. Ogni volta che si cerca di nuovo nella destinazione, Vuforia continuerà a tenere traccia delle immagini e degli oggetti in modo accurato.Whenever you look again at the target, Vuforia will continue to track the images and objects accurately.

Le destinazioni rilevate, ma non più visualizzate, vengono segnalate come EXTENDED_TRACKED.Targets that are detected, but no longer in view, are reported as EXTENDED_TRACKED. In questi casi, lo script DefaultTrackableEventHandler usato in tutte le destinazioni continua a eseguire il rendering del contenuto di aumento.In these cases, the DefaultTrackableEventHandler script that is used on all targets continues to render augmentation content. Lo sviluppatore può controllare questo comportamento implementando uno script personalizzato del gestore eventi rilevabili.The developer can control this behavior by implementing a custom trackable event handler script.

Modalità prestazioni con il motore VuforiaPerformance Mode with Vuforia Engine

È possibile usare il motore Vuforia per gestire le prestazioni in HoloLens per l'estensione delle esperienze AR e ridurre il carico di lavoro sulla CPU.It's possible through the Vuforia Engine to manage the performance on the HoloLens to extent AR experiences and reduce the workload on the CPU. Il motore Vuforia offre tre modalità che è possibile selezionare: predefinita, per ottimizzare la velocità e ottimizzare la qualità.The Vuforia Engine offers three modes that can be selected: default, for optimizing speed, and for optimizing quality.

  • MODE_OPTIMIZE_SPEED consente di ridurre al minimo il carico di lavoro nel dispositivo HoloLens ed è ideale per estendere le esperienze AR.MODE_OPTIMIZE_SPEED lets you minimize the workload on the HoloLens device and is great for extending AR experiences. È consigliabile per le situazioni in cui l'app tiene traccia degli oggetti/destinazioni statici.We recommended for situations where the app is tracking static objects/targets.
  • MODE_DEFAULT è la modalità normale, che può essere usata nella maggior parte degli scenari.MODE_DEFAULT is the normal mode, which can be used in most scenarios.
  • MODE_OPTIMIZE_QUALITY è migliore per tenere traccia degli obiettivi mobili o degli obiettivi del modello che si prevede di prelevare.MODE_OPTIMIZE_QUALITY is better for tracking movable targets or model targets you expect to be picked up.

Impostazione della modalitàSetting the mode

Per modificare la modalità di prestazioni in Unity, passare a configurazione di Vuforia (CTRL + MAIUSC + V/Cmd + Maiusc + V) che si trova come componente in ARCamera GameObject.To change the performance mode in Unity, navigate to Vuforia Configuration (Ctrl+Shift+V / Cmd+Shift+V) that is located as a component in the ARCamera GameObject.

  • Selezionare il menu a discesa per la modalità dispositivo fotocamera e selezionare una delle tre opzioni.Select the dropdown menu for Camera Device Mode and select one of the three options.

Vedere ancheSee also