Εισαγωγή τρισδιάστατων μοντέλων για το ARKit

Το ARKit είναι η καυτή νέα τεχνολογία στο iOS 11 που σας επιτρέπει να προβάλλετε και να αλληλεπιδράτε με εικονικά αντικείμενα στον πραγματικό χώρο.

Δεν είναι δύσκολο να ξεκινήσετε ένα έργο ARKit, αλλά η τρισδιάστατη τέχνη σας μπορεί να παρουσιάσει μερικές προκλήσεις. Ευτυχώς, μόλις εισαχθεί η τέχνη σας, μπορείτε να κάνετε πολλές προσαρμογές στο SceneKit Editor του Xcode - το SceneKit είναι το 3D γραφικό πλαίσιο που χρησιμοποιεί η ARKit.

Θα εξετάσουμε την προετοιμασία της τέχνης σας για το ARKit, την εισαγωγή στο SceneKit Editor και την τελική προσαρμογή. Για να προχωρήσετε, θα χρειαστείτε μια συσκευή iOS με δυνατότητα ARKit. Δεν θα έχετε τίποτα χρήσιμο από την εκτέλεση μιας εφαρμογής ARKit στον προσομοιωτή Xcode.

Δημιουργήστε ένα έργο ARKit

Στο Xcode 9, δημιουργήστε ένα νέο έργο. Επιλέξτε iOS> Επεκτεταμένη Πραγματικότητα.

Το Xcode θα ρυθμίσει τα πάντα για εσάς, συμπεριλαμβανομένου ενός αρχείου art.snnassets που περιέχει ένα παράδειγμα του αρχείου SceneKit: ship.scn.

Οτιδήποτε προσθέτετε στο ship.scn θα εμφανιστεί στην ενισχυμένη πραγματικότητα όταν εκτελείτε την εφαρμογή στη συσκευή σας.

Κάντε κλικ στο ship.scn για να δείτε το πρόγραμμα επεξεργασίας SceneKit.

Κατανόηση του προγράμματος επεξεργασίας SceneKit

Εάν έχετε χρησιμοποιήσει εφαρμογές 3D modeling, το SceneKit Editor θα σας φανεί κάπως οικείο. Το πρώτο πράγμα που πρέπει να κάνετε είναι να αποκρύψετε το γράφημα σκηνής. Αυτό περιλαμβάνει όλα τα αντικείμενα ή τους "κόμβους" που περιέχονται στη σκηνή. Το γράφημα σάς επιτρέπει να κάνετε τα εξής:

  • Κάνοντας κλικ σε έναν κόμβο στο γράφημα σκηνής επιλέγεται αυτός ο κόμβος.
  • Κάνοντας διπλό κλικ σε έναν κόμβο μεγεθύνει την κάμερα σε αυτόν τον κόμβο.
  • Κάνοντας κλικ σε έναν επιλεγμένο κόμβο θα σας επιτρέψει να μετονομάσετε αυτόν τον κόμβο.

Στα δεξιά, θα δείτε διάφορα πάνελ επιθεωρητών. Ενδιαφερόμαστε κυρίως για τις καρτέλες Κόμβος, Υλικό και Σκηνή.

  • Ο κόμβος είναι ο τόπος όπου ονομάζετε και μετασχηματίζετε (θέση, κλίμακα και περιστροφή) κόμβων. Μπορείτε επίσης να ορίσετε προβολή και σκίαση.
  • Το υλικό είναι εκεί που προσαρμόζετε και οργανώνετε τις υφές ενός κόμβου.
  • Η σκηνή σάς επιτρέπει να ορίσετε ορισμένες παγκόσμιες λειτουργίες, όπως χαρτογράφηση ομίχλης και περιβάλλοντος.

Στην κάτω δεξιά πλευρά βρίσκεται το παράθυρο "Βιβλιοθήκη". Η τρίτη καρτέλα εδώ είναι η βιβλιοθήκη αντικειμένων, η οποία προσφέρει μια ποικιλία από χρήσιμα αντικείμενα όπως τα φωτιστικά και τα πρωτόγονα σχήματος.

Πλοήγηση στο παράθυρο προβολής

Μπορείτε να περιηγηθείτε στο παράθυρο προβολής 3D ως εξής:

  • Κάντε κλικ και σύρετε σε ένα άδειο τμήμα του παραθύρου προβολής για να περιστρέψετε την προβολή σας.
  • Μεταβείτε στο κύριο παράθυρο προβολής.
  • Κρατήστε το πλήκτρο επιλογής και μετακινηθείτε για μεγέθυνση και σμίκρυνση.

