Ελέγξτε αν ένα αντικείμενο θα χωράει σε έναν χώρο χρησιμοποιώντας μεικτή πραγματικότητα
Μπορείτε να χρησιμοποιήσετε το στοιχείο ελέγχου Κάμερα μετρήσεων για να προσδιορίσετε εάν ένα αντικείμενο γνωστού μεγέθους θα χωράει σε ένα συγκεκριμένο χώρο. Σε αυτό το άρθρο, θα δημιουργήσουμε μια εφαρμογή καμβά για να κάνουμε ακριβώς αυτό.
Φιλοδώρημα
Τα στοιχεία ελέγχου μεικτής πραγματικότητας (MR) λειτουργούν καλύτερα σε καλά φωτισμένα περιβάλλοντα με επιφάνειες με επίπεδη υφή. Η παρακολούθηση είναι καλύτερη στις συσκευές με δυνατότητα LIDAR.
Αρχικά, θα δημιουργήσουμε μια κενή εφαρμογή καμβά. Στη συνέχεια, θα προσθέσουμε έναν τρόπο για να εισαγάγει ο χρήστης τις ελάχιστες διαστάσεις για δοκιμή (δηλαδή, τον μικρότερο χώρο που θα έχει το αντικείμενο που θέλουμε να χωράει).
Επιλέξτε την καρτέλα Εισαγωγή. Εισαγάγετε και τοποθετήστε τρία στοιχεία ελέγχου Ετικέτα κειμένου στην οθόνη.
Αλλάξτε την ιδιότητα Text των ετικετών σε Ελάχιστο πλάτος, Ελάχιστο βάθος και Ελάχιστο ύψος, αντίστοιχα.
Επιλέξτε την καρτέλα Εισαγωγή. Εισαγάγετε τρία στοιχεία ελέγχου Είσοδος κειμένου και τοποθετήστε τα δεξιά των τριών ετικετών.
Μετονομάστε τα στοιχεία ελέγχου Είσοδος κειμένου σε minWidth, minDepth και minHeight, αντίστοιχα.
Επιλέξτε και τα τρία στοιχεία ελέγχου Είσοδος κειμένου. Αλλάξτε την ιδιότητα Format της ομάδας σε Αριθμός και ορίστε την προεπιλεγμένη ιδιότητα σε 1,0.
Στη συνέχεια, θα προσθέσουμε το στοιχείο ελέγχου Κάμερα μετρήσεων, για να επιτρέψουμε στο χρήστη να μετρήσει έναν χώρο τριών διαστάσεων. Οι μετρήσεις θα συνδεθούν σε έναν πίνακα δεδομένων για μελλοντική χρήση.
Επιλέξτε την καρτέλα Εισαγωγή και αναπτύξτε την επιλογή Μέσα.
Επιλέξτε Κάμερα μετρήσεων για να τοποθετήσετε το στοιχείο ελέγχου στην οθόνη της εφαρμογής. Σύρετε το στοιχείο ελέγχου κοντά στο κάτω μέρος της οθόνης.
Αλλάξτε τις ιδιότητες του στοιχείου ελέγχου ως εξής:
Όνομα ιδιότητας Τιμή Όπου Unit of measurement Πόδια ή μέτρα Επιλέξτε στην καρτέλα Ιδιότητες Τύπος μέτρησης Όγκος Επιλέξτε στην καρτέλα Ιδιότητες Σχεδίαση πλαισίου Ενεργό Επιλέξτε στην καρτέλα Ιδιότητες Στοιχεία Table({label:"Test Volume"}) Εισαγάγετε στην καρτέλα Σύνθετες ItemsLabels "ετικέτα" Εισαγάγετε στην καρτέλα Σύνθετες OnMixedRealitySelect Set(testVolume, LookUp(MeasureInMR1.Measurements, Label = "Test Volume")); Εισαγάγετε στην καρτέλα Σύνθετες
Οι ιδιότητες Items, ItemsLabels και OnMixedRealitySelect του στοιχείου ελέγχου Κάμερα μετρήσεων θα πρέπει να μοιάζουν με τα παρακάτω παραδείγματα όταν τελειώσετε:
Ο τύπος στο Items καταγράφει τις διαστάσεις του μετρημένου χώρου σε έναν πίνακα δεδομένων με όνομα "Δοκιμαστικός όγκος". Ο τύπος στο OnMixedRealitySelect ορίζει μια μεταβλητή με όνομα "testVolume" στις τιμές που καταγράφονται στον πίνακα "Δοκιμαστικός όγκος".
Τέλος, θα προσθέσουμε ετικέτες κειμένου για την εμφάνιση των μετρήσεων που ελήφθησαν και του αποτελέσματος της δοκιμής (δηλαδή, εάν το αντικείμενο θα χωράει στον χώρο που μετρήθηκε).
Επιλέξτε την καρτέλα Εισαγωγή. Εισαγάγετε και τοποθετήστε τέσσερα στοιχεία ελέγχου Ετικέτα κειμένου στην οθόνη.
Αλλαγή της ιδιότητας Text των στοιχείων ελέγχου ετικέτας ως εξής. (Συμβουλή: Αντιγράψτε κάθε τύπο και επικολλήστε τον στη γραμμή τύπων ή στην καρτέλα ιδιοτήτων Σύνθετες, όποια θέλετε.)
Πρώτη ετικέτα:
If(IsBlankOrError(testVolume), "No Measurement captured", If(testVolume.Height >= Value(minHeight.Text) && ((testVolume.BoundingWidth >= Value(minWidth.Text) && testVolume.BoundingDepth >= Value(minDepth.Text)) || (testVolume.BoundingWidth >= Value(minDepth.Text) && testVolume.BoundingDepth >= Value(minWidth.Text))), "Fit Test Succeeded", "Fit Test Failed"))
Αυτός ο τύπος ορίζει το κείμενο ετικέτας σύμφωνα με το εάν η δοκιμή ολοκληρώθηκε με επιτυχία ή αποτυχία, με βάση τις ελάχιστες διαστάσεις που απαιτούνται για τη διατήρηση του αντικειμένου που θέλουμε να χωράει. Αν η δοκιμή δεν εκτελέστηκε, είτε επειδή δεν έχουν γίνει μετρήσεις είτε επειδή παρουσιάστηκε σφάλμα, το κείμενο της ετικέτας απεικονίζει αυτό το γεγονός.
Δεύτερη ετικέτα:
Concatenate("Bounding Width: ", Text(testVolume.BoundingWidth))
Αυτός ο τύπος ορίζει το κείμενο ετικέτας σε "Πλάτος οριοθέτησης:" και ακολουθεί η ιδιότητα πλάτους του χώρου που μετράται.
Τρίτη ετικέτα:
Concatenate("Bounding Depth: ", Text(testVolume.BoundingDepth))
Αυτός ο τύπος ορίζει το κείμενο ετικέτας σε "Βάθος οριοθέτησης:" και ακολουθεί η ιδιότητα βάθους του χώρου που μετράται.
Τέταρτη ετικέτα:
Concatenate("Bounding Height: ", Text(testVolume.Height))
Αυτός ο τύπος ορίζει το κείμενο ετικέτας σε "Ύψος οριοθέτησης:" και ακολουθεί η ιδιότητα ύψους του χώρου που μετράται.
Η οθόνη εφαρμογής θα πρέπει τώρα να έχει την εξής εμφάνιση:
Επιλέξτε το κουμπί προεπισκόπησης για να εκτελέσετε την εφαρμογή σε λειτουργία προεπισκόπησης. Επιλέξτε Measuring Camera για να συμπληρώσετε τις ετικέτες με δεδομένα. Για να βεβαιωθείτε ότι οι συνδέσεις ετικέτας λειτουργούν, εισαγάγετε νέες τιμές στα πεδία text input.
Κατά την εκτέλεση της δοκιμής μπορείτε να εναλλάξετε τις τιμές Πλάτος οριοθέτησης και Βάθος οριοθέτησης.
Αποθηκεύστε και δημοσιεύστε την εφαρμογή σας. Ανοίξτε το σε μια συσκευή με δυνατότητα μεικτής πραγματικότητας για να ελέγξετε αν ένα αντικείμενο με τις καθορισμένες διαστάσεις θα ταιριάζει εντός των ορίων κάθε μέτρησης που έχει καταγραφεί.
Η εφαρμογή που δημιουργήσαμε ελέγχει ένα μόνο σύνολο διαστάσεων που καθορίζονται από τον χρήστη όταν εκτελείται η εφαρμογή. Ωστόσο, μπορείτε να την επεκτείνετε ώστε να δοκιμάσετε σε σχέση με τυχόν προέλευση δεδομένων εφαρμόζοντας τον τύπο ως κατηγόρημα Φίλτρο.
Για παράδειγμα, ας πούμε ότι η εφαρμογή μας περιέχει μια αναφορά σε έναν πίνακα Dataverse με το όνομα Προϊόντα που περιλαμβάνει τρεις στήλες: Πλάτος, Βάθος και Ύψος (που αντιστοιχεί στις διαστάσεις κάθε προϊόντος). Για να φιλτράρετε τη συλλογή για να εμφανίζει μόνο τις μετρήσεις που θα ταίριαζαν σε έναν όγκο που μετρήθηκε, μπορούμε να εφαρμόσουμε τον παρακάτω τύπο.
If(IsBlankOrError(testVolume), Products,
Filter(Products, testVolume.Height >= Height &&
((testVolume.BoundingWidth >= Width && testVolume.BoundingDepth >= Depth) ||
(testVolume.BoundingWidth >= Depth && testVolume.BoundingDepth >= Width))))
- Στοιχείο ελέγχου Αντικείμενο 3D
- Στοιχείο ελέγχου Κάμερα μετρήσεων
- Στοιχείο ελέγχου Προβολή σχήματος σε MR
Σημείωση
Μπορείτε να μας πείτε ποια γλώσσα προτιμάτε για την τεκμηρίωση; Πάρτε μέρος σε μια σύντομη έρευνα. (σημειώνεται ότι αυτή η έρευνα είναι στα Αγγλικά)
Η έρευνα θα διαρκέσει περίπου επτά λεπτά. Δεν συλλέγονται προσωπικά δεδομένα (δήλωση προστασίας προσωπικών δεδομένων).