Πώς να μετρήσετε το έδαφος χρησιμοποιώντας το ARKit

0
130
Μετρήστε το έδαφος χρησιμοποιώντας το ARKit

Ας ρίξουμε μια ματιά στη μέθοδο Πώς να μετρήσετε το έδαφος χρησιμοποιώντας το ARKit, ένα δροσερό εργαλείο που θα σας βοηθήσει να μετρήσετε τα πράγματα από απόσταση χρησιμοποιώντας απλώς τα απλά κόλπα που θα συζητήσουμε παρακάτω. Ρίξτε λοιπόν μια ματιά στον πλήρη οδηγό που συζητείται παρακάτω για να προχωρήσετε.

Εν συντομία- Το ARKit είναι το δημοφιλές εργαλείο για την ανάπτυξη εργαλείων επαυξημένης πραγματικότητας ή αυτή είναι μια συγκεκριμένη πλατφόρμα για τους προγραμματιστές iOS. Μέσω αυτού του εργαλείου μπορούν να δημιουργηθούν και να χρησιμοποιηθούν διάφορα πράγματα ενώ η κάμερα της συσκευής μπορεί επίσης να αξιοποιηθεί καλά στις δημιουργίες. Μπορούν να εφαρμοστούν διάφορα στοιχεία στο ARKit για την οριστικοποίηση των απαιτήσεων. Ένα από τα πράγματα που οι χρήστες θα ήθελαν να περάσουν από το ARKit είναι να μετρήσουν το έδαφος χρησιμοποιώντας το. Ευτυχώς, αυτό είναι δυνατό να μετρηθεί το έδαφος χρησιμοποιώντας αυτό το εργαλείο και τα πιο ακριβή αποτελέσματα μπορούν να βρεθούν μέσω αυτού. Τώρα, πολλοί από τους χρήστες θα μπερδευτούν σχετικά με το πώς είναι δυνατό να πραγματοποιηθεί η μέθοδος, μην ανησυχείτε καθώς αυτό το άρθρο σχετίζεται με αυτό. Εδώ σε αυτό το άρθρο, έχουμε γράψει για τη μέθοδο μέτρησης του εδάφους χρησιμοποιώντας το ARKit. Εάν ενδιαφέρεστε να διαβάσετε σχετικά με αυτές τις πληροφορίες ή τις βρίσκετε χρήσιμες για τη χρήση σας, παρακαλούμε διαβάστε τις. Όλες οι κατάλληλες πληροφορίες παρέχονται στην κύρια ενότητα αυτής της ανάρτησης όπως δίνεται παρακάτω, θυμηθείτε να διαβάσετε μέχρι το τέλος της σελίδας, ώστε να αποκτήσετε όλη τη γνώση σχετικά με το θέμα. Λοιπόν, ας ξεκινήσουμε!

Πώς να μετρήσετε το έδαφος χρησιμοποιώντας το ARKit

Απαιτήσεις Πριν συνεχίσετε- Mac με macOS 10.13.2 ή μεταγενέστερη έκδοση, Xcode 9.2 ή νεότερη έκδοση, Συσκευή με iOS 11+ σε επεξεργαστή A9 ή νεότερη έκδοση, Swift 4.0, λογαριασμός προγραμματιστή Apple.

Βήματα για τη μέτρηση του εδάφους χρησιμοποιώντας το ARKit

#1 Πρώτα απ ‘όλα, κατεβάστε όλα τα απαιτούμενα στοιχεία από τον σύνδεσμο- http://www.mediafire.com/file/mhusxpaha96zgzq/Assets.zip/file. Αυτός ο σύνδεσμος θα σας κατεβάσει όλα τα πράγματα και ίσως μπορέσετε να προχωρήσετε περαιτέρω με αυτήν τη μέθοδο. Σημειώστε ότι υπάρχει απαίτηση για τα στοιχεία, επομένως πρέπει πρώτα να ολοκληρώσετε αυτό το βήμα. Για εύκολη πρόσβαση στα αρχεία ή στα στοιχεία που κατεβάζετε, κρατήστε τα μέσα σε ένα φάκελο από όπου είναι δυνατή η πρόσβαση στα αρχεία.

Μετρήστε το έδαφος χρησιμοποιώντας το ARKit

#2 Ακολουθήστε αυτόν τον οδηγό στον σύνδεσμο- https://mobile-ar.reality.news/how-to/arkit-101-pilot-your-3d-plane-location-using-hittest-arkit-0184060/#jump- βήμα 2 και, στη συνέχεια, δημιουργήστε το έργο AR στο XCode. Το νέο έργο που δημιουργείτε θα πρέπει να έχει διαφορετικό όνομα, ώστε να μπορείτε να το χρησιμοποιείτε εύκολα και να το αναγνωρίζετε αμέσως. Επίσης, δοκιμάστε γρήγορα το έργο πριν το εκτελέσετε.

#3 Εισαγάγετε όλα τα στοιχεία στο νέο σας έργο που δημιουργείται στο παραπάνω βήμα. Θυμηθείτε να επιλέξετε την επιλογή Αντιγραφή εάν χρειάζεται κατά την εισαγωγή των στοιχείων στο έργο. Αυτό είναι εύκολο να κάνετε το βήμα μέσα από τις επιλογές από το μενού.

Μετρήστε το έδαφος χρησιμοποιώντας το ARKit

#4 Τώρα μέσα στο αρχείο “ViewController.swift”, πρέπει να τροποποιήσετε τη γραμμή δημιουργίας σκηνής στη μέθοδο viewDidLoad(). Ο κωδικός πρέπει να αλλάξει από –

let σκηνή = SCNScene (με όνομα: “art.scnassets/ship.scn”)!
προς την
let σκηνή = SCNScene()
Στη συνέχεια, βρείτε τη γραμμή στην κορυφή του αρχείου – @IBOutlet var sceneView: ARSCNView! και στη συνέχεια προσθέστε τον κωδικό κάτω από αυτό- var grids = [Grid]()

Αυτό θα εμφανίσει τις γραμμές πλέγματος για την ανίχνευση.

#5 Αντιγράψτε και επικολλήστε τους παρακάτω κωδικούς κάτω από τα τελευταία σγουρά άγκιστρα του αρχείου:

// 1.
renderer func(_ renderer: SCNSceneRenderer, didAdd node: SCNNode, for anchor: ARAnchor) {
let grid = Πλέγμα(άγκυρα: άγκυρα ως! ARplaneAnchor)
self.grids.append(grid)
node.addChildNode(πλέγμα)
}
// 2.
renderer func(_ renderer: SCNSceneRenderer, didUpdate node: SCNNode, for anchor: ARAnchor) {
let grid = self.grids.filter { grid in
επιστροφή grid.anchor.identifier == anchor.identifier
}.πρώτα

guard let foundGrid = πλέγμα άλλο {
ΕΠΙΣΤΡΟΦΗ
}

foundGrid.update(anchor: anchor as! ARplaneAnchor)
}

#6 Κάτω από τη γραμμή που δίνεται παρακάτω στο viewDidLoad():

sceneView.showsStatistics = true

Προσθέστε τον κώδικα- sceneView.debugOptions = ARSCNDebugOptions.showFeaturePoints

Και κάτω από το code-let configuration = ARWorldTrackingConfiguration()

Add- configuration.planeDetection = .horizontal

#6 Η παραπάνω κωδικοποίηση θα ορίσει τις ανιχνεύσεις οριζόντιων και κάθετων γραμμών με ένα πλέγμα για ανίχνευση 3D, αλλά για τις μετρήσεις, πρέπει να ανοίξετε το αρχείο Grid.Swift.

Μέσα στο αρχείο αναζητήστε τον κωδικό-var planeGeometry: SCNPlane!

και Προσθήκη νέας γραμμής γεωμετρίας- var textGeometry: SCNText!

#7 Βρείτε μέχρι τις γραμμές που εισάγουν το ARkit τώρα, θα είναι – εισάγετε το ARKit. Κάτω από τις γραμμές και πάνω από τις γραμμές που δημιούργησαν την κλάση πλέγματος αθροίζονται:

επέκταση ARplaneAnchor {
// ίντσες
var width: Float { return self.extent.x * 39.3701}
var μήκος: Float { return self.extent.z * 39.3701}
}

#8 Μετά από όλα αυτά, βρείτε τη μέθοδο setup(). Διαγράψτε αυτήν τη μέθοδο και αντικαταστήστε την με μια ενημερωμένη έκδοση της μεθόδου όπως φαίνεται παρακάτω:

εγκατάσταση ιδιωτικής λειτουργίας() {
planeGeometry = SCNPlane(πλάτος: CGFloat(anchor.width), ύψος: CGFloat(anchor.length))

let υλικό = SCNMaterial()
material.diffuse.contents = UIIεικόνα (με όνομα:”overlay_grid.png”)

επίπεδοΓεωμετρία.υλικά = [material]

ας planeNode = SCNNode(γεωμετρία: self.planeGeometry)
planeNode.physicsBody = SCNPhysicsBody(τύπος: .static, σχήμα: SCNPhysicsShape(γεωμετρία: planeGeometry, επιλογές: μηδέν))
planeNode.physicsBody?.categoryBitMask = 2

planeNode.position = SCNVector3Make(anchor.center.x, 0, anchor.center.z);
planeNode.transform = SCNMatrix4MakeRotation(Float(-Double.pi / 2.0), 1.0, 0.0, 0.0);

// 1.
ας textNodeMaterial = SCNMaterial()
textNodeMaterial.diffuse.contents = UIColor.black

// Ρύθμιση γεωμετρίας κειμένου
textGeometry = SCNText(string: String(format: “%.1f\””, anchor.width) + ” x ” + String(format: “%.1f\””, anchor.length), extrusionDepth: 1)
textGeometry.font = UIFont.systemFont(ofSize: 10)
κείμενοΓεωμετρία.υλικά = [textNodeMaterial]

// Ενσωμάτωση κόμβου κειμένου με γεωμετρία κειμένου
// 2.
ας textNode = SCNNode (γεωμετρία: textGeometry)
textNode.name = “textNode”
textNode.position = SCNVector3Make(anchor.center.x, 0, anchor.center.z);
textNode.scale = SCNVector3Make(0,005, 0,005, 0,005)

addChildNode(textNode)
addChildNode(planeNode)
}

#9 Στο τέλος των σγουρά τιράντες Anchor επικολλήστε τον κωδικό που δίνεται παρακάτω:

αν έστω textGeometry = self.childNode(withName: “textNode”, αναδρομικά: true)?.geometry as? SCNText {
// Ενημέρωση κειμένου σε νέο μέγεθος

textGeometry.string = String(μορφή: “%.1f\””, anchor.width) + ” x ” + String(μορφή: “%.1f\””, anchor.length)
}

Μετρήστε το έδαφος χρησιμοποιώντας το ARKit

#10 Αποθηκεύστε και εκτελέστε την εφαρμογή μετά από όλες τις παραπάνω αλλαγές και είστε έτοιμοι!

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