Taula de continguts:

Aplicació de realitat augmentada per a principiants: 8 passos
Aplicació de realitat augmentada per a principiants: 8 passos

Vídeo: Aplicació de realitat augmentada per a principiants: 8 passos

Vídeo: Aplicació de realitat augmentada per a principiants: 8 passos
Vídeo: Основные ошибки при возведении перегородок из газобетона #5 2024, De novembre
Anonim
Aplicació de realitat augmentada per a principiants
Aplicació de realitat augmentada per a principiants
Aplicació de realitat augmentada per a principiants
Aplicació de realitat augmentada per a principiants

Aquest tutorial us mostrarà com crear una aplicació de realitat augmentada per a principiants. Utilitzarem la detecció de pla de terra d’Unity3D i Vuforia per crear una aplicació AR sense marcadors per a Android o IOS. Anirem afegint un model 3D a Unity i movent-lo amb un joystick mòbil. Aquest mètode també funcionarà amb qualsevol altre model 3D gratuït que pugueu trobar.

Pas 1: funcionarà al vostre telèfon?

Funcionarà això al vostre telèfon?
Funcionarà això al vostre telèfon?

Primer de tot, hem d’assegurar-nos que el vostre telèfon admeti la detecció de plànols terrestres de Vuforia, així que assegureu-vos que el telèfon estigui a la llista de dispositius compatibles.

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

L’únic que necessiteu pel que fa al programari és la versió gratuïta d’Unity. Si encara no el teniu, aneu a Unity3d.com i feu clic a Obtén Unity. Ara faig servir la versió 2018.2.0, si aquesta versió ja no està disponible, aneu a versions anteriors d’Unity i descarregueu-la 2018.2.0.

Durant el procés d’instal·lació, assegureu-vos d’instal·lar els paquets per a IOS o Android en funció del tipus de telèfon que tingueu i assegureu-vos d’instal·lar el suport de Vuforia.

Pas 2: inicieu un nou projecte Unity

Inicieu un nou projecte Unity
Inicieu un nou projecte Unity

Inicieu un nou projecte d'Unity i suprimiu la càmera principal. A la barra de menú superior, aneu a l'objecte de joc, vuforia i afegiu una "ARCamera".

Abans que res pugui funcionar, hem d’habilitar Vuforia, així que aneu a la configuració de la compilació de fitxers, canvieu la configuració de XR i activeu el suport de realitat augmentada de Vuforia.

Feu clic a l'objecte de joc "ARCamera" i, a l'inspector, feu clic a Configuració de Vuforia. A la part inferior, activeu el seguiment del dispositiu i canvieu el mode de seguiment a posicional.

Afegiu un escenari de pla de terra i un cercador d’avions al mateix menú de Vuforia d’on heu obtingut la càmera.

Al cercador d’avions, canvieu el menú desplegable per interactiu, desmarqueu l’etapa duplicada i arrossegueu l’objecte de l’escenari del pla terrestre a la ranura buida de l’etapa d’ancoratge del cercador d’avions.

Ara hem d’afegir el nostre joystick, de manera que al menú superior aneu a recursos, paquet d’importació i entrada multiplataforma.

A la carpeta d'actius estàndard acabada d'afegir, aneu a prefabricacions i arrossegueu la prefabricació de control de pal únic mòbil a l'escena.

Suprimiu el botó de salt. Feu clic amb el botó dret a la jerarquia i afegiu una interfície d'usuari, sistema d'esdeveniments.

Finalment, feu clic a l’objecte del joc arrel del joystick per afegir un component i afegiu un escalador de llenç. Canvieu el menú desplegable a escala amb la mida de la pantalla. A l’escriptura Joystick, canvieu l’interval de moviment a 25.

Pas 3: creeu una commutació

Creeu una commutació
Creeu una commutació

Ara, el comportament predeterminat del comportament de posicionament del contingut és cada vegada que fem clic a la pantalla, es reposiciona l'etapa del pla de terra. Això inclou quan fem clic a objectes de la IU, com ara botons o joysticks, de manera que no és el que volem. Com que actualment Vuforia no permet editar el comportament de posicionament del contingut per corregir aquest problema, podríem escriure el nostre des de zero o, en nom d’aquest tutorial, només crearem un commutador que activa o desactiva aquesta funcionalitat.

Feu clic amb el botó dret del ratolí sobre el joystick i creeu una IU, canvieu. Amplieu-ho tot i canvieu els colors o el text si voleu.

A la secció de canvi de valor activat del commutador, afegiu el cercador de plànols i feu que estableixi l'objecte de joc actiu en funció del valor del commutador. Ara, un cop col·locat l'objecte al món, probablement hauríem d'apagar el commutador, així que aneu al comportament de posicionament del contingut i arrossegueu el commutador fins al contingut situat igualat i configureu el commutador a desactivat.

Pas 4: MONSTRE

MONSTRE!
MONSTRE!

Aneu a la finestra, general, i afegiu una finestra de botiga de recursos.

Cerqueu "personatge monstre" i ordeneu per lliure, agafeu el primer resultat i importeu-ne un.

