Sprawdź, czy obiekt będzie pasować w miejscu przy użyciu rzeczywistości mieszanej

Można użyć formantu Kamera pomiarowa do określenia, czy obiekt o znanej wielkości będzie pasować do konkretnego obszaru. W tym artykule utworzymy aplikację kanwy właśnie do tego celu.

Porada

Kontrolki rzeczywistości mieszanej (MR) pracują najlepiej w dobrze oświetlonym otoczeniu z płaskimi powierzchniami. Śledzenie jest lepsze na urządzeniach obsługujących LIDAR.

Dodawanie minimalnych rozmiarów pól wejściowych do aplikacji kanwy

Najpierw utworzymy pustą aplikację kanwy. Następnie dodamy dla użytkownika sposób wprowadzenia minimalnych rozmiarów, które będzie można testować (czyli najmniejszą przestrzeń, do której obiekt ma pasować).

  1. Utwórz pustą aplikację kanwy.

  2. Wybierz kartę Wstaw. Wstaw i umieść trzy formanty Etykieta tekstu na ekranie.

  3. Zmień właściwość Text etykiet na odpowiednio Minimalna szerokość, Minimalna szerokość i Minimalna wysokość.

    Zrzut ekranu etykiety tekstowej w trakcie tworzenia w programie Microsoft Power Apps Studio, ukazanej wraz jej właściwościami.

  4. Wybierz kartę Wstaw. Wstaw trzy kontrolki Wprowadzanie tekstu i umieść je na prawo od trzech etykiet.

  5. Zmień nazwy formantów wejściowych odpowiednio na minWidth, minDepth i minHeight.

    Zrzut ekranu kontrolki etykiety tekstowej w trakcie tworzenia w programie Microsoft Power Apps Studio, ukazanej wraz jej właściwościami.

  6. Wybierz wszystkie trzy formanty wprowadzania tekstu. Zmień właściwość grupy Format na Number i ustaw właściwość Default na 1,0.

    Zrzut ekranu trzech kontrolek wprowadzania tekstu w trakcie tworzenia w programie Microsoft Power Apps Studio, ukazanej wraz właściwościami wybranej grupy.

Dodawanie i powiązanie kontrolki Kamera pomiarowa

Następnie dodamy kontrolkę Kamera pomiarowa, aby umożliwić użytkownikowi mierzenie trójwymiarowej przestrzeni. Miary połączymy miary z tabelą danych w celu ich późniejszego użycia.

  1. Wybierz kartę Wstaw i rozwiń Media.

  2. Wybierz opcję Kamera pomiarowa, aby umieścić formant na ekranie aplikacji. Przeciągnij kontrolkę w pobliże dołu ekranu.

  3. Zmień właściwości kontrolki jak następuje:

    Nazwa właściwości Wartość Gdzie
    Jednostka miary Stopy lub metry Wybierz na karcie Właściwości
    Typy miary Objętość Wybierz na karcie Właściwości
    Box draw Włączone Wybierz na karcie Właściwości
    Elementy Table({label:"Test Volume"}) Wprowadź na karcie Zaawansowane
    ItemsLabels „etykieta” Wprowadź na karcie Zaawansowane
    OnMixedRealitySelect Set(testVolume, LookUp(MeasureInMR1.Measurements, Label = "Test Volume")); Wprowadź na karcie Zaawansowane

Właściwości Items, ItemsLabels i OnMixedRealitySelect kontrolki Kamera pomiarowa powinny wyglądać po zakończeniu jak na poniższych przekładach:

Zrzut ekranu kontrolki Measure in 3D w trakcie tworzenia w programie Microsoft Power Apps Studio, ukazanej wraz z właściwościami Items i ItemsLabels.

Zrzut ekranu kontrolki Measure in 3D w trakcie tworzenia w programie Microsoft Power Apps Studio, ukazanej właściwością OnMixedRealitySelect.

