Indholdsfortegnelse:

Augmented Reality -app til begyndere: 8 trin
Augmented Reality -app til begyndere: 8 trin

Video: Augmented Reality -app til begyndere: 8 trin

Video: Augmented Reality -app til begyndere: 8 trin
Video: Augmented reality optimerer plukkeproces hos dansk leverandør til vindmøllebranchen HydraSpecma 2024, November
Anonim
Augmented Reality -app til begyndere
Augmented Reality -app til begyndere
Augmented Reality -app til begyndere
Augmented Reality -app til begyndere

Denne vejledning viser dig, hvordan du laver en augmented reality -app til begyndere. Vi vil bruge Unity3D og Vuforia's ground plane detection til at lave en markørfri AR-app til Android eller IOS. Vi vil gå igennem at tilføje en 3D -model til Unity og flytte den rundt med et mobil joystick. Denne metode fungerer også med enhver anden gratis 3D -model, du kan finde.

Trin 1: Vil dette fungere på din telefon?

Vil dette fungere på din telefon?
Vil dette fungere på din telefon?

Først og fremmest skal vi sørge for, at din telefon understøtter Vuforias grundplandetektering, så sørg for, at din telefon er på listen over understøttede enheder.

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

Det eneste, du skal bruge for så vidt angår software, er den gratis version af Unity. Hvis du ikke allerede har det, skal du gå til Unity3d.com og klikke på få Unity. Nu bruger jeg version 2018.2.0, hvis denne version ikke længere er tilgængelig, skal du gå til ældre versioner af Unity og downloade 2018.2.0.

Under installationen skal du sørge for at installere pakkerne til IOS eller Android afhængigt af hvilken type telefon du har, og sørg for at installere Vuforia -support.

Trin 2: Start et nyt enhedsprojekt

Start et nyt enhedsprojekt
Start et nyt enhedsprojekt

Start et nyt Unity -projekt, og slet hovedkameraet. I den øverste menulinje skal du gå til spilobjekt, vuforia og tilføje et "ARCamera".

Inden noget kan fungere, skal vi aktivere Vuforia, så gå til filopbygningsindstillinger, skift platform, XR -indstillinger og aktiver understøttelse af Vuforia Augmented reality.

Klik på "ARCamera" -spilobjektet, og klik på Vuforia -konfigurationen i inspektøren. I bunden kan du aktivere enhedssporing og ændre sporingstilstand til positionel.

Tilføj en jordplan -scene og en flyfinder fra den samme Vuforia -menu, som du fik kameraet fra.

På flyfinderen skal du ændre rullemenuen til interaktiv, fjerne markeringen af duplikatstadiet, og trække jordplanstadieobjektet ind i det tomme ankerstadium på flyfinderen.

Nu skal vi tilføje vores joystick, så i topmenuen skal du gå til aktiver, importere pakke, cross -platform input.

I den nyligt tilføjede mappe med standardaktiver skal du gå til præfabrikerede enheder, og trække den mobile single stick -kontrolfunktion til scenen.

Slet springknappen. Højreklik i hierarkiet, og tilføj et brugergrænseflade, hændelsessystem.

Endelig på joystick -rodspilobjektet klik for at tilføje en komponent, og tilføj en lærredscaler. Skift rullemenuen til skala med skærmstørrelse. På joystick -scriptet ændres bevægelsesområdet til 25.

Trin 3: Opret en Toggle

Opret en Toggle
Opret en Toggle

Nu er standardadfærden for indholdspositioneringsadfærden, hver gang vi klikker på skærmen, jordplanstadiet bliver flyttet. Dette inkluderer, når vi klikker på UI -objekter som knapper eller joysticks, så det er ikke det, vi ønsker. Da Vuforia i øjeblikket ikke tillader redigering af indholdspositioneringsadfærden for at rette op på dette problem, kunne vi enten skrive vores egen fra bunden, eller af hensyn til denne vejledning vil vi bare oprette en skifte, der tænder eller deaktiverer denne funktionalitet.

Højreklik på joysticket og opret et UI, skifte. Udvid alt, og skift farverne eller teksten, hvis du vil.

På afsnittet on value ændret i skifteren tilføj planfinderen og få den til at sætte spilobjektet aktivt baseret på værdien af skifteren. Nu når objektet er placeret i verden, skal vi sandsynligvis slå kontakten fra, så gå til indholdspositioneringsadfærden og træk i skifteren til det indhold, der er placeret, og sæt kontakten til fra.

Trin 4: MONSTER

UHYRE!
UHYRE!

Gå til vindue, generelt, og tilføj et aktivbutiksvindue.

Søg efter "karaktermonster" og sorter efter gratis, tag det første resultat og importer det.

