Sommario:

App di realtà aumentata per principianti: 8 passaggi
App di realtà aumentata per principianti: 8 passaggi

Video: App di realtà aumentata per principianti: 8 passaggi

Video: App di realtà aumentata per principianti: 8 passaggi
Video: COME SVILUPPARE UN'APP ANDROID DA ZERO! | Guida ITA | TuttoAndroid 2024, Novembre
Anonim
App di realtà aumentata per principianti
App di realtà aumentata per principianti
App di realtà aumentata per principianti
App di realtà aumentata per principianti

Questo tutorial ti mostrerà come creare un'app di realtà aumentata per principianti. Useremo Unity3D e il rilevamento del piano di terra di Vuforia per creare un'app AR senza marker per Android o IOS. Analizzeremo l'aggiunta di un modello 3D a Unity e lo sposteremo con un joystick mobile. Questo metodo funzionerà anche con qualsiasi altro modello 3D gratuito che puoi trovare.

Passaggio 1: funzionerà sul tuo telefono?

Funzionerà sul tuo telefono?
Funzionerà sul tuo telefono?

Prima di tutto dobbiamo assicurarci che il tuo telefono supporti il rilevamento del piano di terra di Vuforia, quindi assicurati che il tuo telefono sia nell'elenco dei dispositivi supportati.

library.vuforia.com/articles/Solution/Vufo…

L'unica cosa di cui avrai bisogno per quanto riguarda il software è la versione gratuita di Unity. Se non lo hai già, vai su Unity3d.com e fai clic su Ottieni Unity. Ora sto usando la versione 2018.2.0, se questa versione non è più disponibile vai alle versioni precedenti di Unity e scarica 2018.2.0.

Durante il processo di installazione assicurati di installare i pacchetti per IOS o Android a seconda del tipo di telefono che hai e assicurati di installare il supporto Vuforia.

Passaggio 2: avvia un nuovo progetto Unity

Inizia un nuovo progetto di unità
Inizia un nuovo progetto di unità

Avvia un nuovo progetto Unity ed elimina la fotocamera principale. Nella barra dei menu in alto vai su oggetto di gioco, vuforia e aggiungi una "ARCcamera".

Prima che tutto possa funzionare, dobbiamo abilitare Vuforia, quindi vai alle impostazioni di compilazione dei file, cambia piattaforma, alle impostazioni XR e abilita il supporto per la realtà aumentata di Vuforia.

Fare clic sull'oggetto di gioco "ARCamera" e nell'ispettore fare clic su Configurazione di Vuforia. In basso abilita il tracciamento del dispositivo e cambia la modalità di tracciamento in posizionale.

Aggiungi un piano terra e un cercatore aereo dallo stesso menu Vuforia da cui hai ottenuto la fotocamera.

Nel cercatore aereo cambia il menu a discesa in interattivo, deseleziona lo stage duplicato e trascina l'oggetto stage piano di terra nello slot vuoto dello stage di ancoraggio sul cercatore aereo.

Ora dobbiamo aggiungere il nostro joystick, quindi nel menu in alto vai a risorse, importa pacchetto, input multipiattaforma.

Nella cartella delle risorse standard appena aggiunta, vai ai prefabbricati e trascina il prefabbricato di controllo a levetta singola mobile nella scena.

Elimina il pulsante di salto. Fare clic con il tasto destro nella gerarchia e aggiungere un'interfaccia utente, un sistema di eventi.

Infine, sull'oggetto di gioco root del joystick, fai clic per aggiungere un componente e aggiungi uno scaler di tela. Cambia il suo menu a discesa per ridimensionarlo con le dimensioni dello schermo. Nello script Joystick, modifica l'intervallo di movimento a 25.

Passaggio 3: crea un interruttore

Crea un interruttore
Crea un interruttore

Ora il comportamento predefinito del comportamento di posizionamento del contenuto è ogni volta che si fa clic sullo schermo, lo stadio del piano terra viene riposizionato. Ciò include quando facciamo clic su oggetti dell'interfaccia utente come pulsanti o joystick, quindi non è quello che vogliamo. Dal momento che Vuforia attualmente non consente la modifica del comportamento di posizionamento del contenuto per correggere questo problema, potremmo scriverne uno da zero o, per il bene di questo tutorial, creeremo semplicemente un interruttore che attiva o disattiva questa funzionalità.

Fare clic con il pulsante destro del mouse sul joystick e creare un'interfaccia utente, attivare/disattivare. Espandi tutto e cambia i colori o il testo se vuoi.

Nella sezione sul valore modificato dell'interruttore aggiungi il cercatore aereo e rendi attivo l'oggetto di gioco in base al valore dell'interruttore. Ora, una volta che l'oggetto è posizionato nel mondo, dovremmo probabilmente disattivare l'interruttore, quindi vai al comportamento di posizionamento del contenuto e trascina l'interruttore sul contenuto on posizionato pari e imposta l'interruttore su off.

Fase 4: MOSTRO

MOSTRO!
MOSTRO!

Vai a finestra, generale e aggiungi una finestra del negozio di risorse.

Cerca "carattere mostro" e ordina per libero, prendi il primo risultato e importa quello.

Trascina il mostro prefabbricato sotto il livello del piano terra rendendolo un bambino. Imposta la sua posizione e rotazione a zero. Imposta la sua scala x yez su.1.

