Innholdsfortegnelse:

Augmented Reality -app for nybegynnere: 8 trinn
Augmented Reality -app for nybegynnere: 8 trinn

Video: Augmented Reality -app for nybegynnere: 8 trinn

Video: Augmented Reality -app for nybegynnere: 8 trinn
Video: Hiiii I’m Barbie 2024, Juli
Anonim
Augmented Reality -app for nybegynnere
Augmented Reality -app for nybegynnere
Augmented Reality -app for nybegynnere
Augmented Reality -app for nybegynnere

Denne opplæringen viser deg hvordan du lager en augmented reality -app for nybegynnere. Vi vil bruke Unity3D og Vuforias grunnplandeteksjon til å lage en AR-app uten markør for Android eller IOS. Vi vil gå gjennom å legge en 3D -modell til Unity og flytte den rundt med en mobil joystick. Denne metoden fungerer også med alle andre gratis 3D -modeller du kan finne.

Trinn 1: Vil dette fungere på telefonen din?

Vil dette fungere på telefonen din?
Vil dette fungere på telefonen din?

Først av alt må vi sørge for at telefonen din støtter Vuforias grunnplandeteksjon, så sørg for at telefonen er i listen over støttede enheter.

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

Det eneste du trenger for programvare er gratisversjonen av Unity. Hvis du ikke allerede har det, gå til Unity3d.com og klikk på få Unity. Nå bruker jeg versjon 2018.2.0, hvis denne versjonen ikke lenger er tilgjengelig, gå til eldre versjoner av Unity og last ned 2018.2.0.

Under installasjonsprosessen må du installere pakkene for IOS eller Android, avhengig av hvilken type telefon du har, og installere Vuforia -støtte.

Trinn 2: Start et nytt enhetsprosjekt

Start et nytt enhetsprosjekt
Start et nytt enhetsprosjekt

Start et nytt Unity -prosjekt og slett hovedkameraet. På menylinjen øverst går du til spillobjektet, vuforia og legger til et "ARCamera".

Før noe kan fungere må vi aktivere Vuforia, så gå til filbyggingsinnstillinger, bytt plattform, XR -innstillinger og aktiver Vuforia Augmented reality -støtte.

Klikk på "ARCamera" -spillobjektet, og klikk på Vuforia -konfigurasjonen i inspektøren. Nederst aktiver enhetssporing og endre sporingsmodus til posisjonell.

Legg til et bakkeplan og en flysøker fra den samme Vuforia -menyen som du fikk kameraet fra.

Endre rullegardinmenyen på flysøkeren til interaktiv, fjern avmerkingen for duplikatstadiet, og dra bakken i planplanet til det tomme ankerstadiesporet på flysøkeren.

Nå må vi legge til joysticken vår, så på toppmenyen går du til eiendeler, importpakke, plattforminngang.

Gå til prefabrikkene i den nylig lagt til standardmappen, og dra den mobile prefabrikken for enkeltpinne -kontroll inn i scenen.

Slett hoppknappen. Høyreklikk i hierarkiet og legg til et brukergrensesnitt, hendelsessystem.

Til slutt på joystick -rotspillobjektet, klikk for å legge til en komponent og legge til en lerretskaler. Endre nedtrekksmenyen til skala med skjermstørrelse. Endre bevegelsesområdet til 25 på styrespaken.

Trinn 3: Lag en Toggle

Lag en Toggle
Lag en Toggle

Nå er standardatferd for innholdsposisjoneringsatferd hver gang vi klikker på skjermen, blir bakkeplanetappen omplassert. Dette inkluderer når vi klikker på brukergrensesnittobjekter som knapper eller joysticks, så det er ikke det vi ønsker. Siden Vuforia for øyeblikket ikke tillater redigering av innholdsposisjoneringsatferden for å rette opp dette problemet, kan vi enten skrive vår egen fra bunnen av, eller av hensyn til denne opplæringen skal vi bare lage en veksle som slår denne funksjonaliteten på eller av.

Høyreklikk på styrespaken og opprett et brukergrensesnitt, veksle. Utvid alt og endre fargene eller teksten hvis du vil.

På delen på verdi endret i vekselen legger du til flysøkeren og lar den sette spillobjektet aktivt basert på verdien til vekselen. Nå når objektet er plassert i verden, bør vi sannsynligvis slå av / på -knappen, så gå til innholdet for posisjonering av innhold og dra vekselen til innholdet på plassert til og med og slå av / på.

Trinn 4: MONSTER

MONSTER!
MONSTER!

Gå til vinduet, generelt, og legg til et aktivitetsbutikkvindu.

Søk etter "karaktermonster" og sorter etter gratis, ta det første resultatet og importer det.

Dra monster -prefabrikken under bakkeplanet og gjør det til et barn. Sett posisjonen og rotasjonen til null. Sett x y- og z -skalaen til.1.

Gå til animatoren og slett alt annet enn oppføring. Dra inn turen og ledige animasjoner fra animasjonsmappen til monsteret.

