Innehållsförteckning:

Augmented Reality -app för nybörjare: 8 steg
Augmented Reality -app för nybörjare: 8 steg

Video: Augmented Reality -app för nybörjare: 8 steg

Video: Augmented Reality -app för nybörjare: 8 steg
Video: Aktiekvällen Stockholm – Paneldebatt om Augmented Reality 2024, November
Anonim
Augmented Reality -app för nybörjare
Augmented Reality -app för nybörjare
Augmented Reality -app för nybörjare
Augmented Reality -app för nybörjare

Denna handledning visar dig hur du gör en augmented reality -app för nybörjare. Vi kommer att använda Unity3D och Vuforias markplandetektering för att göra en markörlös AR-app för Android eller IOS. Vi kommer att gå igenom att lägga till en 3D -modell till Unity och flytta den med en mobil joystick. Denna metod fungerar också med alla andra gratis 3D -modeller som du kan hitta.

Steg 1: Kommer detta att fungera på din telefon?

Kommer detta att fungera på din telefon?
Kommer detta att fungera på din telefon?

Först och främst måste vi se till att din telefon stöder Vuforias markplandetektering, så se till att din telefon finns i listan över enheter som stöds.

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

Det enda du behöver när det gäller programvara är den kostnadsfria versionen av Unity. Om du inte redan har det gå till Unity3d.com och klicka på få Unity. Nu använder jag version 2018.2.0, om den här versionen inte längre är tillgänglig gå till äldre versioner av Unity och ladda ner 2018.2.0.

Under installationsprocessen, se till att installera paketen för IOS eller Android beroende på vilken typ av telefon du har och se till att installera Vuforia -support.

Steg 2: Starta ett nytt enhetsprojekt

Starta ett nytt enhetsprojekt
Starta ett nytt enhetsprojekt

Starta ett nytt Unity -projekt och ta bort huvudkameran. Överst i menyraden går du till spelobjektet, vuforia och lägger till en "ARCamera".

Innan någonting kan fungera måste vi aktivera Vuforia så gå till filbyggnadsinställningar, byt plattform, XR -inställningar och aktivera stöd för Vuforia Augmented reality.

Klicka på spelobjektet "ARCamera" och klicka på Vuforia -konfigurationen i inspektören. Längst ner aktivera enhetsspårning och ändra spårningsläge till positionellt.

Lägg till ett markplan och en planfinder från samma Vuforia -meny som du fick kameran från.

På flygsökaren ändrar du rullgardinsmenyn till interaktiv, avmarkera duplikatstadiet och drar markplanets scenobjekt in i den tomma ankarstegsfacket på flygsökaren.

Nu måste vi lägga till vår joystick, så på toppmenyn går du till tillgångar, importpaket, plattformsinmatning.

I den nyligen tillagda mappen standardtillgångar går du till prefabriker och drar den mobila prefabriken för enstaka kontroll till scenen.

Ta bort hoppknappen. Högerklicka i hierarkin och lägg till ett UI, händelsessystem.

Slutligen på joystick -rotspelobjektet klickar du för att lägga till en komponent och lägger till en canvas -skalare. Ändra dess rullgardinsmeny till skala med skärmstorlek. Ändra rörelseområdet till 25 på joystick -skriptet.

Steg 3: Skapa en växel

Skapa en växel
Skapa en växel

Nu är standardbeteendet för innehållspositioneringsbeteendet varje gång vi klickar på skärmen markplanen blir omplacerad. Detta inkluderar när vi klickar på UI -objekt som knappar eller joysticks så det är inte det vi vill ha. Eftersom Vuforia för närvarande inte tillåter redigering av innehållspositioneringsbeteendet för att rätta till det här problemet kan vi antingen skriva vårt eget från grunden, eller för den här handledningen kommer vi bara att skapa en växel som slår på eller av denna funktionalitet.

Högerklicka på joysticken och skapa ett användargränssnitt, växla. Utöka allt och ändra färgerna eller texten om du vill.

På den on -value -ändrade sektionen i växeln lägger du till planfindern och gör att den ställer in spelobjektet aktivt baserat på värdet på växeln. Nu när objektet har placerats i världen bör vi förmodligen stänga av växeln så gå till innehållspositioneringsbeteendet och dra in växeln till det på innehåll som placeras jämnt och ställ in växeln till av.

Steg 4: MONSTER

MONSTER!
MONSTER!

Gå till fönstret, allmänt, och lägg till ett butiksfönster för tillgångar.

Sök efter "karaktärsmonster" och sortera efter gratis, ta det första resultatet och importera det.

Dra monsterfabriken under markplanet och gör det till ett barn. Ställ in dess position och rotation till noll. Ställ in dess x y och z skala till.1.

Gå till animatören och ta bort allt utom post. Dra in promenaden och lediga animationer från animationsmappen i monsteret.

Klicka på plusknappen i parametrarna och lägg till två triggers “walk” och “inaktiv”.

Klicka på varje animation och lägg till en övergång till den andra.

Klicka på varje övergång och lägg till ett villkor, sätt in walk för den första och inaktiv för den andra. Avmarkera har utgångstid och dra alla reglagen till 0 på varje.

Nu vill vi att varje animering ska loopas så klicka på varje animation och navigera till dess klipp. Klicka på redigera på var och en och kontrollera slingtiden.

Steg 5: Kontrollera vår karaktär

Styr vår karaktär
Styr vår karaktär

Högerklicka i tillgångsmappen och skapa ett C# -skript som heter "CharacterController" och lägg till detta:

använder System. Collections;

använder System. Collections. Generic; använder UnityEngine; med UnityStandardAssets. CrossPlatformInput; public class CharacterController: MonoBehaviour {private const float speed =.1f; privat Animator anim; // Använd detta för att initiera void Start () {anim = GetComponent (); } // Uppdatering anropas en gång per ram tomrum Uppdatering () {// flytta tecken från joystick input float x = CrossPlatformInputManager. GetAxis ("Horisontell"); 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); } om (! x. Equals (0) ||! y. Equals (0)) {transform.position += transform.forward * Time.deltaTime * speed; anim. SetTrigger ("promenad"); } annat {anim. SetTrigger ("inaktiv"); }} public void PlaceCharacter () {transform.localPosition = Vector3.zero; }}

Steg 6: Låt mig förklara

Låt mig förklara
Låt mig förklara

Först och främst har vi en konstant flottör definierad högst upp, så om du vill att ditt monster ska röra sig snabbare eller långsammare är det bara att ändra det värdet.

Detta manus kommer att läggas till i vårt monster så att vi kan göra något som "GetComponent ()" för att få en referens till denna monster Animator (på så sätt kan vi spela animeringarna från kod).

Vi får sedan x och y -rörelsen för joysticken från plattformsinmatningshanteraren och sparar dem var och en i en variabel.

Sedan använder vi dessa två variabler för att vända och flytta monstret enligt joystick -ingången.

Om monstret rör sig kommer vi att spela promenadanimationen och om det inte rör sig spelar vi inaktiv animation.

Den sista funktionen vi har är så att vi ställer tillbaka monsterns lokala position till noll varje gång markplanet flyttas om. Så med hur vår app är konfigurerad nu, kommer Vuforia att flytta om markplanet varje gång vi klickar på skärmen. Vårt monster kan röra sig runt scenen så vi måste ställa tillbaka sin position till noll, relativt scenen varje gång den flyttas om.

Steg 7: Finisher

Finputsning!
Finputsning!

Slutligen behöver vi bara lägga till våra CharacterController.cs till vårt monster. Så gå till rotomvandlingen av monsterprefabriken i hierarkin och klicka på den. Detta kommer att dra upp det på inspektören till höger. Klicka på lägg till komponent och sök efter teckenkontrollskriptet. Lägg till det.

Vi måste också se till att vår PlaceCharacter -funktion faktiskt blir uppringd, så gå till planfinder -spelobjektet och klicka på det.

I inspektören bör det finnas ett avancerat avsnitt som du kan klicka på för att expandera. Det finns en Unity -händelse där som heter "OnContentPlaced." Lägg till en funktion till det genom att klicka på plusknappen. Dra monstret in i det tomma facket där, välj teckenkontrollskriptet och välj slutligen funktionen "PlaceCharacter".

Steg 8: Låt oss få det på din telefon

Låt oss få det på din telefon
Låt oss få det på din telefon

Om du har en Android- eller IOS -klickfil, bygga inställningar och gå till spelarinställningarna för din respektive plattform. Se till att i båda fallen lägga in något för paketidentifieraren (i formuläret "com. YourName. YourAppName"). Se också till att du har ett meddelande i beskrivningsfältet för användning av kameran.

Om du är på Android avmarkerar du Android TV -kompatibilitet och ändrar ditt minsta byggmål till Nougat.

Antingen hit build and run, eller hit build och installera.apk med ADB eller Android Studio.

Om du på IOS träffar build och sedan öppnar den resulterande mappen i XCode. Registrera dig för ett kostnadsfritt Apple -utvecklarkonto (om vi inte redan har ett) välj ditt lag och tryck på play -knappen för att få det till din telefon!

Låt mig veta i kommentarerna om ni har några frågor!

Rekommenderad: