Chụp và tải lên ảnh thực tế kết hợp

Trong bài viết này, chúng ta sẽ tạo một ứng dụng có thể chụp ảnh một phiên thực tế kết hợp và tải chúng lên một thư mục trên OneDrive. Chúng ta sẽ sử dụng điều khiển Xem trong MR trong ví dụ này, nhưng các điều khiển Xem hình dạng trong MRCamera đo lường cũng sẽ hoạt động.

Chúng ta sẽ bao gồm các nhiệm vụ sau đây:

  • Thêm điều khiển Đối tượng 3D để xem và xử lý đối tượng 3D mẫu
  • Kết nối điều khiển Đối tượng 3D với một điều khiển Xem trong MR để xem đối tượng 3D trong thế giới thực
  • Thêm điều khiển thư viện để xem ảnh được chụp bằng điều khiển Xem trong MR
  • Tải các ảnh lên OneDrive với một dòng Microsoft Power Automate
  • Tải các ảnh được chụp trong thực tế kết hợp lên Dataverse

Điều kiện tiên quyết

Mẹo

Các mục kiểm soát thực tế kết hợp (MR) hoạt động tốt nhất trong môi trường nhiều ánh sáng với bề mặt có kết cấu phẳng. Tính năng theo dõi hoạt động tốt hơn trên các thiết bị hỗ trợ LIDAR.

Thêm một nút để chụp ảnh đối tượng 3D trong thực tế kết hợp

Ví dụ này có ba phần. Đầu tiên, chúng ta sẽ thêm một nút cho phép người dùng chụp ảnh đối tượng 3D trong trải nghiệm thực tế kết hợp.

Chèn một điểu khiển Đối tượng 3D

Khi bạn mở ứng dụng để chỉnh sửa trong Power Apps Studio:

  1. Mở tab Chèn và mở rộng Phương tiện.

  2. Lựa chọn Đối tượng 3D để đặt một đối tượng 3D trên màn hình ứng dụng. Kéo điều khiển vào màn hình để định vị chính xác hơn.

    Điều khiển đi kèm với một hình khối lập phương trong suốt. Nếu bạn thích, hãy thay đổi thuộc tính Nguồn của điều khiển để tải một mô hình 3D khác. Trong ví dụ này, chúng tôi sẽ sử dụng URL https://raw.githubusercontent.com/microsoft/experimental-pcf-control-assets/master/robot_arm.glb.

    Ảnh chụp màn hình của điều khiển Đối tượng 3D đang được xây dựng trong Microsoft Power Apps Studio, được hiển thị cùng với thuộc tính Nguồn.

Chèn và kết nối một điều khiển Xem trong MR

  1. Mở tab Chèn và mở rộng Thực tế kết hợp.

  2. Chọn Xem trong MR để đặt điều khiển trên màn hình ứng dụng hoặc kéo điều khiển vào màn hình để định vị chính xác hơn.

  3. Thay đổi thuộc tính Nguồn của điều khiển thành 3DObject1.Source. (3DObject1 là tên của điều khiển Đối tượng 3D mà chúng ta đã thêm trước đó). Biểu thức này hướng dẫn điều khiển Xem trong MR tạo lớp phủ mô hình 3D trên nguồn cấp camera của thiết bị.

    Ảnh chụp màn hình của điều khiển Xem trong MR đang được xây dựng trong Microsoft Power Apps Studio, được hiển thị cùng với thuộc tính Nguồn.

  4. Lưu và xuất bản ứng dụngchạy ứng dụng đó trên thiết bị di động của bạn.

  5. Chọn Xem trong MR để xem đối tượng 3D trong thực tế kết hợp. Chọn biểu tượng camera để chụp ảnh dạng xem MR.

Tiếp theo, chúng ta sẽ thêm một thư viện để người dùng có thể xem ảnh mà họ đã chụp.

  1. Chỉnh sửa lại ứng dụng của bạn. Mở tab Chèn và đặt một điều khiển Thư viện dọc trên màn hình.

  2. Thay đổi thuộc tính Mục của điều khiển thành ViewInMR1.Photos. (ViewInMR1 là tên của điều khiển Xem trong MR mà chúng ta đã thêm trước đó).

  3. Tùy ý thay đổi thuộc tính Bố cục của thư viện thành Hình ảnh và tiêu đề.

    Ảnh chụp màn hình của thư viện dọc đang được xây dựng trong Microsoft Power Apps Studio, được hiển thị cùng với các thuộc tính Mục và Bố cục.

  4. Xem trước ứng dụng và chọn Xem trong MR để tạo ra một ảnh mẫu. Thư viện có một hình ảnh mẫu.

    Ảnh chụp màn hình của ứng dụng canvas hiển thị mô hình 3D và ảnh của mô hình trong thư viện.

