Inhaltsverzeichnis:

Augmented Reality-App für Anfänger - Gunook
Augmented Reality-App für Anfänger - Gunook

Video: Augmented Reality-App für Anfänger - Gunook

Video: Augmented Reality-App für Anfänger - Gunook
Video: Eigene Website ohne Vorkenntnisse | Selbstexperiment 2024, Juli
Anonim
Augmented Reality-App für Anfänger
Augmented Reality-App für Anfänger
Augmented Reality-App für Anfänger
Augmented Reality-App für Anfänger

Dieses Tutorial zeigt Ihnen, wie Sie eine Augmented-Reality-App für Anfänger erstellen. Wir werden Unity3D und die Groundplane-Erkennung von Vuforia verwenden, um eine markerlose AR-App für Android oder IOS zu erstellen. Wir werden Unity ein 3D-Modell hinzufügen und es mit einem mobilen Joystick bewegen. Diese Methode funktioniert auch mit jedem anderen kostenlosen 3D-Modell, das Sie finden können.

Schritt 1: Funktioniert dies auf Ihrem Telefon?

Funktioniert dies auf Ihrem Telefon?
Funktioniert dies auf Ihrem Telefon?

Zunächst müssen wir sicherstellen, dass Ihr Telefon die Groundplane-Erkennung von Vuforia unterstützt. Stellen Sie also sicher, dass Ihr Telefon in der Liste der unterstützten Geräte aufgeführt ist.

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

Das einzige, was Sie als Software benötigen, ist die kostenlose Version von Unity. Wenn Sie es noch nicht haben, gehen Sie zu Unity3d.com und klicken Sie auf Unity abrufen. Jetzt verwende ich Version 2018.2.0, wenn diese Version nicht mehr verfügbar ist, gehen Sie zu älteren Versionen von Unity und laden Sie 2018.2.0 herunter.

Stellen Sie während des Installationsvorgangs sicher, dass Sie die Pakete für IOS oder Android installieren, je nachdem, welchen Telefontyp Sie haben, und stellen Sie sicher, dass Sie die Vuforia-Unterstützung installieren.

Schritt 2: Starten Sie ein neues Unity-Projekt

Starten Sie ein neues Unity-Projekt
Starten Sie ein neues Unity-Projekt

Starten Sie ein neues Unity-Projekt und löschen Sie die Hauptkamera. Gehen Sie in der oberen Menüleiste zu Spielobjekt, Vuforia und fügen Sie eine "ARCamera" hinzu.

Bevor alles funktionieren kann, müssen wir Vuforia aktivieren. Gehen Sie also zu den Dateierstellungseinstellungen, wechseln Sie die Plattform, die XR-Einstellungen und aktivieren Sie die Unterstützung von Vuforia Augmented Reality.

Klicken Sie auf das Spielobjekt "ARCamera" und im Inspektor auf Vuforia-Konfiguration. Unten aktivieren Sie die Geräteverfolgung und ändern Sie den Verfolgungsmodus auf Positionsbezogen.

Fügen Sie eine Bodenebenenbühne und einen Flugzeugfinder aus demselben Vuforia-Menü hinzu, aus dem Sie die Kamera erhalten haben.

Ändern Sie im Ebenenfinder das Dropdown-Menü auf interaktiv, deaktivieren Sie das Häkchen bei Bühne duplizieren und ziehen Sie das Objekt der Grundebenenbühne in den leeren Ankerbühnen-Slot im Ebenenfinder.

Jetzt müssen wir unseren Joystick hinzufügen, also gehen Sie im oberen Menü zu Assets, Import Package, Cross Platform Input.

Gehen Sie im neu hinzugefügten Standard-Assets-Ordner zu Prefabs und ziehen Sie das mobile Single-Stick-Control-Prefab in die Szene.

Löschen Sie die Sprungschaltfläche. Klicken Sie mit der rechten Maustaste in die Hierarchie und fügen Sie eine Benutzeroberfläche und ein Ereignissystem hinzu.

Klicken Sie zuletzt auf das Joystick-Root-Spielobjekt, um eine Komponente hinzuzufügen, und fügen Sie einen Canvas-Skalierer hinzu. Ändern Sie das Dropdown-Menü, um es mit der Bildschirmgröße zu skalieren. Ändern Sie im Joystick-Skript den Bewegungsbereich auf 25.

Schritt 3: Erstellen Sie einen Umschalter

Erstellen Sie einen Umschalter
Erstellen Sie einen Umschalter

Das Standardverhalten des Inhaltspositionierungsverhaltens ist jetzt, wenn wir auf den Bildschirm klicken, wird die Grundebenenbühne neu positioniert. Dazu gehört auch, wenn wir auf UI-Objekte wie Schaltflächen oder Joysticks klicken, sodass dies nicht das ist, was wir wollen. Da Vuforia derzeit keine Bearbeitung des Inhaltspositionierungsverhaltens zulässt, um dieses Problem zu beheben, können wir entweder unsere eigenen von Grund auf neu schreiben oder für dieses Tutorial einfach einen Schalter erstellen, der diese Funktion ein- oder ausschaltet.

Klicken Sie mit der rechten Maustaste auf den Joystick und erstellen Sie eine Benutzeroberfläche, umschalten. Erweitern Sie alles und ändern Sie die Farben oder den Text, wenn Sie möchten.

Fügen Sie im Abschnitt "Ein Wert geändert" des Schalters den Ebenenfinder hinzu und aktivieren Sie das Spielobjekt basierend auf dem Wert des Schalters. Sobald das Objekt in der Welt platziert ist, sollten wir den Umschalter wahrscheinlich ausschalten. Gehen Sie also zum Verhalten der Inhaltspositionierung und ziehen Sie den Umschalter auf den gerade platzierten Inhalt und stellen Sie den Umschalter auf Aus.

Schritt 4: MONSTER

MONSTER!
MONSTER!

Gehen Sie zu Fenster, allgemein, und fügen Sie ein Asset-Store-Fenster hinzu.

Suche nach „Charaktermonster“und sortiere nach frei, nimm das erste Ergebnis und importiere dieses.

Ziehen Sie das Monster-Fertigteil unter die Groundplane-Bühne, um es zu einem Kind zu machen. Setzen Sie seine Position und Drehung auf Null. Stellen Sie die x-y- und z-Skala auf.1 ein.

Gehen Sie zum Animator und löschen Sie alles außer dem Eintrag. Ziehen Sie die Lauf- und Leerlaufanimationen aus dem Animationsordner des Monsters.

Klicken Sie im Parameterbereich auf die Plus-Schaltfläche und fügen Sie zwei Trigger „Walk“und „Idle“hinzu.

Klicken Sie auf jede Animation und fügen Sie der anderen einen Übergang hinzu.

Klicken Sie auf jeden Übergang und fügen Sie eine Bedingung hinzu, setzen Sie für den ersten Übergang in Gang und für den zweiten in Leerlauf. Deaktivieren Sie das Häkchen bei Beendigungszeit und ziehen Sie alle Schieberegler auf 0.

Jetzt möchten wir, dass jede Animation in einer Schleife läuft. Klicken Sie also auf jede Animation und navigieren Sie zu ihrem Clip. Klicken Sie bei jedem auf Bearbeiten und überprüfen Sie die Schleifenzeit.

Schritt 5: Kontrolle unseres Charakters

Kontrolle über unseren Charakter
Kontrolle über unseren Charakter

Klicken Sie mit der rechten Maustaste in den Assets-Ordner und erstellen Sie ein C#-Skript namens "CharacterController" und fügen Sie dieses hinzu:

Verwenden von System. Collections;

mit System. Collections. Generic; mit UnityEngine; mit UnityStandardAssets. CrossPlatformInput; öffentliche Klasse CharacterController: MonoBehaviour { private const float speed =.1f; private Animator-Animation; // Verwenden Sie dies für die Initialisierung void Start () { anim = GetComponent (); } // Update wird einmal pro Frame aufgerufen void Update () { // Zeichen vom Joystick-Eingang verschieben float x = CrossPlatformInputManager. GetAxis ("Horizontal"); 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); } if (!x. Equals (0) || !y. Equals (0)) { transform.position += transform.forward * Time.deltaTime * speed; anim. SetTrigger ("gehen"); } else { anim. SetTrigger ("idle"); } } public void PlaceCharacter () { transform.localPosition = Vector3.zero; } }

Schritt 6: Lassen Sie es mich erklären

Lassen Sie mich erklären
Lassen Sie mich erklären

Zuallererst haben wir oben einen konstanten Float definiert. Wenn Sie also möchten, dass sich Ihr Monster schneller oder langsamer bewegt, ändern Sie einfach diesen Wert.

Dieses Skript wird unserem Monster hinzugefügt, damit wir etwas wie "GetComponent()" tun können, um eine Referenz auf diesen Monster-Animator zu erhalten (auf diese Weise können wir die Animationen aus dem Code abspielen).

Wir holen uns dann die x- und y-Bewegung des Joysticks aus dem plattformübergreifenden Eingabemanager und speichern sie jeweils in einer Variablen.

Dann verwenden wir diese beiden Variablen, um das Monster entsprechend der Joystick-Eingabe zu drehen und zu bewegen.

Wenn sich das Monster bewegt, spielen wir die Laufanimation ab und wenn es sich nicht bewegt, spielen wir die Leerlaufanimation ab.

Die letzte Funktion, die wir haben, ist, dass wir die lokale Position des Monsters jedes Mal auf Null zurücksetzen, wenn die Bodenebene neu positioniert wird. So wie unsere App jetzt eingerichtet ist, positioniert Vuforia die Grundebene jedes Mal, wenn wir auf den Bildschirm klicken. Unser Monster kann sich auf der Bühne bewegen, also müssen wir seine Position bei jeder Neupositionierung relativ zur Bühne auf Null zurücksetzen.

Schritt 7: Feinschliff

Feinschliff!
Feinschliff!

Schließlich müssen wir nur noch unsere CharacterController.cs zu unserem Monster hinzufügen. Gehen Sie also zur Root-Transformation des Monster-Prefab in der Hierarchie und klicken Sie darauf. Dadurch wird es im Inspektor nach rechts gezogen. Klicken Sie auf Komponente hinzufügen und suchen Sie nach dem Zeichencontroller-Skript. Fügen Sie das hinzu.

Wir müssen auch sicherstellen, dass unsere PlaceCharacter-Funktion tatsächlich aufgerufen wird. Gehen Sie also zum Spielobjekt Flugzeugfinder und klicken Sie darauf.

Im Inspektor sollte es einen erweiterten Abschnitt geben, auf den Sie klicken können, um ihn zu erweitern. Dort gibt es ein Unity-Ereignis namens "OnContentPlaced". Fügen Sie eine Funktion hinzu, indem Sie auf die Plus-Schaltfläche klicken. Ziehe das Monster dort in den leeren Slot, wähle das Charakter-Controller-Skript und wähle schließlich die Funktion "PlaceCharacter".

Schritt 8: Holen wir es auf Ihr Telefon

Holen wir es auf Ihr Telefon
Holen wir es auf Ihr Telefon

Wenn Sie Android oder IOS verwenden, klicken Sie auf Datei, erstellen Sie die Einstellungen und gehen Sie zu den Player-Einstellungen für Ihre jeweilige Plattform. Stellen Sie in beiden Fällen sicher, dass Sie etwas für die Bundle-Kennung eingeben (in der Form "com. IhrName. IhrAppName"). Stellen Sie außerdem sicher, dass im Feld für die Beschreibung der Kameraverwendung eine Nachricht angezeigt wird.

Wenn Sie Android verwenden, deaktivieren Sie die Android TV-Kompatibilität und ändern Sie Ihr minimales Build-Ziel in Nougat.

Klicken Sie entweder auf Build und Ausführen oder klicken Sie auf Build und installieren Sie die.apk mit ADB oder Android Studio.

Wenn Sie auf IOS klicken, klicken Sie auf Build und öffnen Sie dann den resultierenden Ordner in XCode. Melden Sie sich für ein kostenloses Apple-Entwicklerkonto an (falls wir noch keins haben), wählen Sie Ihr Team aus und klicken Sie auf die Play-Taste, um es auf Ihr Handy zu laden!

Lass es mich in den Kommentaren wissen, wenn du Fragen hast!

Empfohlen: