Πίνακας περιεχομένων:
2025 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2025-01-13 06:57
Αυτό το σεμινάριο θα σας δείξει πώς να φτιάξετε μια εφαρμογή επαυξημένης πραγματικότητας για αρχάριους. Θα χρησιμοποιήσουμε την ανίχνευση επιπέδου Unity3D και Vuforia για να δημιουργήσουμε μια εφαρμογή AR χωρίς δείκτες για Android ή IOS. Θα περάσουμε από την προσθήκη ενός τρισδιάστατου μοντέλου στο Unity και τη μετακίνησή του με ένα κινητό χειριστήριο. Αυτή η μέθοδος θα λειτουργήσει επίσης με οποιοδήποτε άλλο δωρεάν μοντέλο 3D που μπορείτε να βρείτε.
Βήμα 1: Θα λειτουργήσει αυτό στο τηλέφωνό σας;
Πρώτα απ 'όλα πρέπει να βεβαιωθούμε ότι το τηλέφωνό σας υποστηρίζει τον εντοπισμό επιπέδου εδάφους της Vuforia, οπότε βεβαιωθείτε ότι το τηλέφωνό σας βρίσκεται στη λίστα των υποστηριζόμενων συσκευών.
library.vuforia.com/articles/Solution/Vufo…
Το μόνο που θα χρειαστείτε όσον αφορά το λογισμικό είναι η δωρεάν έκδοση της Unity. Εάν δεν το έχετε ήδη, μεταβείτε στο Unity3d.com και κάντε κλικ στην επιλογή Λήψη Unity. Τώρα χρησιμοποιώ την έκδοση 2018.2.0, εάν αυτή η έκδοση δεν είναι πλέον διαθέσιμη, μεταβείτε στις παλαιότερες εκδόσεις του Unity και κάντε λήψη του 2018.2.0.
Κατά τη διαδικασία εγκατάστασης βεβαιωθείτε ότι έχετε εγκαταστήσει τα πακέτα για IOS ή Android ανάλογα με τον τύπο τηλεφώνου που διαθέτετε και φροντίστε να εγκαταστήσετε την υποστήριξη Vuforia.
Βήμα 2: Ξεκινήστε ένα νέο έργο Unity
Ξεκινήστε ένα νέο έργο Unity και διαγράψτε την κύρια κάμερα. Στην επάνω γραμμή μενού, μεταβείτε στο αντικείμενο παιχνιδιού, vuforia και προσθέστε μια "ARCamera".
Πριν από οτιδήποτε μπορεί να λειτουργήσει, πρέπει να ενεργοποιήσουμε το Vuforia, οπότε μεταβείτε στις ρυθμίσεις δημιουργίας αρχείων, αλλάξτε πλατφόρμα, ρυθμίσεις XR και ενεργοποιήστε την υποστήριξη επαυξημένης πραγματικότητας Vuforia.
Κάντε κλικ στο αντικείμενο παιχνιδιού "ARCamera" και στον επιθεωρητή κάντε κλικ στη διαμόρφωση Vuforia. Στο κάτω μέρος ενεργοποιήστε την παρακολούθηση συσκευών και αλλάξτε τη λειτουργία παρακολούθησης σε θέση.
Προσθέστε μια σκηνή αεροπλάνου και ένα πρόγραμμα ανίχνευσης αεροπλάνων από το ίδιο μενού Vuforia από το οποίο προμηθευτήκατε την κάμερα.
Στο πρόγραμμα ανίχνευσης επιπέδου αλλάξτε το αναπτυσσόμενο μενού σε διαδραστικό, καταργήστε την επιλογή του διπλού σταδίου και σύρετε το αντικείμενο του επιπέδου επιπέδου εδάφους στην κενή υποδοχή σκηνής άγκυρας στο εύρεση επιπέδου.
Τώρα πρέπει να προσθέσουμε το joystick μας, ώστε στο επάνω μενού να μεταβούμε στα στοιχεία ενεργητικού, να εισάγουμε πακέτο, να εισάγουμε πλατφόρμα.
Στο φάκελο τυπικών περιουσιακών στοιχείων που προστέθηκε πρόσφατα, μεταβείτε στις προκατασκευασμένες συσκευές και σύρετε την προκαταρκτική μονάδα ελέγχου μονού μοχλού για κινητά στη σκηνή.
Διαγράψτε το κουμπί άλματος. Κάντε δεξί κλικ στην ιεραρχία και προσθέστε μια διεπαφή χρήστη, σύστημα συμβάντων.
Τέλος, στο αντικείμενο ριζικού παιχνιδιού του joystick κάντε κλικ για να προσθέσετε ένα στοιχείο και προσθέστε έναν κλιμακωτή καμβά. Αλλάξτε το αναπτυσσόμενο μενού σε κλίμακα με το μέγεθος της οθόνης. Στο σενάριο Joystick αλλάξτε το εύρος κίνησης σε 25.
Βήμα 3: Δημιουργήστε εναλλαγή
Τώρα η προεπιλεγμένη συμπεριφορά της συμπεριφοράς τοποθέτησης περιεχομένου είναι κάθε φορά που κάνουμε κλικ στην οθόνη, το στάδιο του επιπέδου εδάφους επανατοποθετείται. Αυτό περιλαμβάνει όταν κάνουμε κλικ σε αντικείμενα διεπαφής χρήστη, όπως κουμπιά ή χειριστήρια, έτσι ώστε να μην είναι αυτό που θέλουμε. Δεδομένου ότι η Vuforia προς το παρόν δεν επιτρέπει την επεξεργασία της συμπεριφοράς τοποθέτησης περιεχομένου για τη διόρθωση αυτού του ζητήματος, θα μπορούσαμε είτε να γράψουμε τη δική μας από την αρχή είτε για χάρη αυτού του σεμιναρίου θα δημιουργήσουμε απλώς μια εναλλαγή που ενεργοποιεί ή απενεργοποιεί αυτήν τη λειτουργία.
Κάντε δεξί κλικ στο joystick και δημιουργήστε ένα περιβάλλον χρήστη, εναλλαγή. Αναπτύξτε τα πάντα και αλλάξτε τα χρώματα ή το κείμενο αν θέλετε.
Στην ενότητα αλλαγής τιμής ενεργοποίησης της εναλλαγής προσθέστε το πρόγραμμα εύρεσης επιπέδου και κάντε το να ορίσει το αντικείμενο παιχνιδιού ενεργό με βάση την τιμή της εναλλαγής. Τώρα που το αντικείμενο τοποθετείται στον κόσμο, θα πρέπει πιθανώς να απενεργοποιήσουμε την εναλλαγή, οπότε μεταβείτε στη συμπεριφορά τοποθέτησης περιεχομένου και σύρετε την εναλλαγή στο περιεχόμενο που έχει τοποθετηθεί ομοιόμορφα και ορίστε την εναλλαγή σε απενεργοποίηση.
Βήμα 4: ΤΕΡΑΣ
Μεταβείτε στο παράθυρο, γενικά και προσθέστε ένα παράθυρο αποθήκευσης στοιχείων.
Αναζητήστε "τέρας χαρακτήρων" και ταξινομήστε δωρεάν, πιάστε το πρώτο αποτέλεσμα και εισαγάγετε αυτό.
Σύρετε το πρόχειρο τέρας κάτω από τη σκηνή του εδάφους, κάνοντάς το παιδί. Ορίστε τη θέση και την περιστροφή του στο μηδέν. Ορίστε την κλίμακα x y και z σε.1.
Μεταβείτε στον εμψυχωτή και διαγράψτε τα πάντα εκτός από την είσοδο. Σύρετε τη διαδρομή και ρελαντί κινούμενα σχέδια από το φάκελο κινήσεων του τέρατος.
Στην ενότητα παραμέτρων κάντε κλικ στο κουμπί συν και προσθέστε δύο ενεργοποιητές "περπάτημα" και "αδράνεια".
Κάντε κλικ σε κάθε κινούμενη εικόνα και προσθέστε μια μετάβαση στην άλλη.
Κάντε κλικ σε κάθε μετάβαση και προσθέστε μια συνθήκη. Κατάργηση ελέγχου έχει χρόνο εξόδου και σύρετε όλα τα ρυθμιστικά στο 0 σε κάθε ένα.
Τώρα θέλουμε να κινείται κάθε κινούμενο σχέδιο, οπότε κάντε κλικ σε κάθε κινούμενο σχέδιο και μεταβείτε στο κλιπ του. Κάντε κλικ στην επιλογή επεξεργασία σε κάθε ένα και ελέγξτε το χρόνο βρόχου.
Βήμα 5: Έλεγχος του χαρακτήρα μας
Κάντε δεξί κλικ στο φάκελο στοιχείων και δημιουργήστε ένα σενάριο C# που ονομάζεται "CharacterController" και προσθέστε αυτό:
χρησιμοποιώντας System. Collections;
χρησιμοποιώντας System. Collections. Generic; χρησιμοποιώντας το UnityEngine. χρησιμοποιώντας UnityStandardAssets. CrossPlatformInput; δημόσια τάξη CharacterController: MonoBehaviour {private const float speed =.1f; ιδιωτικό animator animation? // Χρησιμοποιήστε αυτό για αρχικοποίηση κενό Έναρξη () {anim = GetComponent (); } // Η ενημέρωση καλείται μία φορά ανά πλαίσιο void Ενημέρωση () {// μετακίνηση χαρακτήρα από το joystick input float x = CrossPlatformInputManager. GetAxis ("Οριζόντια"); float y = CrossPlatformInputManager. GetAxis ("Κάθετα"); αν (! 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 * ταχύτητα; anim. SetTrigger ("περπάτημα"); } else {anim. SetTrigger ("αδρανές"); }} public void PlaceCharacter () {transform.localPosition = Vector3.zero; }}
Βήμα 6: Επιτρέψτε μου να εξηγήσω
Πρώτα απ 'όλα έχουμε ένα σταθερό πλωτήρα που ορίζεται στην κορυφή, οπότε αν θέλετε το τέρας σας να κινείται πιο γρήγορα ή πιο αργά, απλώς αλλάξτε αυτήν την τιμή.
Αυτό το σενάριο πρόκειται να προστεθεί στο τέρας μας, ώστε να κάνουμε κάτι σαν "GetComponent ()" για να λάβουμε μια αναφορά σε αυτό το τέρας Animator (με αυτόν τον τρόπο μπορούμε να παίξουμε τις κινούμενες εικόνες από κώδικα).
Στη συνέχεια παίρνουμε την κίνηση x και y του joystick από τον διαχειριστή εισόδου διασταυρούμενης πλατφόρμας και τις αποθηκεύουμε σε μεταβλητή.
Στη συνέχεια, χρησιμοποιούμε αυτές τις δύο μεταβλητές για να γυρίσουμε και να μετακινήσουμε το τέρας σύμφωνα με την είσοδο του χειριστηρίου.
Αν το τέρας κινείται θα παίξουμε το κινούμενο σχέδιο walk και αν δεν κινείται παίζουμε το animation του ρελαντί.
Η τελευταία συνάρτηση που έχουμε είναι να θέσουμε την τοπική θέση των τεράτων στο μηδέν κάθε φορά που το επίπεδο του εδάφους επανατοποθετείται. Έτσι, με τον τρόπο που έχει ρυθμιστεί τώρα η εφαρμογή μας, η Vuforia θα αλλάζει τη θέση της στάθμης του εδάφους κάθε φορά που κάνουμε κλικ στην οθόνη. Το τέρας μας μπορεί να κινείται γύρω από τη σκηνή, οπότε πρέπει να επαναφέρουμε τη θέση του στο μηδέν, σε σχέση με τη σκηνή κάθε φορά που επανατοποθετείται.
Βήμα 7: Τελειώνοντας τις πινελιές
Τέλος, πρέπει απλώς να προσθέσουμε το CharacterController.cs στο τέρας μας. Πηγαίνετε λοιπόν στον μετασχηματισμό ρίζας του prefab τέρας στην ιεραρχία και κάντε κλικ σε αυτό. Αυτό θα το τραβήξει στον επιθεωρητή στα δεξιά. Κάντε κλικ στην επιλογή προσθήκη στοιχείου και αναζητήστε το σενάριο του ελεγκτή χαρακτήρων. Προσθέστε το.
Πρέπει επίσης να βεβαιωθούμε ότι η συνάρτηση PlaceCharacter καλείται πραγματικά, οπότε μεταβείτε στο αντικείμενο παιχνιδιού του αεροπλάνου και κάντε κλικ σε αυτό.
Στον επιθεωρητή θα πρέπει να υπάρχει μια προηγμένη ενότητα στην οποία μπορείτε να κάνετε κλικ για να την αναπτύξετε. Υπάρχει μια εκδήλωση Unity εκεί που ονομάζεται "OnContentPlaced". Προσθέστε μια συνάρτηση σε αυτήν κάνοντας κλικ στο κουμπί συν. Σύρετε το τέρας στην κενή υποδοχή εκεί, επιλέξτε το σενάριο χειριστή χαρακτήρων και τέλος επιλέξτε τη λειτουργία "PlaceCharacter".
Βήμα 8: Ας το πάρουμε στο τηλέφωνό σας
Εάν χρησιμοποιείτε αρχείο Android ή IOS, κάντε κλικ στις ρυθμίσεις και μεταβείτε στις ρυθμίσεις του προγράμματος αναπαραγωγής για την αντίστοιχη πλατφόρμα σας. Και στις δύο περιπτώσεις, φροντίστε να βάλετε κάτι για το αναγνωριστικό της δέσμης (με τη μορφή "com. YourName. YourAppName"). Επίσης, βεβαιωθείτε ότι έχετε κάποιο μήνυμα στο πεδίο περιγραφής χρήσης της κάμερας.
Εάν διαθέτετε Android, καταργήστε την επιλογή συμβατότητας Android TV και αλλάξατε τον ελάχιστο στόχο δημιουργίας σε Nougat.
Είτε πατήστε build and run είτε πατήστε build και εγκαταστήστε το.apk με ADB ή Android Studio.
Εάν χρησιμοποιείτε το IOS, χτυπήστε build και, στη συνέχεια, ανοίξτε τον φάκελο που προκύπτει στο XCode. Εγγραφείτε για έναν δωρεάν λογαριασμό προγραμματιστή της Apple (εάν δεν έχουμε ήδη) επιλέξτε την ομάδα σας και πατήστε το κουμπί αναπαραγωγής για να το λάβετε στο τηλέφωνό σας!
Ενημερώστε με στα σχόλια αν έχετε απορίες!