Διαγράψτε το προεπιλεγμένο μοντέλο και προσθέστε το δικό σας

Στο αρχείο ship.scn του art.scnassets, ανοίξτε το γράφημα σκηνής και επιλέξτε τον κόμβο γονικού πλοίου. Χτυπήστε το πλήκτρο διαγραφής για να το αφαιρέσετε.

Κατεβάστε αυτό το αρχείο και εντοπίστε δύο αρχεία: rocket.dae και checkerboard-πλακάκια. Σύρετε τους στο φάκελο art.snnassets μέσα στο Xcode.

Επιλέξτε το rocket.dae στο Xcode και εντοπίστε τον γονικό κόμβο πυραύλων. Επιλέξτε το και αντιγράψτε το (εντολή-C). Μεταβείτε στο ship.scn και επικολλήστε τον κόμβο εκεί μέσα (εντολή-V).

Τώρα μπορείτε να διαγράψετε το rocket.dae από το Xcode.

Το Xcode μπορεί να χειριστεί μερικούς διαφορετικούς τύπους αρχείων 3D, αλλά το COLLADA (ή το .dae) είναι αυτό που θα το δείτε περισσότερο. Μπορεί να περιέχει δεδομένα μοντέλου, φώτα, υλικά, ακόμα και κινούμενα σχέδια.
Εάν δοθεί η επιλογή, επιλέξτε COLLADA έκδοση 1.4 αντί για 1.5.

Κατανόηση του επιπέδου δαπέδου σκηνής

Το άπειρο πλέγμα που τρέχει μέσα από το viewport σίγουρα μοιάζει με αεροπλάνο του δαπέδου, έτσι δεν είναι; Στην πραγματικότητα, αυτό θα συμβεί κάτι περισσότερο σαν "επίπεδο ματιών". Αυτό συμβαίνει επειδή η ARKit θα προεπιλογή της θέσης της κάμερας - και της εικονικής θέσης της συσκευής σας - στις συντεταγμένες 0, 0, 0. Έτσι, κάθε κόμβος που τοποθετείτε πάνω από αυτό η προέλευση φαίνεται να αιωρείται πάνω σας σε επαυξημένη πραγματικότητα.

Μια πραγματική εφαρμογή AR θα επανυπολογίζει περιοδικά το επίπεδο γείωσης και θα αγκυρώνει αντικείμενα σε αυτό αντί της προέλευσης της κάμερας. Προς το παρόν, αρκεί να μπορούμε να δούμε την εργασία μας κάπου στον πραγματικό χώρο. Απλά τοποθετήστε το μοντέλο σας ελαφρώς κάτω και μπροστά από το κέντρο της σκηνής - σε περίπου 0, -0,5, -1.

Μεγιστοποίηση του μοντέλου σας

Η μεγεθυμένη πραγματικότητα είναι μεγάλη - όπως θα διαπιστώσετε όταν βγάζετε το πρώτο σας μοντέλο στο ARKit και ανακαλύψτε ότι είναι πολύ μεγάλο για να χωρέσει στο δωμάτιο.

Για να φτάσετε τα μοντέλα σας σε λογικό μέγεθος, θέλετε να στοχεύσετε ένα κουτί οριοθέτησης SceneKit περίπου 1 προς 1 με 1 μονάδα. σκεφτείτε αυτά ως κάτι σαν μετρητές. Στην εφαρμογή 3D σας μπορείτε να εργαστείτε σε οποιοδήποτε μέγεθος θέλετε, αλλά απλά να είστε βέβαιος να εξάγετε σε μια κλίμακα αρκετά μικρή για να εργαστείτε. Στο Cinema 4D, μπορείτε να κάνετε κλίμακα ολόκληρου του έργου ταυτόχρονα με την επιλογή Edit> Project Scale.

Περιμένετε,

Θα πρέπει να πειραματιστείτε για να βρείτε τη μέθοδο που σας προσεγγίζει πλησιέστερα προς αυτόν τον στόχο 1, 1, 1.

Φωτισμός του μοντέλου σας

Μπορείτε να εισαγάγετε φώτα μαζί με το μοντέλο σας, αλλά είναι εύκολο να τα προσθέσετε και στο Xcode. Στη βιβλιοθήκη αντικειμένων, εντοπίστε το φως Omni και σύρετέ το στο παράθυρο προβολής. Τοποθετήστε το όποτε θέλετε χρησιμοποιώντας τα βελάκια του άξονα ή απλά σύροντάς το.