Arrossegueu el monstre prefabricat sota l’escenari del pla de terra fent-lo un nen. Estableix la posició i la rotació a zero. Estableix les seves escales xy i z a.1.

Aneu a l'animador i suprimiu tot, excepte l'entrada. Arrossegueu les animacions a peu i inactius des de la carpeta d'animacions del monstre.

A la secció de paràmetres, feu clic al botó més i afegiu dos activadors "caminar" i "inactiu".

Feu clic a cada animació i afegiu una transició a l'altra.

Feu clic a cada transició i afegiu una condició, poseu-la a peu per a la primera i inactiva per a la segona. Desmarqueu el temps de sortida i arrossegueu tots els barres lliscants a 0 de cadascun.

Ara volem que cada animació es faci en bucle, així que feu clic a cada animació i aneu al seu clip. Feu clic a Edita a cadascun i comproveu el temps del bucle.

Pas 5: controlar el nostre personatge

Controlar el nostre personatge
Controlar el nostre personatge

Feu clic amb el botó dret a la carpeta de recursos i creeu un script C # anomenat "CharacterController" i afegiu-lo:

utilitzant System. Collections;

utilitzant System. Collections. Generic; utilitzant UnityEngine; utilitzant UnityStandardAssets. CrossPlatformInput; classe pública CharacterController: MonoBehaviour {private const float speed =.1f; animador privat anim; // Utilitzeu això per a la inicialització void Start () {anim = GetComponent (); } // Actualització es diu una vegada per cada frame void Actualització () {// moure el caràcter des del flotador d’entrada del joystick x = CrossPlatformInputManager. GetAxis ("Horitzontal"); float y = CrossPlatformInputManager. GetAxis ("Vertical"); 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 ("caminar"); } else {anim. SetTrigger ("inactiu"); }} public void PlaceCharacter () {transform.localPosition = Vector3.zero; }}

Pas 6: Deixa'm explicar

Deixa'm explicar
Deixa'm explicar

Primer de tot, tenim un flotador constant definit a la part superior, de manera que si voleu que el vostre monstre es mogui més ràpid o més lentament, canvieu aquest valor.

Aquest script s’afegirà al nostre monstre per poder fer alguna cosa com "GetComponent ()" per obtenir una referència a aquest animador de monstres (d’aquesta manera podem reproduir les animacions des del codi).

A continuació, obtenim el moviment xy y del joystick des del gestor d'entrada de plataforma multiplataforma i els guardem cadascun en una variable.

A continuació, fem servir aquestes dues variables per girar i moure el monstre segons l’entrada del joystick.

Si el monstre es mou, reproduirem l’animació a peu i si no es mou, reproduirem l’animació inactiva.

L'última funció que tenim és que tornem a posar la posició local dels monstres a zero cada vegada que es reposiciona el pla terrestre. Per tant, amb la configuració de la nostra aplicació ara, Vuforia tornarà a situar l’etapa del pla de terra cada cop que fem clic a la pantalla. El nostre monstre pot moure’s per l’escenari, de manera que hem de tornar a posar la posició a zero, en relació amb l’escenari cada vegada que es torna a col·locar.

Pas 7: acabant els tocs

Tocs acabats!
Tocs acabats!

Finalment, només hem d’afegir el nostre CharacterController.cs al nostre monstre. Per tant, aneu a la transformació arrel del prefabricat del monstre a la jerarquia i feu-hi clic. Això tirarà cap amunt a l’inspector cap a la dreta. Feu clic a Afegeix component i cerqueu l'script del controlador de caràcters. Afegiu-ho.

També hem d’assegurar-nos que realment es crida la nostra funció PlaceCharacter, així que aneu a l’objecte de joc del cercador d’avions i feu-hi clic.

A l’inspector hi hauria d’haver una secció avançada a la qual podeu fer clic per ampliar. Allà hi ha un esdeveniment Unity anomenat "OnContentPlaced". Afegiu una funció fent clic al botó més. Arrossegueu el monstre cap a la ranura buida, seleccioneu l'script del controlador de personatges i, finalment, trieu la funció "PlaceCharacter".

Pas 8: fem-ho al telèfon

Fem-ho al telèfon
Fem-ho al telèfon

Si utilitzeu el fitxer de clic Android o IOS, creeu la configuració i aneu a la configuració del reproductor de la vostra plataforma respectiva. En ambdós casos, assegureu-vos de posar alguna cosa per a l'identificador del paquet (en el formulari "com. YourName. YourAppName"). Assegureu-vos també que teniu algun missatge al camp de descripció d’ús de la càmera.

Si a Android desmarqueu la compatibilitat d'Android TV i canvieu l'objectiu mínim de construcció a Nougat.

O bé premeu build and run o bé build i instal·leu el.apk amb ADB o Android Studio.

Si feu clic a la versió IOS de compilació i obriu la carpeta resultant a XCode. Registreu-vos per obtenir un compte de desenvolupador d'Apple gratuït (si el nostre encara no el té), trieu el vostre equip i feu clic al botó de reproducció per obtenir-lo al vostre telèfon.

Feu-me saber als comentaris si teniu cap pregunta.

Recomanat: