Provar si un objecte s'ajusta a un espai mitjançant la realitat mixta
Podeu utilitzar el control Measuring Camera per determinar si un objecte d'una mida coneguda s'adaptarà a un espai concret. En aquest article, crearem una aplicació de llenç per fer-ho.
Suggeriment
Els controls de realitat mixta (MR) funcionen millor en entorns il·luminats i amb superfícies amb textura plana. El seguiment és millor als dispositius habilitats per a LIDAR.
Afegir camps d'entrada de dimensions mínimes a una aplicació del llenç
Primer, crearem una aplicació del llenç en blanc. A continuació, afegirem una manera perquè l'usuari pugui introduir les dimensions mínimes per provar-les (és a dir, el menor espai que contindrà l'objecte que voleu ajustar).
Seleccioneu la pestanya Insereix. Inseriu i col·loqueu tres controls Etiqueta de text a la pantalla.
Canvieu la propietat Text de les etiquetes a Amplada mínima, Profunditat mínima i Alçada mínima, respectivament.
Seleccioneu la pestanya Insereix. Inseriu tres controls d'entrada de text i col·loqueu-los a la dreta de les tres etiquetes.
Canvieu el nom dels controls d'entrada de text per Ampladamín, Profunditatmín i Alçadamín, respectivament.
Seleccioneu els tres controls d'entrada de text. Canvieu la propietat Format del grup per Número i definiu la propietat Per defecte en 1.0.
Afegir i enllaçar el control Measuring camera
A continuació, afegirem el control Measuring camera per permetre a l'usuari mesurar un espai tridimensional. Enllaçarem les mesures a una taula de dades per utilitzar-les més tard.
Seleccioneu la pestanya Inserir i expandiu l'opció Fitxer multimèdia.
Seleccioneu el control Measuring camera i col·loqueu-lo a la pantalla de l'aplicació. Arrossegueu el control a prop de la part inferior de la pantalla.
Canvieu les propietats del control de la següent manera:
Nom de la propietat Valor On Unitat de mesura Peus o Metres Seleccioneu a la pestanya Propietats Tipus de mesura Volum Seleccioneu a la pestanya Propietats Dibuix de requadre Activada Seleccioneu a la pestanya Propietats Articles Table({label:"Volum de prova"}) Introduir a la pestanya Opcions avançades ItemsLabels "label" Introduir a la pestanya Opcions avançades OnMixedRealitySelect Set(testVolume, LookUp(MeasureInMR1.Measurements, Label = "Volum de prova")); Introduir a la pestanya Opcions avançades
Un cop hagueu acabat, les propietats Items, ItemsLabels i OnMixedRealitySelect del control Measuring camera hauran de tenir un aspecte similar als exemples següents:
La fórmula de Items captura les dimensions de l'espai mesurat en una taula de dades anomenada "Volum de prova". La fórmula d'OnMixedRealitySelect defineix una variable anomenada "testVolume" per als valors capturats a la taula "Volum de prova".
Mostrar els resultats
Finalment, afegirem etiquetes de text per visualitzar les mesures que s'han pres i el resultat de la prova (és a dir, si l'objecte s'ajustarà a l'espai mesurat).
Seleccioneu la pestanya Insereix. Inseriu i col·loqueu quatre controls Etiqueta de text a la pantalla.
Canvieu la propietat Text dels controls d'etiqueta de la manera següent. (Suggeriment: copieu cada fórmula i enganxeu-la a la barra de fórmules o a la pestanya de propietats Avançades, l'opció que preferiu.)
Primera etiqueta:
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"))
Aquesta fórmula defineix el text de les etiquetes segons si la prova s'ha reeixit o ha fallat, en funció de les dimensions mínimes necessàries per contenir l'objecte que volem ajustar. Si la prova no s'ha executat, ja sigui perquè no s'ha capturat cap mesura o perquè s'ha produït un error, el text de les etiquetes ho reflecteix.
Segona etiqueta:
Concatenate("Bounding Width: ", Text(testVolume.BoundingWidth))
Aquesta fórmula defineix el text de l'etiqueta com a "Amplada enllaçada:" seguida de la dimensió d'amplada de l'espai mesurat.
Tercera etiqueta:
Concatenate("Bounding Depth: ", Text(testVolume.BoundingDepth))
Aquesta fórmula defineix el text de l'etiqueta com a "Profunditat enllaçada:" seguida de la dimensió de profunditat de l'espai mesurat.
Quarta etiqueta:
Concatenate("Bounding Height: ", Text(testVolume.Height))
Aquesta fórmula defineix el text de l'etiqueta com a "Alçada enllaçada:" seguida de la dimensió d'alçada de l'espai mesurat.
La pantalla de l'aplicació ara s'hauria de veure així:
Provar l'aplicació
Seleccioneu el botó de visualització prèvia per executar l'aplicació en mode de visualització prèvia. Seleccioneu Measuring camera per emplenar les etiquetes amb dades. Per comprovar que els lligams d'etiqueta funcionen, introduïu valors nous als camps d'entrada de text.
Els valors d'Amplada enllaçada i Profunditat enllaçada es poden intercanviar quan realitzeu la prova.
Deseu i publiqueu la vostra aplicació. Obriu-la en un dispositiu compatible amb la realitat mixta i comproveu si un objecte amb les dimensions especificades s'ajustarà als límits de qualsevol mesura capturada.
Filtrar una font de dades
L'aplicació que hem creat prova un únic conjunt de dimensions que especifica l'usuari quan s'executa l'aplicació. No obstant això, podeu ampliar-la per provar qualsevol font de dades aplicant la fórmula com a predicat de filtratge.
Per exemple, suposem que la nostra aplicació conté una referència a una taula del Dataverse anomenada Productes que inclou tres columnes: Amplada, Profunditat i Alçada (corresponent a les dimensions de cada producte). Per filtrar la col·lecció perquè es mostrin només les mesures que s'ajustin a un volum mesurat, podem aplicar la fórmula següent.
If(IsBlankOrError(testVolume), Products,
Filter(Products, testVolume.Height >= Height &&
((testVolume.BoundingWidth >= Width && testVolume.BoundingDepth >= Depth) ||
(testVolume.BoundingWidth >= Depth && testVolume.BoundingDepth >= Width))))
Consulteu també
Nota
Ens podeu dir quines són les vostres preferències d'idioma per a la documentació? Responeu una breu enquesta. (tingueu en compte que l'idioma de l'enquesta és l'anglès)
Trigareu uns set minuts a completar l'enquesta. No es recopilen dades personals (declaració de privadesa).