I parameterparameteret klikker du på pluss -knappen og legger til to utløsere "gå" og "inaktiv".

Klikk på hver animasjon og legg til en overgang til den andre.

Klikk på hver overgang og legg til en betingelse, gå i gang for den første og inaktiv for den andre. Fjern merket for avslutningstid og dra alle glidebryterne til 0 på hver.

Nå vil vi at hver animasjon skal sløyfe, så klikk på hver animasjon og naviger til klippet. Klikk på rediger på hver enkelt og sjekk sløyfetid.

Trinn 5: Kontrollere vår karakter

Kontrollerer vår karakter
Kontrollerer vår karakter

Høyreklikk i ressursmappen og lag et C# -skript kalt "CharacterController" og legg til dette:

bruk av System. Collections;

bruker System. Collections. Generic; bruker UnityEngine; bruker UnityStandardAssets. CrossPlatformInput; public class CharacterController: MonoBehaviour {private const float speed =.1f; privat animator animasjon; // Bruk dette for å initialisere void Start () {anim = GetComponent (); } // Oppdatering kalles en gang per rammehuloppdatering () {// flytte tegn fra joystick -inngangsfloat x = CrossPlatformInputManager. GetAxis ("Horisontal"); float y = CrossPlatformInputManager. GetAxis ("Vertikal"); if (! x. Equals (0) &&! y. Equals (0)) {transform.eulerAngles = new Vector3 (transform.eulerAngles.x, Mathf. Atan2 (x, y) * Mathf. Rad2Deg, transform.eulerAngles.z); } hvis (! x. Equals (0) ||! y. Equals (0)) {transform.position += transform.forward * Time.deltaTime * speed; anim. SetTrigger ("gå"); } annet {anim. SetTrigger ("inaktiv"); }} public void PlaceCharacter () {transform.localPosition = Vector3.zero; }}

Trinn 6: La meg forklare

La meg forklare
La meg forklare

Først av alt har vi en konstant flyter definert på toppen, så hvis du vil at monsteret ditt skal bevege seg raskere eller saktere, er det bare å endre verdien.

Dette skriptet kommer til å bli lagt til monsteret vårt, slik at vi kan gjøre noe som "GetComponent ()" for å få en referanse til denne monsters Animator (på den måten kan vi spille animasjonene fra kode).

Vi får deretter x og y -bevegelsen til styrespaken fra kryssplattformens inngangshåndterer og lagrer dem hver i en variabel.

Deretter bruker vi de to variablene til å snu og flytte monsteret i henhold til styrespaken.

Hvis monsteret beveger seg, spiller vi gå -animasjonen, og hvis det ikke beveger oss, spiller vi inaktiv animasjon.

Den siste funksjonen vi har er slik at vi setter monstrenes lokale posisjon tilbake til null hver gang bakken blir flyttet. Så med måten vår app er konfigurert på nå, vil Vuforia omplassere bakkeplanet hver gang vi klikker på skjermen. Monsteret vårt kan bevege seg rundt scenen, så vi må sette posisjonen tilbake til null i forhold til scenen hver gang den flyttes.

Trinn 7: Etterbehandling

Finpuss!
Finpuss!

Til slutt trenger vi bare å legge til CharacterController.cs i monsteret vårt. Så gå til rotransformasjonen til monster -prefabrikken i hierarkiet og klikk på den. Dette vil trekke det opp på inspektøren til høyre. Klikk på legg til komponent og søk etter tegnkontrollens skript. Legg til det.

Vi må også sørge for at PlaceCharacter -funksjonen vår faktisk blir kalt, så gå til flyfinner -spillobjektet og klikk på den.

I inspektøren bør det være en avansert seksjon som du kan klikke for å utvide. Det er en Unity -hendelse der som heter "OnContentPlaced." Legg til en funksjon ved å klikke på pluss -knappen. Dra monsteret inn i det tomme sporet der, velg tegnkontrollerskriptet, og velg til slutt funksjonen "PlaceCharacter".

Trinn 8: La oss få det på telefonen

La oss få det på telefonen
La oss få det på telefonen

Hvis du er på Android- eller IOS -klikkfil, bygger du innstillinger og går til spillerinnstillinger for din respektive plattform. I begge tilfeller må du legge inn noe for pakkeidentifikatoren (i skjemaet "com. YourName. YourAppName"). Sørg også for at du har en melding i beskrivelsesfeltet for bruk av kamera.

Hvis du er på Android, fjerner du avmerkingen for Android TV -kompatibilitet og endrer minimumsbyggemålet ditt til Nougat.

Enten treff build and run, eller klikk build og installer.apk med ADB eller Android Studio.

Hvis din på IOS traff build og deretter åpne den resulterende mappen i XCode. Registrer deg for en gratis Apple -utviklerkonto (hvis vi ikke allerede har en), velg teamet ditt og trykk på play -knappen for å få det på telefonen!

Gi meg beskjed i kommentarene hvis du har spørsmål!

Anbefalt: