Rób i przekazuj zdjęcia rzeczywistości mieszanej

W tym artykule utworzymy aplikację, która może robić zdjęcia sesji rzeczywistości mieszanej i przekażemy je do folderu OneDrive. W tym przekładzie użyjemy kontrolki Wyświetl w MR, ale można również użyć kontrolek Wyświetl kształt w MR i Kamera pomiarowa.

Omówimy następujące zadania:

  • Dodawania kontrolki Obiekt 3D w celu wyświetlania i manipulowania przykładowym obiektem 3D
  • Podłączenie kontrolki Obiekt 3D do kontrolki Wyświetl w MR, by wyświetlić obiektu 3D w rzeczywistości
  • Dodawanie formantu galerii w celu wyświetlenia zdjęć zrobionych za pomocą kontrolki Wyświetl w MR
  • Przekazywanie zdjęć na OneDrive z pomocą przepływu Microsoft Power Automate
  • Przekazywanie plików przechwyconych w mieszanej plików do Dataverse

Wymagania wstępne

  • Utwórz pustą aplikację kanwy.
  • Utwórz folder o nazwie MRPhotos na OneDrive. Będziesz także korzystać z tego folderu do przechowywania przekazanych plików.

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.

Dodaj przycisk, aby zrobić zdjęcie obiektu 3D w rzeczywistości mieszanej

Ten przykład ma trzy części. Najpierw dodamy przycisk, który pozwala użytkownikom zrobić zdjęcie obiektu 3D w rzeczywistości mieszanej.

Wstaw formant Obiekt 3D

W przypadku aplikacji otwartej do edycji w Power Apps Studio:

  1. Otwórz kartę Wstaw i rozwiń pozycję Media.

  2. Wybierz 3D object, aby umieścić obiekt 3D na ekranie aplikacji. Przeciągnij formant na ekran, aby umieścić go dokładniej.

    Kontrolka ma przejrzysty kształt modułu. Jeśli chcesz, zmień właściwość kontrolki Source, aby załadować inny model 3D. W tym przykładzie użyjemy adresu URL https://raw.githubusercontent.com/microsoft/experimental-pcf-control-assets/master/robot_arm.glb.

    Zrzut ekranu kontrolki Obiekt 3D w trakcie tworzenia w programie Microsoft Power Apps Studio, ukazanej z jej właściwością Source.

Wstaw i połącz kontrolę Wyświetl w MR

  1. Otwórz kartę Wstaw i rozwiń pozycję Rzeczywistość mieszana.

  2. Wybierz Wyświetl w MR, by umieścić kontrolkę na ekranie aplikacji lub przeciągnij kontrolkę na ekran, by umieścić ją precyzyjniej.

  3. Zmień właściwość kontrolki Source na 3DObject1.Source. (3DObject1 to nazwa dodanej wcześniej kontrolki Obiekt 3D). To wyrażenie kieruje kontrolkę Wyświetl w MR na nakładkę modelu 3D w galerii kamery urządzenia.

    Zrzut ekranu kontrolki Wyświetl w MR w trakcie tworzenia w programie Microsoft Power Apps Studio, ukazanej z jej właściwością Source.

  4. Zapisz i opublikuj aplikację oraz uruchom ją na urządzeniu przenośnym.

  5. Aby wyświetlić obiekt 3D w rzeczywistości mieszanej, wybierz Wyświetl w MR. Wybierz ikonę aparatu, aby zrobić zdjęcie widoku MR.

Następnie dodamy galerię, aby użytkownicy mieli możliwość wyświetlenia wszystkich zdjęć, które zrobili.

  1. Ponownie edytuj aplikację. Otwórz kartę Wstaw i umieść formant Vertical gallery na ekranie.

  2. Zmień właściwość kontrolki Items na ViewInMR1.Photos. (ViewInMR1 to nazwa kontrolki Wyświetl w MR, którą dodaliśmy wcześniej.)

  3. Opcjonalnie zmień właściwość galerii Layout na Image and title.

    Zrzut ekranu galerii pionowej w trakcie tworzenia w programie Microsoft Power Apps Studio przedstawiający właściwości Items i Layout.

  4. Wyświetl podgląd aplikacji i wybierz Wyświetl w MR w celu wygenerowania przykładowego zdjęcia. Galeria wypełnia się przykładowym obrazem.

    Zrzut ekranu aplikacji kanwy przedstawiający model 3D i zdjęcie modelu w galerii.

Uwaga

Jeśli użytkownicy wyjdą z widoku MR w celu zobaczenia galerii, a następnie ponownie wejdą do widoku MR i zrobią więcej zdjęć, nowe zdjęcia zastąpią te zrobione wcześniej.

Aby ułatwić wyświetlanie zdjęć w galerii, można dodać nakładkę w pełnym rozmiarze, która pojawi się po wybraniu przez użytkownika obrazu miniatury.

  1. Ponownie edytuj aplikację. Otwórz kartę Wstaw i rozwiń pozycję Media.

  2. Wybierz Obraz, aby umieścić formant obrazu na ekranie. Zdjęcie można przenosić i zmieniać jego rozmiar zgodnie z tym, jak użytkownik chce, by zdjęcie wyglądało po wybraniu obrazu miniatury.

    Zrzut ekranu formantu obrazu w programie Microsoft Power Apps Studio.

  3. Zmień właściwości kontrolki obrazu jak następuje: | Właściwość | Wartość | | - | - | | OnSelect | UpdateContext({vVisibleImageZoom:false}) | | Obraz | Gallery1.Selected.Image2 (jeśli formant galerii to Gallery1, a pierwszym obrazem miniatury jest Image2) | Visible | vVisibleImageZoom

  4. Wybierz pierwszy obraz miniatury w kontrolce galerii. Zmień właściwość OnSelect na UpdateContext({vVisibleImageZoom:true}).

    Zrzut ekranu przedstawiający obraz miniatury w galerii w programie Microsoft Power Apps Studio pokazany z jego właściwością OnSelect.

  5. Zapisz i opublikuj aplikację oraz uruchom ją na urządzeniu przenośnym.

  6. Wybierz Wyświetl w MR, a następnie wybierz ikonę kamery, aby zrobić zdjęcie. Wybierz strzałkę w tył u góry ekranu, aby zamknąć widok MR.

  7. Wybierz miniaturę w galerii, by wyświetlić większą wersję zdjęcia. Wybierz obraz do ukrycia.

Wysyłanie fotografii do OneDrive z przepływem Power Automate

Na koniec utworzymy przepływ pracy w okienku Power Automate. Przepływ pracy przekazuje zdjęcia z aplikacji do folderu o nazwie MRPhotos na OneDrive.

Utwórz przepływ w Power Automate

  1. Edytuj aplikację. W menu Tworzenie aplikacji wybierz polecenie Power Automate > Utwórz nowy przepływ.

  2. Wyszukaj i wybierz szablon przycisku Power Apps.

    Zrzut ekranu strony szablonu Power Automate z wybranym szablonem przycisku Power Apps.

  3. W oknie tworzenia przepływu wybierz opcję Edytuj w trybie zaawansowanym.

  4. Wybierz Przycisk Power Apps u góry okna i wprowadź nową nazwę przepływu. W tym przykładzie nazwiemy przepływ Przekaż zdjęcie MR.

    Zrzut ekranu okna edycji Power Automate z wyróżniona nazwą przepływu pracy.

  5. Wybierz Przycisk Power Apps u góry okna i wprowadź nową nazwę przepływu. W tym przykładzie nazwiemy przepływ Przekaż zdjęcie MR.

    Zrzut ekranu okna edycji Power Automate z krokiem PowerApps wybranym do usunięcia.

  6. Wyszukaj PowerApps (V2) i wybierz wyzwalacz PowerApps (V2).

    Zrzut ekranu okna edycji Power Automate z wybranym wyzwalaczem PowerApps (v2).

  7. Wybierz Dodaj dane wejściowe, a następnie wybierz Plik.

  8. Zmień etykietę Zawartość pliku na Obraz.

    Zrzut ekranu okna edycji Power Automate z etykietą wejściową Zawartość pliku zmienioną na Obraz.

  9. Wybierz pozycję Nowy krok. Wyszukaj ciąg Utwórz plik OneDrive i wybierz akcję Utwórz plik.

    Zrzut ekranu okna edycji Power Automate z wybraną akcją Utwórz plik OneDrive.

  10. W opcji Ścieżka folderu wybierz ikonę folderu i przejdź do utworzonego wcześniej folderu MRPhotos.

  11. In opcji Nazwa pliku wprowadź @{triggerBody()?['file']?['name']} (tekst zmieni się na „file.name”.)

  12. In opcji Zawartość pliku wprowadź @{triggerBody()['file']['contentBytes']} (tekst zmieni się na „Obraz”.)

  13. Zapisz przepływ.

Zakończony przepływ powinien teraz wyglądać następująco:

Zrzut ekranu okna edycji Power Automate z pokazanym zakończonym przepływem pracy.

Połącz przepływ pracy z przyciskiem w aplikacji

  1. Wróć do aplikacji w programie Power Apps Studio. Przepływ jest teraz wymieniony na liście w obszarze Dostępne przepływy.

    Zrzut ekranu okienka danych Power Apps Studio z pokazanym nowym przepływem.

  2. Otwórz kartę Wstaw i wybierz Przycisk. Umieść formant Przycisk na ekranie i zmień jego rozmiar zgodnie z potrzebami.

  3. Zmień właściwość przycisku kontrolki Text na Przekaż zdjęcia.

  4. Na pasku formuł w górnej części okna Power Apps wybierz właściwość OnSelect. Wybierz Akcja > Power Automate > Przekaż zdjęcie MR.

    Zrzut ekranu formantu button w trakcie tworzenia w Power Apps Studio z przepływem dodanym do właściwości kontrolki OnSelect.

    Właściwość kontrolki button OnSelect zmienia się na UploadMRPhoto.Run(.

  5. Aby przekazać ostatnie zdjęcie, wklej po otwarciu nawiasu następujący kod: {file:{name:GUID() & ".png", contentBytes:Last(ViewInMR1.Photos).ImageURI}})

    Zrzut ekranu formantu button OnSelect na pasku formuły Power Apps Studio, który przesyła ostatnie zrobione zdjęcie.

    Jeśli formant button został umieszczony w galerii, wklej zamiast niego następujący kod: {file: {name:GUID() & ".png", contentBytes:ThisItem.ImageURI}})

    Zrzut ekranu formantu button OnSelect na pasku formuły Power Apps Studio, gdy przycisk jest w galerii.

    Aby przycisk przekazał wszystkie zrobione zdjęcia, usuń UploadMRPhoto.Run( i wklej następujący kod: ForAll(ViewInMR1.Photos, UploadMRPhoto.Run({file:{name:GUID() & ".png", contentBytes:ImageURI}}))

    Zrzut ekranu formantu button OnSelect na pasku formuły Power Apps Studio, który przesyła wszystkie zrobione zdjęcia.

  6. Wyświetl podgląd aplikacji i wybierz opcję Wyświetl w MR, a następnie wybierz opcję Przekaż zdjęcia. Sprawdź folder MRPhotos na OneDrive i potwierdź, że zdjęcie próbne zostało przekazane.

Dodawanie funkcji obsługi trybu offline do aplikacji

Możesz użyć aplikacji nawet w przypadku ograniczonego lub braku dostępu do sieci, używając funkcji SaveData i LoadData.

Przekazywanie plików przechwyconych w mieszanej plików do Dataverse

Do tabel Dataverse można dodawać kolumny typu Obraz. Kolumny obrazów w Dataverse mają dwa wymagane pola — Full i Value — które można ustawić na dane wyjściowe ImageURI kontrolek MR.

Na przykład aby przekazać pierwsze zdjęcie zarejestrowane przez formant Markup w kontrolki MR do kolumny Dataverse o nazwie Obraz:

    Image: {Full: First(MarkupInMR.Photos).ImageURI, Value: First(MarkupInMR.Photos).ImageURI}

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