Lưu ý

Nếu người dùng thoát khỏi dạng xem MR để xem thư viện, sau đó vào lại dạng xem MR và chụp thêm ảnh, các ảnh mới sẽ thay thế ảnh họ đã chụp trước đó.

Để làm cho ảnh trong thư viện dễ xem hơn, bạn có thể thêm lớp phủ kích thước đầy đủ xuất hiện khi người dùng chọn một hình ảnh thu nhỏ.

  1. Chỉnh sửa lại ứng dụng của bạn. Mở tab Chèn và mở rộng Phương tiện.

  2. Chọn Hình ảnh để đặt điều khiển hình ảnh trên màn hình. Di chuyển và định cỡ tùy theo cách mà bạn muốn ảnh lớn hơn xuất hiện khi hình ảnh thu nhỏ được chọn.

    Ảnh chụp màn hình của một điều khiển hình ảnh đang được xây dựng trong Microsoft Power Apps Studio.

  3. Thay đổi thuộc tính của điều khiển hình ảnh như sau: | Thuộc tính | Giá_trị | | - | - | | OnSelect | UpdateContext({vVisibleImageZoom:false}) | | Image | Gallery1.Selected.Image2 (giả sử điều khiển thư viện là Gallery1 và hình ảnh thu nhỏ đầu tiên là Image2) | Hiển thị | vVisibleImageZoom

  4. Chọn hình ảnh thu nhỏ đầu tiên trong điều khiển thư viện. Thay đổi thuộc tính OnSelect thành UpdateContext({vVisibleImageZoom:true}).

    Ảnh chụp màn hình của hình ảnh thu nhỏ trong thư viện trong Microsoft Power Apps Studio, được hiển thị với thuộc tính OnSelect.

  5. Lưu và xuất bản ứng dụngchạy ứng dụng đó trên thiết bị di động của bạn.

  6. Chọn Xem trong MR và sau đó chọn biểu tượng camera để chụp ảnh. Chọn mũi tên quay lại ở đầu màn hình để thoát khỏi dạng xem MR.

  7. Chọn hình thu nhỏ trong thư viện để hiển thị phiên bản lớn hơn của ảnh. Chọn hình ảnh để ẩn đi.

Tải ảnh lên OneDrive với một dòng Power Automate

Cuối cùng, chúng ta sẽ tạo một dòng công việc bằng ngăn Power Automate. Dòng công việc tải ảnh từ ứng dụng lên một thư mục có tên là MRPhotos trên OneDrive.

Tạo một dòng trong Power Automate

  1. Chỉnh sửa ứng dụng của bạn. Trên menu tạo ứng dụng, hãy chọn Power Automate > Tạo dòng mới.

  2. Tìm kiếm và chọn mẫu nút Power Apps.

    Ảnh chụp màn hình của trang mẫu Power Automate, với mẫu nút Power Apps được chọn.

  3. Trong cửa sổ Tạo dòng của bạn, hãy chọn Chỉnh sửa ở chế độ nâng cao.

  4. Chọn nút Power Apps ở đầu cửa sổ và nhập tên mới cho dòng của bạn. Trong ví dụ này, chúng ta sẽ đặt tên cho dòng là Tải lên ảnh MR.

    Ảnh chụp màn hình của cửa sổ chỉnh sửa Power Automate, với tên dòng công việc được tô sáng.

  5. Chọn nút Power Apps ở đầu cửa sổ và nhập tên mới cho dòng của bạn. Trong ví dụ này, chúng ta sẽ đặt tên cho dòng là Tải lên ảnh MR.

    Ảnh chụp màn hình của cửa sổ chỉnh sửa Power Automate, với bước PowerApps được chọn để xóa.

  6. Tìm kiếm PowerApps (V2) và chọn trình kích hoạt PowerApps (V2).

    Ảnh chụp màn hình của cửa sổ chỉnh sửa Power Automate, với trình kích hoạt PowerApps (v2) được chọn.

  7. Chọn Thêm một đầu vào và sau đó chọn Tệp.

  8. Thay đổi nhãn Nội dung tệp thành Hình ảnh.

    Ảnh chụp màn hình của cửa sổ chỉnh sửa Power Automate, với nhãn Tệp đầu vào được thay đổi thành Hình ảnh.

  9. Chọn Bước mới. Tìm kiếm Tạo tệp OneDrive và chọn hành động Tạo tệp.

    Ảnh chụp màn hình của cửa sổ chỉnh sửa Power Automate, với hành động Tạo tệp OneDrive được chọn.

  10. Trong Đường dẫn thư mục, hãy chọn biểu tượng thư mục và điều hướng đến thư mục MRPhotos mà bạn đã tạo trước đó.

  11. Trong Tên tệp, hãy nhập @{triggerBody()?['file']?['name']} (Văn bản của bạn thay đổi thành "file.name.")

  12. Trong Nội dung tệp, hãy nhập @{triggerBody()['file']['contentBytes']} (Văn bản của bạn thay đổi thành "Image.")

  13. Lưu dòng của bạn.

Dòng hoàn chỉnh phải trông giống như thế này:

Ảnh chụp màn hình của cửa sổ chỉnh sửa Power Automate, với dòng công việc hoàn chỉnh được hiển thị.

Kết nối dòng công việc với một nút trong ứng dụng của bạn

  1. Quay lại ứng dụng của bạn trong Power Apps Studio. Dòng của bạn bây giờ được liệt kê trong Các dòng có sẵn.

    Ảnh chụp màn hình của ngăn Dữ liệu Power Apps Studio, với dòng mới được hiển thị.

  2. Mở tab Chèn và chọn Nút. Đặt nút điều khiển trên màn hình và thay đổi kích thước nếu cần.

  3. Thay đổi thuộc tính Văn bản của điều khiển nút thành Tải lên ảnh.

  4. Trong thanh công thức ở đầu cửa sổ Power Apps, hãy chọn thuộc tính OnSelect. Chọn Hành động > Power Automate > Tải lên ảnh MR.

    Ảnh chụp màn hình của một nút điều khiển đang được xây dựng trong Power Apps Studio, với một dòng được thêm vào thuộc tính OnSelect của điều khiển.

    Thuộc tính OnSelect của điều khiển nút thay đổi thành UploadMRPhoto.Run(.

  5. Để tải lên ảnh cuối cùng được chụp, hãy dán mã sau đây phía sau dấu ngoặc đơn mở: {file:{name:GUID() & ".png", contentBytes: Last(ViewInMR1.Photos).ImageURI}})

    Ảnh chụp màn hình thuộc tính OnSelect của điều khiển nút trong thanh công thức Power Apps Studio, sẽ tải lên ảnh cuối cùng được chụp.

    Nếu bạn đã đặt điều khiển nút bên trong thư viện, thay vào đó hãy dán mã sau đây: {file: {name:GUID() & ".png", contentBytes:ThisItem.ImageURI}})

    Ảnh chụp màn hình thuộc tính OnSelect của điều khiển nút trong thanh công thức Power Apps Studio, khi nút ở trong thư viện.

    Để làm cho nút tải lên tất cả ảnh được chụp, hãy xóa UploadMRPhoto.Run( và dán mã sau đây: ForAll(ViewInMR1.Photos, UploadMRPhoto.Run({file:{name:GUID() & ".png", contentBytes:ImageURI}}))

    Ảnh chụp màn hình thuộc tính OnSelect của điều khiển nút trong thanh công thức Power Apps Studio, sẽ tải lên tất cả ảnh được chụp.

  6. Xem trước ứng dụng và chọn Xem trong MR và sau đó chọn Tải ảnh lên. Kiểm tra thư mục MRPhotos trên OneDrive và xác nhận rằng ảnh mẫu đã được tải lên.

Thêm khả năng ngoại tuyến vào ứng dụng của bạn

Bạn có thể sử dụng ứng dụng của mình ngay cả khi kết nối mạng bị hạn chế hoặc không có kết nối Các chức năng SaveDataLoadData.

Tải ảnh được chụp trong thực tế kết hợp lên Dataverse

Bạn có thể thêm ảnh vào bảng Dataverse thông qua cột kiểu dữ liệu Hình ảnh. Các cột hình ảnh trong Dataverse có hai trường bắt buộc - Đầy đủ và Giá trị - có thể được đặt thành đầu ra ImageURI của các điều khiển MR.

Ví dụ: nếu bạn muốn tải ảnh đầu tiên được chụp bằng điều khiển Đánh dấu trong MR lên cột Dataverse có tên là Hình ảnh:

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

Xem thêm

Lưu ý

Bạn có thể cho chúng tôi biết bạn thích dùng ngôn ngữ nào cho tài liệu không? Làm một cuộc khảo sát ngắn. (xin lưu ý, khảo sát này bằng tiếng Anh)

Cuộc khảo sát sẽ mất khoảng bảy phút. Không có dữ liệu cá nhân nào được thu thập (điều khoản về quyền riêng tư).