Η σύρσιμο σε ένα από τα τρία άξονα του άξονα περιορίζει την κίνηση κατά μήκος αυτού του άξονα, σύροντας τον τετράγωνο κύκλο ανάμεσα σε δύο άξονες περιορίζει την κίνηση κατά μήκος και των δύο αξόνων και σύροντας το χείλος του τριμήνου θα περιστρέψει το αντικείμενο.

Σχεδίαση

Το SceneKit θα προσπαθήσει να μεταφράσει τα υλικά του μοντέλου σας στο δικό του σχέδιο, αλλά πιθανότατα θα θέλετε να το τσιμπήσετε. Ευτυχώς, το SceneKit σας καλύπτει και εδώ.

Στον επιθεωρητή Υλικών, θα δείτε μια λίστα υλικών που επισυνάπτονται στον τρέχοντα κόμβο καθώς και ιδιότητες για κάθε έναν.

Μπορείτε να διαγράψετε υλικά από τον κόμβο χρησιμοποιώντας το κουμπί διαγραφής (-) στο κάτω μέρος της λίστας, αλλά σημειώστε ότι τα υλικά που δεν σχετίζονται με κανένα κόμβο διαγράφονται πλήρως από τη βιβλιοθήκη υλικού.

Μπορείτε να χρησιμοποιήσετε το κουμπί προσθήκης (+) για να συσχετίσετε ένα υπάρχον υλικό ή να δημιουργήσετε ένα εντελώς νέο.

Οποιεσδήποτε αλλαγές κάνετε σε ένα υλικό μεταφέρονται σε οποιονδήποτε κόμβο χρησιμοποιώντας αυτό το υλικό. Εάν πρέπει να δημιουργήσετε ένα αντίγραφο με τις δικές του ιδιότητες, μπορείτε να πατήσετε το κουμπί Unshare στο κάτω μέρος του επιθεωρητή. Θα πρέπει επίσης να μετονομάσετε το υλικό (στο πεδίο Ταυτότητα) για να αποφύγετε τη σύγχυση.

Αλγόριθμοι φωτισμού

Η πρώτη ιδιότητα που σχετίζεται με ένα υλικό είναι το μοντέλο φωτισμού του. Μην το συγχέετε με το "φωτισμό του μοντέλου σας", αν και σχετίζεται. Το μοντέλο φωτισμού εδώ σημαίνει τον αλγόριθμο που θα χρησιμοποιήσει το SceneKit για την απόδοση του αντικειμένου σας. Αυτά παρατίθενται με σειρά από τα λιγότερο έως τα πιο σύνθετα, με φυσική βάση που αντιπροσωπεύει έναν ειδικό τύπο για τον οποίο θα μιλήσουμε σε μια στιγμή. Μπορείτε να δείτε παραδείγματα των διαφορετικών μοντέλων φωτισμού στην τεκμηρίωση της Apple.

Χαρτογράφηση εικόνων

Για να δείτε μερικά από αυτά σε δράση, επιλέξτε τον κόμβο Body του πυραύλου. Στον επιθεωρητή Υλικών, επιλέξτε το υλικό σκακιέρας. Αλλάξτε το μοντέλο φωτισμού σε "Phong". Για την ιδιότητα Diffuse, επιλέξτε την εικόνα checkerboard-tile.png. (Εάν δεν υπάρχει λίστα, ίσως χρειαστεί να μεταφέρετε την εικόνα σε art.snnetsets.) Για την ιδιότητα Specular, επιλέξτε το λευκό.

Οι υφές εικόνων στο SceneKit χαρτογραφούνται σε έναν κόμβο σύμφωνα με τις συντεταγμένες υφής του UVW.

Στο Cinema 4D, μπορείτε να δημιουργήσετε συντεταγμένες UVW για την υφή του αντικειμένου σας ανά πάσα στιγμή κάνοντας δεξί κλικ στις ετικέτες υφής και επιλέγοντας "Generate UVW Coordinates". Αυτό σημαίνει ότι μπορείτε να χρησιμοποιήσετε όποια προβολή αποδίδει περισσότερο στο αντικείμενο σας (σφαιρικό, κυλινδρικό , κλπ.), ρυθμίστε την και στη συνέχεια μετατρέψτε σε προβολή UVW για το SceneKit λίγο πριν την εξαγωγή.

Φυσικά υλικά

Πρόκειται να βρείτε κάποια χαρακτηριστικά του SceneKit προεπισκόπησης μόνο εάν το Mac σας είναι συμβατό με το πλαίσιο μεταλλικών γραφικών της Apple. (Μπορεί να μπορείτε να παραλάβετε τη συμβατότητα μετάλλων σε έναν παλαιότερο Mac, αναβαθμίζοντας την κάρτα γραφικών σας.) Αυτό ισχύει ιδιαίτερα όταν πρόκειται για εργασία με υλικά με βάση το υλικό.

