Делите путем


Тестирање да ли ће објекат стати у простор користећи мешовиту реалност

Можете користити контролу Мерна камера да бисте утврдили да ли ће објекат познате величине стати у одређени простор. У овом чланку ћемо направити апликацију са подлогом да бисмо урадили управо то.

Савет

Контроле мешовите стварности (МР) најбоље делују у добро осветљеним окружењима са равним површинама. Праћење је боље на уређајима са омогућеним LIDAR-ом.

Додавање поља за унос минималних димензија у апликацију са подлогом

Прво ћемо направити празну апликацију са подлогом. Затим ћемо додати начин да корисник унесе минималне димензије за тестирање (тј. најмањи простор који ће држати објекат који желимо да уклопимо).

  1. Креирајте празну апликацију са подлогом.

  2. Изаберите картицу Уметање. Уметните и поставите на екран три контроле типа Текстуална ознака.

  3. Промените својство Text ознака на Минимална ширина, Минимална дубина и Минимална висина, тим редом.

    Снимак екрана текстуалне ознаке у изради у програму Microsoft Power Apps Studio, приказано поред њених својстава.

  4. Изаберите картицу Уметање. Уметните три контроле типа Унос текста и поставите их десно од три ознаке.

  5. Преименујте контроле за унос текста у minWidth, minDepth и minHeight, тим редом.

    Снимак екрана контроле за унос текста у изради у програму Microsoft Power Apps Studio, приказано поред њених својстава.

  6. Изаберите све три контроле за унос текста. Промените својство Format групе у Број и поставите својство Default на 1,0.

    Снимак екрана три контроле за унос текста у изради у програму Microsoft Power Apps Studio, приказане поред својстава изабране групе.

Додавање и повезивање контроле Мерна камера

Затим ћемо додати контролу Мерна камера како бисмо омогућили кориснику да измери тродимензионални простор. Мерења ћемо повезати са табелом података за каснију употребу.

  1. Изаберите картицу Уметање и развијте одељак Медији.

  2. Изаберите контролу Мерна камера и поставите контролу на екран апликације. Превуците контролу близу дна екрана.

  3. Промените следећа својства контроле:

    Назив својства Value Где
    Јединица мере Стопе или метри Избор на картици Својства
    Врста мерења Количина Избор на картици Својства
    Цртање оквира Укључи Избор на картици Својства
    Ставке Table({label:"Test Volume"}) Унесите на картици Више опција
    ItemsLabels "label" Унесите на картици Више опција
    OnMixedRealitySelect Set(testVolume, LookUp(MeasureInMR1.Measurements, Label = "Test Volume")); Унесите на картици Више опција

Својства Items, ItemsLabels и OnMixedRealitySelect контроле Мерна камера би требало да изгледају као на следећим примерима када завршите:

Снимак екрана контроле „Мерење у 3D“ у изради у програму Microsoft Power Apps Studio, приказано поред њених својстава Items и ItemsLabels.

Снимак екрана контроле „Мерење у 3D“ је у изради у програму Microsoft Power Apps Studio, приказано поред својства „OnMixedRealitySelect“.

Формула у својству Items бележи димензије измереног простора у табели података под именом „Тестирање запремине“. Формула у OnMixedRealitySelect поставља променљиву под називом „testVolume“ на вредности забележене у табели „Тестирање запремине“.

Приказивање резултата

На крају, додаћемо текстуалне ознаке да бисмо приказали мере које су предузете и резултат теста (тј. да ли ће објекат стати у измерени простор).

  1. Изаберите картицу Уметање. Уметните и поставите на екран четири контроле типа Текстуална ознака.

  2. Промените својство 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"))
      

      Ова формула поставља текст ознаке према томе да ли је тест успео или није успео, на основу минималних димензија потребних за држање објекта који желимо да уклопимо. Ако се тест није покренуо, било зато што нису забележена мерења или је дошло до грешке, текст ознаке то одражава.

      Снимак екрана контроле текстуалне ознаке у изради у програму Microsoft Power Apps Studio, приказан са својством „Text“ у траци за формуле и картицом „Више опција за својства“.

    • Друга ознака:

          Concatenate("Bounding Width: ", Text(testVolume.BoundingWidth))
      

      Ова формула поставља текст ознаке на „Ограничење ширине: “ праћену димензијом ширине измереног простора.

    • Трећа ознака:

          Concatenate("Bounding Depth: ", Text(testVolume.BoundingDepth))
      

      Ова формула поставља текст ознаке на „Ограничење дубине: “ праћену димензијом дубине измереног простора.

    • Четврта ознака:

          Concatenate("Bounding Height: ", Text(testVolume.Height))
      

      Ова формула поставља текст ознаке на „Ограничење висине: “ праћену димензијом висине измереног простора.

Екран апликације би сада требало да изгледа овако:

Снимак екрана коначног екрана апликације.

Тестирање апликације

Изаберите дугме за преглед да бисте покренули апликацију у режиму прегледа. Изаберите контролу Мерна камера да бисте ознаке попунили подацима. Да бисте проверили да ли повезивања ознака функционишу, унесите нове вредности у поља за унос текста.

Снимак екрана апликације у режиму прегледа након уноса нових минималних димензија.

Вредности за ограничење ширине и ограничење дубине могу се заменити када обавите тест.

Сачувајте и објавите апликацију. Отворите га на уређају са омогућеном мешовитом реалношћу да бисте проверили да ли ће се објекат са наведеним димензијама уклопити у границе било ког забележеног мерења.

Филтрирање извора података

Апликација коју смо креирали тестира један скуп димензија које је корисник навео када апликација ради. Међутим, можете да је проширите да бисте је тестирали у односу на извор података тако што ћете применити формулу као што филтер предвиђа.

На пример, рецимо да наша апликација садржи референцу на Dataverse табелу под називом Производи која садржи три колоне: Ширина, Дубина и Висина (које одговарају димензијама сваког производа). Да бисмо филтрирали колекцију тако да прикаже само мере које би се уклопиле у измерену запремину, можемо да применимо следећу формулу.

    If(IsBlankOrError(testVolume), Products,
    Filter(Products, testVolume.Height >= Height &&
        ((testVolume.BoundingWidth >= Width && testVolume.BoundingDepth >= Depth) ||
        (testVolume.BoundingWidth >= Depth && testVolume.BoundingDepth >= Width))))

Погледајте и

Напомена

Можете ли нам рећи о својим жељеним поставкама језика у документацији? Испуните кратку анкету. (имајте на уму да је ова анкета на енглеском језику)

Анкета ће трајати око седам минута. Не прикупљају се лични подаци (изјава о приватности).