Træk monster præfabrikeret under jorden plane fase gør det til et barn. Indstil position og rotation til nul. Indstil dens x y og z skala til.1.

Gå til animatoren og slet alt undtagen post. Træk gåturen ind og inaktiv animationer fra monsterets animationsmappe.

Klik på plusknappen i parameterafsnittet, og tilføj to udløsere "gå" og "inaktiv".

Klik på hver animation, og tilføj en overgang til den anden.

Klik på hver overgang og tilføj en betingelse, gå i gang for den første og inaktiv for den anden. Fjern markeringen ved udgangstid, og træk alle skyderne til 0 på hver.

Nu vil vi have, at hver animation skal løkke, så klik på hver animation og naviger til dens klip. Klik på rediger på hver enkelt, og tjek sløjfetid.

Trin 5: Styring af vores karakter

Styring af vores karakter
Styring af vores karakter

Højreklik i aktivmappen, og opret et C# script kaldet "CharacterController" og tilføj dette:

ved hjælp af System. Collections;

ved hjælp af System. Collections. Generic; ved hjælp af UnityEngine; ved hjælp af UnityStandardAssets. CrossPlatformInput; public class CharacterController: MonoBehaviour {private const float speed =.1f; private animator animationer; // Brug dette til initialisering void Start () {anim = GetComponent (); } // Opdatering kaldes én gang pr. Frame void Opdatering () {// flytte tegn fra joystick input float x = CrossPlatformInputManager. GetAxis ("Horisontal"); float y = CrossPlatformInputManager. GetAxis ("lodret"); 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åtur"); } ellers {anim. SetTrigger ("inaktiv"); }} public void PlaceCharacter () {transform.localPosition = Vector3.zero; }}

Trin 6: Lad mig forklare

Lad mig forklare
Lad mig forklare

Først og fremmest har vi en konstant float defineret øverst, så hvis du vil have dit monster til at bevæge sig hurtigere eller langsommere, skal du bare ændre denne værdi.

Dette script kommer til at blive føjet til vores monster, så vi kan gøre noget som "GetComponent ()" for at få en reference til denne monster Animator (på den måde kan vi afspille animationerne fra kode).

Vi får derefter x og y -bevægelsen af joysticket fra cross platform input manager og gemmer dem hver i en variabel.

Derefter bruger vi de to variabler til at dreje og flytte monsteret i henhold til joystickindgangen.

Hvis monsteret bevæger sig, spiller vi ganganimationen, og hvis det ikke bevæger sig, spiller vi inaktiv animation.

Den sidste funktion, vi har, er, så vi sætter monsterets lokale position tilbage til nul, hver gang jordplanet bliver flyttet. Så med den måde, vores app er konfigureret på nu, vil Vuforia omplacere grundplanstadiet hver gang vi klikker på skærmen. Vores monster kan bevæge sig rundt på scenen, så vi skal sætte sin position tilbage til nul, i forhold til scenen, hver gang den flyttes.

Trin 7: Efterbehandling

Efterbehandling!
Efterbehandling!

Endelig skal vi bare tilføje vores CharacterController.cs til vores monster. Så gå til rodtransformationen af monster prefab i hierarkiet og klik på det. Dette vil trække det op på inspektøren til højre. Klik på tilføj komponent, og søg efter tegnkontrollens script. Tilføj det.

Vi skal også sikre os, at vores PlaceCharacter -funktion faktisk bliver kaldt, så gå til flyfinderens spilobjekt og klik på det.

I inspektøren bør der være en avanceret sektion, som du kan klikke for at udvide. Der er en Unity -begivenhed der kaldet "OnContentPlaced." Tilføj en funktion til det ved at klikke på plus -knappen. Træk monsteret ind i den tomme slot der, vælg tegnkontrollens script, og vælg til sidst funktionen "PlaceCharacter".

Trin 8: Lad os få det på din telefon

Lad os få det på din telefon
Lad os få det på din telefon

Hvis du er på Android- eller IOS -klikfil, skal du oprette indstillinger og gå til afspillerindstillinger for din respektive platform. I begge tilfælde skal du sørge for at indsætte noget til bundtidentifikatoren (i formen "com. YourName. YourAppName"). Sørg også for, at du har en besked i feltet Beskrivelse af kameraets brug.

Hvis du er på Android, skal du fjerne markeringen af Android TV -kompatibilitet og ændre dit mindste build -mål til Nougat.

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

Hvis din på IOS ramte build, og derefter åbne den resulterende mappe i XCode. Tilmeld dig en gratis Apple -udviklerkonto (hvis vores ikke allerede har en), vælg dit team, og tryk på play -knappen for at få det på din telefon!

Lad mig vide i kommentarerne, hvis du har spørgsmål!

Anbefalede: