Indholdsfortegnelse:
- Trin 1: Vil dette fungere på din telefon?
- Trin 2: Start et nyt enhedsprojekt
- Trin 3: Opret en Toggle
- Trin 4: MONSTER
- Trin 5: Styring af vores karakter
- Trin 6: Lad mig forklare
- Trin 7: Efterbehandling
- Trin 8: Lad os få det på din telefon
Video: Augmented Reality -app til begyndere: 8 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
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?
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 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
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
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
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
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
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
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:
Boost din hukommelse med et Augmented Reality Mind Palace: 8 trin
Boost din hukommelse med et Augmented Reality Mind Palace: Brug af tankepaladser, som i Sherlock Holmes, er blevet brugt af hukommelsesmestre til at huske en masse information, såsom rækkefølgen af kortene i et blandet dæk. Sindspaladset eller loci -metoden er en hukommelsesteknik, hvor visuelle mnemonik er
GlobalARgallery - Global Augmented Reality Gallery: 16 trin
#GlobalARgallery - Global Augmented Reality Gallery: #GlobalARgallery er en mulighed for skoler (og andre) for at forbinde asynkront over hele kloden og dele oplevelser, kunstværker, historier, tidslinjer, udstillinger, præsentationer og alt andet, du kan forestille dig. Alle disse optræder i A
Augmented Reality Phone Gear: 7 trin
Augmented Reality Phone Gear: Billigt, let, sejt
Augmented Reality (AR) til Dragonboard410c eller Dragonboard820c Brug af OpenCV og Python 3.5: 4 trin
Augmented Reality (AR) til Dragonboard410c eller Dragonboard820c Brug af OpenCV og Python 3.5: Denne vejledning beskriver, hvordan du installerer OpenCV, Python 3.5 og afhængigheder for Python 3.5 for at køre augmented reality -applikationen
CityCoaster - Byg din egen Coaster for augmented reality til din virksomhed (TfCD): 6 trin (med billeder)
CityCoaster - Byg din egen Augmented Reality Coaster for din virksomhed (TfCD): En by under din kop! CityCoaster er et projekt, der tænker på et produkt til Rotterdam i Haag Lufthavn, som kunne udtrykke byens identitet og underholde klienterne i loungeområdet med augmented reality. I et miljø som sådan