ARKit Portal => Vuforia ARKit Portal!

Ebbene si! Questo Video e l'articolo che stai iniziando a leggere sono la mia soluzione definitiva all'oramai famoso interdimensional portal, sviluppato per ARKit, in cui entri in un mondo virtuale e che in tanti stanno cercando di riprodurre utilizzando Vuforia ora che ha il supporto per ARKit e ARcore. Il principale beneficio di usare Vuforia, oramai incluso in Unity, è quello di poter avere il portale non solo per iOS anche per Android, non mi sembra poco. Se ancora non lo conosci, scoprirai cosa è Vuforia Ground Plane e come può aiutarti a realizzare il portale. Bene, come sempre mettiti comodo e leggi questo tutorial che ho scritto per te.  

Da dove partire?

Vuforia mette a disposizione una feature chiamata Ground Plane che ti permette di posizionare un oggetto su una superficie piana, nel nostro caso un bel pavimento oppure un marciapiede; utilizzare infatti questa feature all'aperto rende molto più realistico il passaggio fisico tra il mondo reale e quello virtuale compiuto attraversando il portale. Quindi con GroundPlane puoi posizionare il portale dove preferisci e realizzare la stessa identica funzionalità che hai visto nel video al link suddetto. Questo è il primo step da soddisfare. Per questo progetto di esempio ho utilizzato Unity 2018.2.19 e Vuforia 7.26; crea un progetto, abilita SOLO Vuforia in XR Settings, rimuovi il game object Camera di default, aggiungi il medesimo che trovi nel menu Vuforia e assicurati che abbia il tag impostato a MainCamera. Ora osserva il componente Camera incluso nel game object ARCamera e imposta Clipping Planes a Near = 0.01 e Far = 500, Depth = -1. Aggiungi poi un componente Sphere Collider e un RigidBody, questi due ti servono per far intercettare la camera da un altro script, che troverai nel seguito dell'articolo, quando ti avvicinerai al portale. Le impostazioni fatte finora devono corrispondere a quelle che vedi in Fig.1:  
ARkit portal unity vuforia Fig.1
Fig.1
 

Ground Plane è il segreto del successo

Ti serve ora un game object che ti permetta di gestire Ground Plane per fargli capire che deve far comparire il tuo mondo virtuale, portale compreso, nel punto che gli indicherai con il tap del dito sul display dello smartphone. Crea quindi un game object, chiamalo PortalPlaneManager e associagli lo script seguente:

using System.Collections.Generic;
using UnityEngine;
using Vuforia;

public class PortalPlaneManager : MonoBehaviour
{
   public enum PlaneMode
   {
      GROUND
   }
...
 

Questo è un articolo PREMIUM!


  Caro lettore, questo è un articolo di categoria Premium e per proseguire la lettura ti chiedo un piccolo contributo poichè ho impiegato diverso tempo a prepararlo e scriverlo. Tale contributo mi consentirà di mantenere il blog e offrirti sempre articoli di qualità. Grazie mille.    
Vota questo articolo