Kontrolka w Items zawiera wymiary zmierzonej przestrzeni w tabeli danych o nazwie „Objętość testowa”. Kontrolka OnMixedRealitySelect ustawia zmienną o nazwie „testVolume ”na wartości przechwycone w tabeli „Objętość testowa”.

Wyświetl wyniki

Na koniec dodamy etykiety tekstowe, aby wyświetlić wykonane miary i wynik testu (czyli czy obiekt będzie pasować do mierzonej przestrzeni).

  1. Wybierz kartę Wstaw. Wstaw i umieść cztery formanty Etykieta tekstu na ekranie.

  2. Zmień właściwość Text etykiety w następujący sposób. (Podpowiedź: skopiuj każdą formułę i wklej ją na pasku formuł lub na karcie właściwości Zaawansowane, w zależności od preferencji).

    • Pierwsza etykieta:

          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"))
      

      W tej formule tekst etykiety jest ustawiany według tego, czy test zakończył się pomyślnie, czy nie, zależnie od minimalnych rozmiarów wymaganych do przytrzymania obiektu, który ma być dopasowany. Jeśli test nie został uruchomiony, ponieważ nie zostały zarejestrowane żadne miary lub wystąpił błąd, tekst etykiety odzwierciedla ten problem.

      Zrzut ekranu formantu etykiety tekstu w trakcie tworzenia w programie Microsoft Power Apps Studio, który jest wyświetlany na pasku formuł z właściwością Text i na karcie właściwości zaawansowanych.

    • Druga etykieta:

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

      W tej formule tekst etykiety jest ustawiany na „Szerokość graniczna:”, a po nim rozmiar szerokości pomieszczenia mierzonego.

    • Trzecia etykieta:

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

      W tej formule tekst etykiety jest ustawiany na „Głębokość graniczna:”, a po nim rozmiar głębokości pomieszczenia mierzonego.

    • Etykieta czwarta:

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

      W tej formule tekst etykiety jest ustawiany na „Wysokość graniczna:”, a po nim rozmiar wysokości pomieszczenia mierzonego.

Ekran aplikacji powinien teraz wyglądać następująco:

Zrzut ekranu ostatecznego ekranu aplikacji.

Testowanie aplikacji

Wybierz przycisk podglądu, aby uruchomić aplikację w trybie podglądu. Wybierz Measuring camera, by wypełnij etykiety danymi. Aby sprawdzić, czy powiązania etykiet działają, wprowadź nowe wartości w polach wprowadzania tekstu.

Zrzut ekranu ekranu aplikacji w trybie podglądu po wprowadzeniu nowych minimalnych rozmiarów.

Wartości dla Ograniczającej szerokości i Ograniczającej głębokości mogą być zamienione podczas przeprowadzania testu.

Zapisz i opublikuj aplikację. Otwórz ją na urządzeniu w włączoną rzeczywistością mieszaną, by przetestować, czy obiekt o określonych wymiarach będzie pasować do ograniczeń przechwyconej miary.

Filtrowanie źródła danych

Utworzona przez nas aplikacja testuje pojedynczy zestaw rozmiarów, które są określone przez użytkownika podczas pracy aplikacji. Jednakże można rozszerzyć ją, by przetestować pod kątem jakiegokolwiek źródła danych, stosując formułę jako predykat Filtr.

Załóżmy na przykład, że nasza aplikacja zawiera odwołanie do tabeli Dataverse o nazwie Produkty zawierającej trzy kolumny: Szerokość, Głębokość i Wysokość ( odpowiadające wymiarom każdego produktu). Aby przefiltrować kolekcję, by pokazywała tylko miary, które będą pasować w mierzonej objętości, możemy zastosować następującą formułę.

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

Zobacz także

Uwaga

Czy możesz poinformować nas o preferencjach dotyczących języka dokumentacji? Wypełnij krótką ankietę. (zauważ, że ta ankieta jest po angielsku)

Ankieta zajmie około siedmiu minut. Nie są zbierane żadne dane osobowe (oświadczenie o ochronie prywatności).