Ακόμη και σε παλαιότερους Mac, μπορείτε ακόμα να χρησιμοποιήσετε αυτά τα υλικά. Απλά δεν θα τα δείτε με ακρίβεια μέχρι να δοκιμάσετε τα πράγματα στη συσκευή σας iOS.

Η φυσική απόδοση ή PBR συμβάλλει στην απλοποίηση του τρόπου με τον οποίο οι καλλιτέχνες σκέφτονται τις πραγματικές επιφάνειες. Βράζει όλα τα υλικά σε τρεις κύριες κατηγορίες: διάχυτη (ή albedo), μεταλλικό (ή ανακλαστικότητα), και τραχύτητα (ή microsurface). Χρησιμοποιώντας αυτές τις τρεις ιδιότητες, μπορείτε να αντιπροσωπεύετε τα πάντα, από σατέν έως σκουριασμένο μέταλλο.

Επιλέξτε ξανά τον κόμβο Body και, στη συνέχεια, επιλέξτε το υλικό redPaint στον επιθεωρητή υλικών. Αλλάξτε το μοντέλο φωτισμού σε "Physical Based". Αφήστε την ιδιότητα Diffuse ως ένα απλό κόκκινο χρώμα, αλλά αλλάξτε Metalness στην επιλογή "Metallic" και αφήστε την τιμή της στο μέγιστο 1,0. Αλλάξτε την τιμή Roughness to Float και ρυθμίστε το στο 0,15.

Εξαπάτηση λίγο - δεν θα έχετε την ίδια προεπισκόπηση μέχρι το επόμενο βήμα.

Δεν παίρνετε το πλήρες όφελος της PBR εκτός αν υπάρχει κάτι για το υλικό να αντανακλά. Οι καλλιτέχνες θα χρησιμοποιούν συχνά χάρτες περιβάλλοντος HDR για αυτό το σκοπό (υπάρχουν πολλές ελεύθερα διαθέσιμες στο διαδίκτυο). Το SceneKit σάς επιτρέπει να το κάνετε αυτό, αλλά για τους σκοπούς μας μπορούμε απλά να εργαστούμε με το ενσωματωμένο διαδικαστικό ουρανό.

Μεταβείτε στον επιθεωρητή σκηνής και επιλέξτε Διαδικαστικός ουρανός για το περιβάλλον. Μη ρυθμίζετε τις ρυθμίσεις.

Τώρα, επιλέξτε τον κόμβο Rocket / Window / Rim και πραγματοποιήστε παρόμοιες αλλαγές στο πορφυρό υλικό του Paint: Αλλάξτε το μοντέλο σε Physical Based, αφήστε το Diffuse όπως είναι, ορίστε Metalness σε 1.0 και Roughness σε 0.15.

Αυτός είναι ένας ωραίος πύραυλος! Ανά πάσα στιγμή, μπορείτε να φτιάξετε τη συσκευή ARKit και να δείτε πώς φαίνονται τα πράγματα στον "πραγματικό κόσμο".

Υλικά διπλής όψης

Μετά από αυτό, πιθανότατα θα παρατηρήσετε πολύ γρήγορα ότι υπάρχει ένα πρόβλημα με τους πυραύλους των πυραύλων μας. Είναι αόρατα από μέσα! Αυτή είναι μια ιδέα του τρόπου με τον οποίο οι υπολογιστές παρέχουν 3D μοντέλα. απλώς προεξοφλούν την ορατότητα μόνο μιας πλευράς.

Αυτό δεν είναι σωστό!

Υπάρχει μια εύκολη λύση για αυτό στο SceneKit. Στο υλικό επιθεώρησης, επιλέξτε το υλικό που εμφανίζει αυτή τη συμπεριφορά (redPaint, στην περίπτωσή μας) και αναζητήστε το πλαίσιο ελέγχου "Διπλή όψη". Εναλλάξτε αυτό και ανοίξτε ξανά.

Με αυτά τα "gotchas" έξω από το δρόμο, είστε έτοιμοι να χτίσετε το δικό σας επαυξημένη πραγματικότητα wonderland.

(Χρειάζεστε περισσότερη βοήθεια με το SceneKit; Ανατρέξτε στο άρθρο παρακολούθησης, Εργασία με τα 3D μοντέλα στο SceneKit.)

Το Black Pixel είναι ένα δημιουργικό πρακτορείο ψηφιακών προϊόντων. Εγγραφείτε στο BPXL Craft και ακολουθήστε μας στο Twitter.