Vai all'animatore ed elimina tutto tranne la voce. Trascina le animazioni di camminata e inattività dalla cartella delle animazioni del mostro.

Nella sezione dei parametri fai clic sul pulsante più e aggiungi due trigger "walk" e "idle".

Fare clic su ciascuna animazione e aggiungere una transizione all'altra.

Fai clic su ciascuna transizione e aggiungi una condizione, metti in marcia per la prima e inattiva per la seconda. Deseleziona il tempo di uscita e trascina tutti i cursori su 0 su ciascuno.

Ora vogliamo che ogni animazione venga ripetuta, quindi fai clic su ogni animazione e vai alla sua clip. Fare clic su modifica su ciascuno e controllare il tempo del ciclo.

Passaggio 5: controllare il nostro carattere

Controllo del nostro carattere
Controllo del nostro carattere

Fare clic con il tasto destro nella cartella delle risorse e creare uno script C# chiamato "CharacterController" e aggiungere questo:

utilizzando System. Collections;

utilizzando System. Collections. Generic; utilizzando UnityEngine; utilizzando UnityStandardAssets. CrossPlatformInput; public class CharacterController: MonoBehaviour { private const float speed =.1f; Animatore privato anim; // Usalo per l'inizializzazione void Start() { anim = GetComponent (); } // Update viene chiamato una volta per frame void Update () { //move character from joystick input float x = CrossPlatformInputManager. GetAxis ("Horizontal"); float y = CrossPlatformInputManager. GetAxis ("Verticale"); if (!x. Equals(0) && !y. Equals (0)) { transform.eulerAngles = new Vector3 (transform.eulerAngles.x, Mathf. Atan2 (x, y) * Mathf. Rad2Deg, transform.eulerAngles.z); } if (!x. Equals (0) || !y. Equals (0)) { transform.position += transform.forward * Time.deltaTime * speed; anim. SetTrigger ("camminare"); } else { anim. SetTrigger ("inattivo"); } } public void PlaceCharacter () { transform.localPosition = Vector3.zero; } }

Passaggio 6: lasciami spiegare

Lasciatemi spiegare
Lasciatemi spiegare

Prima di tutto abbiamo un float costante definito in alto, quindi se vuoi che il tuo mostro si muova più velocemente o più lentamente cambia quel valore.

Questo script verrà aggiunto al nostro mostro in modo che possiamo fare qualcosa come "GetComponent()" per ottenere un riferimento a questo Animatore di mostri (in questo modo possiamo riprodurre le animazioni dal codice).

Quindi otteniamo il movimento xey del joystick dal gestore di input multipiattaforma e li salviamo ciascuno in una variabile.

Quindi usiamo queste due variabili per girare e spostare il mostro in base all'input del joystick.

Se il mostro si muove, riprodurremo l'animazione della camminata e se non si muove, riproduciamo l'animazione del minimo.

L'ultima funzione che abbiamo è quella di riportare la posizione locale dei mostri a zero ogni volta che il piano terra viene riposizionato. Quindi, con il modo in cui la nostra app è configurata ora, Vuforia riposizionerà lo stadio del piano terra ogni volta che facciamo clic sullo schermo. Il nostro mostro può muoversi sullo stage quindi dobbiamo riportare la sua posizione a zero, rispetto allo stage ogni volta che viene riposizionato.

Passaggio 7: ritocchi finali

Finiture!
Finiture!

Infine dobbiamo solo aggiungere il nostro CharacterController.cs al nostro mostro. Quindi vai alla trasformazione radice del prefabbricato mostro nella gerarchia e fai clic su di esso. Questo lo tirerà su sull'ispettore a destra. Fare clic su aggiungi componente e cercare lo script del controller del personaggio. Aggiungilo.

Dobbiamo anche assicurarci che la nostra funzione PlaceCharacter venga effettivamente chiamata, quindi vai all'oggetto del gioco di ricerca aereo e fai clic su di esso.

Nell'ispettore dovrebbe esserci una sezione avanzata su cui puoi fare clic per espandere. C'è un evento Unity chiamato "OnContentPlaced". Aggiungi una funzione a quella facendo clic sul pulsante più. Trascina il mostro nello slot vuoto lì, scegli lo script del controller del personaggio e infine scegli la funzione "PlaceCharacter".

Passaggio 8: portiamolo sul tuo telefono

Prendiamolo sul tuo telefono
Prendiamolo sul tuo telefono

Se sei su Android o IOS, fai clic su file, crea impostazioni e vai alle impostazioni del lettore per la tua rispettiva piattaforma. In entrambi i casi assicurati di inserire qualcosa per l'identificatore del bundle (nella forma "com. YourName. YourAppName"). Assicurati anche di avere un messaggio nel campo della descrizione dell'utilizzo della fotocamera.

Se sei su Android, deseleziona la compatibilità con Android TV e modifica il target di build minimo in Nougat.

Premi build ed esegui oppure premi build e installa il file.apk con ADB o Android Studio.

Se sei su IOS, fai clic su build e quindi apri la cartella risultante in XCode. Registrati per un account sviluppatore Apple gratuito (se non ne hai già uno) scegli la tua squadra e premi il pulsante di riproduzione per scaricarlo sul tuo telefono!

Fatemi sapere nei commenti se avete domande!

Consigliato: