Testați dacă un obiect se va potrivi într-un spațiu folosind realitatea mixtă
Puteți folosi comanda Cameră de măsurare pentru a determina dacă un obiect de o dimensiune cunoscută se va potrivi într-un anumit spațiu. În acest articol, vom crea o aplicație proiectată pe pânză pentru a face exact asta.
Sfat
Comenzile de realitate mixtă (RM) funcționează cel mai bine în medii bine iluminate, cu suprafețe cu textură plană. Urmărirea este mai bună pe dispozitivele compatibile cu LIDAR.
Adăugați câmpuri de introducere a dimensiunilor minime într-o aplicație proiectată pe pânză
Mai întâi, vom crea o aplicație proiectată pe pânză goală. Apoi vom adăuga o modalitate prin care utilizatorul poate introduce dimensiunile minime pe care să le testeze (adică cel mai mic spațiu care va conține obiectul pe care vrem să-l potrivim).
Selectați fila Inserați și plasați trei comenzi Etichetă text pe ecran.
Schimbați proprietatea etichetelor Text la Lățime minimă, Adâncime minimă, și respectiv Înălțime minimă.
Selectați fila Introduceți. Introduceți trei comenzi Introducere text și plasați-le în dreapta celor trei etichete.
Redenumiți comenzile de introducere a textului la minWidth, minDepth, și respectiv minHeight.
Selectați toate cele trei comenzi de introducere text. Schimbați proprietatea grupului Format la Număr și setați proprietatea Mod implicit 1.0.
Adăugați și legați comanda Cameră de măsurare
În continuare, vom adăuga comanda Cameră de măsurare pentru a permite utilizatorului să măsoare un spațiu tridimensional. Vom lega măsurătorile la un tabel de date pentru utilizare ulterioară.
Selectați fila Inserați și extindeți Media.
Selectați Cameră de măsurare și plasați comanda pe ecranul aplicației. Trageți comanda aproape de partea de jos a ecranului.
Modificați proprietățile comenzii după cum urmează:
Numele proprietății Valoare Unde Unitate de măsură Picioare sau Metri Selectați în fila Proprietăți Tip măsurare Volum Selectați în fila Proprietăți Desen casetă Activată Selectați în fila Proprietăți Elemente Tabel({etichetă: „Testare volum”}) Introduceți în fila Avansat ItemsLabels „etichetă” Introduceți în fila Avansat OnMixedRealitySelect Setați(testVolume, LookUp(MeasureInMR1.Measurements, Label = "Test Volume")); Introduceți în fila Avansat
Proprietățile Articole, ItemsLabels, și OnMixedRealitySelect din comanda Cameră de măsurare ar trebui să arate ca următoarele exemple când ați terminat:
Formula din Articole surprinde dimensiunile spațiului măsurat într-un tabel de date numit „Testare volum”. Formula din OnMixedRealitySelect setează o variabilă numită „testVolume” la valorile capturate în tabelul „Testare volum”.
Afișează rezultatele
În cele din urmă, vom adăuga etichete text pentru a afișa măsurătorile care au fost efectuate și rezultatul testului (adică dacă obiectul se va potrivi în spațiul măsurat).
Selectați fila Inserați. Inserați și plasați patru comenzi Etichetă text pe ecran.
Modificați proprietatea Text a comenzilor de etichetă după cum urmează. (Sfat: copiați fiecare formulă și lipiți-o în bara de formule sau pe fila de proprietăți Avansat, oricare doriți.)
Prima etichetă:
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"))
Această formulă setează textul etichetei în funcție de faptul că testul a reușit sau a eșuat, în baza dimensiunilor minime necesare pentru a conține obiectul pe care vrem să-l potrivim. Dacă testul nu a rulat, fie pentru că nu au fost capturate măsurători sau pentru că a apărut o eroare, textul etichetei reflectă acest lucru.
A doua etichetă:
Concatenate("Bounding Width: ", Text(testVolume.BoundingWidth))
Această formulă setează textul etichetei la „Lățime limită:” urmat de dimensiunea lățimii spațiului măsurat.
A treia etichetă:
Concatenate("Bounding Depth: ", Text(testVolume.BoundingDepth))
Această formulă setează textul etichetei la „Adâncime limită:” urmat de dimensiunea adâncimii spațiului măsurat.
A patra etichetă:
Concatenate("Bounding Height: ", Text(testVolume.Height))
Această formulă setează textul etichetei la „Înălțime limită:” urmat de dimensiunea înălțimii spațiului măsurat.
Ecranul aplicației ar trebuie să arate astfel:
Testați aplicația
Selectați butonul de previzualizare pentru a rula aplicația în modul versiune preliminară. Selectați Cameră de măsurare pentru a completa etichetele cu date. Pentru a verifica dacă legăturile etichetelor funcționează, introduceți noi valori în câmpurile de introducere a textului.
Valorile pentru Lățimea limită și Adâncimea limită pot fi schimbate atunci când efectuați testul.
Salvați și Publicați aplicația dvs. Deschideți-l pe un dispozitiv compatibil cu realitatea mixtă pentru a testa dacă un obiect cu dimensiunile specificate se va încadra în limitele oricărei măsurători capturate.
Filtrarea unei surse de date
Aplicația pe care am creat-o testează un singur set de dimensiuni care sunt specificate de utilizator atunci când aplicația rulează. Cu toate acestea, îl puteți extinde pentru a testa orice sursă de date aplicând formula ca predicat Filtru.
De exemplu, să presupunem că aplicația noastră conține o referință la un tabel Dataverse numit Produse care include trei coloane: Lăţime, Adâncime, și Înălţime (corespunzător dimensiunilor fiecărui produs). Pentru a filtra colecția pentru a afișa numai măsurătorile care s-ar încadra într-un volum măsurat, putem aplica următoarea formulă.
If(IsBlankOrError(testVolume), Products,
Filter(Products, testVolume.Height >= Height &&
((testVolume.BoundingWidth >= Width && testVolume.BoundingDepth >= Depth) ||
(testVolume.BoundingWidth >= Depth && testVolume.BoundingDepth >= Width))))
Consultați și
Notă
Ne puteți spune care preferințele dvs. lingvistice pentru documentație? Răspundeți la un chestionar scurt. (rețineți că acest chestionar este în limba engleză)
Chestionarul va dura aproximativ șapte minute. Nu sunt colectate date personale (angajament de respectare a confidențialității).