Mixed Reality 写真を撮影してアップロードする

この記事では、Mixed Reality セッションの写真を撮影して、OneDrive 上のフォルダーにアップロードできるアプリを作成します。 この例では View in MR コントロールを使用しますが、View shape in MRMeasuring Camera コントロールも同様に機能します。

次のタスクについて説明します。

  • 3D object コントロールを追加して、サンプルの 3D オブジェクトを表示および操作する
  • 3D object コントロールを View in MR コントロールに接続して、現実世界で 3D オブジェクトを表示する
  • ギャラリー コントロールを追加して、View in MR コントロールで撮影した写真を表示する
  • Microsoft Power Automate フローで写真を OneDrive にアップロードする

前提条件

ヒント

Mixed Reality (MR) コントロールは、フラット テクスチャ サーフェスの明るい環境で最適に動作します。 LIDAR 対応デバイスでは、トラッキングが優れています。

Mixed Reality で 3D オブジェクトの写真を撮影するためのボタンを追加する

この例には、3 つの部分があります。 まず、Mixed Reality エクスペリエンスでユーザーが 3D オブジェクトの写真を撮影できるボタンを追加します。

3D object コントロールを挿入する

Power Apps Studio でアプリを 編集 用に開いた状態で:

  1. 挿入 タブを開いて、メディア を展開します。

  2. 3D object を選択して、アプリ画面に 3D オブジェクトを配置します。 コントロールを画面にドラッグして、より正確に配置します。

    コントロールには、透明なキューブの図形が用意されています。 必要に応じて、コントロールの Source プロパティを変更して、別の 3D モデルを読み込みます。 この例では、URL https://raw.githubusercontent.com/microsoft/experimental-pcf-control-assets/master/robot_arm.glb を使用します。

    Source プロパティと共に表示される、Microsoft Power Apps Studio で作成中の 3D object コントロールのスクリーンショット。

View in MR コントロールを挿入して接続する

  1. 挿入 タブを開いて、Mixed Reality を展開します。

  2. View in MR を選択して、アプリ画面にコントロールを配置するか、コントロールを画面にドラッグしてより正確に配置します。

  3. コントロールの Source プロパティを 3DObject1.Source に変更します。 (3DObject1 は、先ほど追加した 3D object コントロール の名前です。) この式は、View in MR コントロールに 3D モデルをデバイスのカメラ フィード上に重ねるように指示します。

    Source プロパティと共に表示される、Microsoft Power Apps Studio で作成中の View in MR コントロールのスクリーンショット。

  4. アプリを保存して公開 し、モバイル デバイスで実行 します。

  5. View in MR を選択して、Mixed Reality で 3D オブジェクトを表示します。 MR ビューの写真を撮るには、カメラ アイコンを選択します。

次に、ギャラリーを追加して、ユーザーが撮影した写真を表示できるようにします。

  1. アプリをもう一度編集します。 挿入 タブを開いて、画面上に Vertical gallery コントロールを配置します。

  2. コントロールの Items プロパティを ViewInMR1.Photos に変更します。 (ViewInMR1 は、先ほど追加した View in MR コントロールの名前です。)

  3. 必要に応じて、ギャラリーの Layout プロパティを 画像とタイトル に変更します。

    Items と Layout のプロパティと共に表示される、Microsoft Power Apps Studio で作成中の垂直ギャラリーのスクリーンショット。

  4. アプリをプレビューして、View in MR を選択し、サンプル写真を生成します。 ギャラリーにサンプル画像が表示されます。

    ギャラリー内の 3D モデルとモデルの写真を示すキャンバス アプリのスクリーンショット。

注意

ユーザーが MR ビューを終了してギャラリーを表示し、MR ビューに戻ってさらに写真を撮ると、以前に撮った写真が新しい写真に置き換わります。

ギャラリー内の写真を見やすくするために、ユーザーがサムネイル画像を選択したときに表示されるフルサイズのオーバーレイを追加できます。

  1. アプリをもう一度編集します。 挿入 タブを開いて、メディア を展開します。

  2. 画像 を選択して、画面に画像コントロールを配置します。 サムネイル画像を選択したときに大きい写真をどのように表示するかに応じて、移動およびサイズを変更します。

    Microsoft Power Apps Studio で作成中の画像コントロールのスクリーンショット。

  3. 画像コントロールのプロパティを次のように変更します: | Property | Value | | - | - | | OnSelect | UpdateContext({vVisibleImageZoom:false}) | | Image | Gallery1.Selected.Image2 (ギャラリー コントロールが Gallery1 で、最初のサムネイル画像が Image2 であると仮定します) | Visible | vVisibleImageZoom

  4. ギャラリー コントロールで、最初のサムネイル画像を選択します。 OnSelect プロパティを UpdateContext({vVisibleImageZoom:true}) に変更します。

    OnSelect プロパティと共に表示される、Microsoft Power Apps Studio のギャラリーにあるサムネイル画像のスクリーンショット。

  5. アプリを保存して公開 し、モバイル デバイスで実行 します。

  6. View in MR を選択し、カメラ アイコンを選択して写真を撮影します。 画面上部の戻る矢印を選択して、MR ビューを終了します。

  7. ギャラリーでサムネイルを選択すると、写真の大きなバージョンが表示されます。 画像を選択して非表示にします。

Power Automate フローで写真を OneDrive にアップロードする

最後に、Power Automate でワークフローを作成します。 ワークフローは、アプリの写真を OneDrive 上の MRPhotos という名前のフォルダーにアップロードします。

Power Automate でフローを作成する

  1. アプリを編集します。 アクション > Power Automate > 新しいフローの作成 を選択します。 (まず、Power Automate にサインインする必要があるかもしれません。)

    新しい Power Automate フローが選択された Microsoft Power Apps Studio にあるアプリのスクリーンショット。

  2. Power Apps ボタン テンプレートを検索して選択します。

    Power Apps ボタン テンプレートが選択された Power Automate テンプレート ページのスクリーンショット。

  3. ウィンドウの上部で Power Apps ボタン 選択して、フローの新しい名前を入力します。 この例では、フロー MR 写真のアップロード に名前を付けます。

    ワークフロー名が強調表示された Power Automate 編集ウィンドウのスクリーンショット。

  4. ワークフローの PowerApps ステップで ... を選択し、削除 を選択します。

    PowerApps ステップが削除するために選択された Power Automate 編集ウィンドウのスクリーンショット。

  5. PowerApps (V2) を検索して、PowerApps (V2) トリガーを選択します。

    PowerApps (V2) トリガーが選択された Power Automate 編集ウィンドウのスクリーンショット。

  6. 入力の追加 を選択し、ファイル を選択します。

  7. ラベル ファイルの内容画像 に変更します。

    ファイル入力ラベルが画像に変更された Power Automate 編集ウィンドウのスクリーンショット。

  8. 新しいステップ を選択します。 OneDrive Create file を検索し、ファイルの作成 アクションを選択します。

    OneDrive Create file アクションが選択された Power Automate 編集ウィンドウのスクリーンショット。

  9. フォルダー パス でフォルダー アイコンを選択し、先に作成した MRPhotos フォルダーに移動します。

  10. ファイル名@{triggerBody()?['file']?['name']} と入力します (テキストが "file.name" に変わります。)

  11. ファイル コンテンツ@{triggerBody()['file']['contentBytes']} と入力します (テキストが Image" に変わります。)

  12. 使用しているフローを保存します。

完成したフローは次のようになります:

完成したワークフローを示す Power Automate 編集ウィンドウのスクリーンショット。

ワークフローをアプリのボタンに接続する

  1. Power Apps Studio のアプリに戻ります。 フローが 使用可能なフロー の下に表示されます。

    新しいフローが表示された Power Apps Studio データ ペインのスクリーンショット。

  2. 挿入 タブを開き、ボタン を選択します。 button コントロールを画面に配置し、必要に応じてサイズを変更します。

  3. button コントロールの Text プロパティを 写真のアップロード に変更します。

  4. Power Apps ウィンドウの上部にある数式バーで、OnSelect プロパティを選択します。 アクション > Power Automate > MR 写真のアップロード を選択します。

    コントロールの OnSelect プロパティにフローが追加された、Power Apps Studio で作成中の button コントロールのスクリーンショット。

    button コントロールの OnSelect プロパティが UploadMRPhoto.Run( に変更されます。

  5. 最後に撮影した写真をアップロードするには、左括弧の後に次のコードを貼り付けます: {file:{name:GUID() & ".png", contentBytes:Last(ViewInMR1.Photos).ImageURI}})

    最後に撮影した写真をアップロードする Power Apps Studio 数式バーにある button コントロールの OnSelect プロパティのスクリーンショット。

    button コントロールをギャラリー内に配置した場合は、代わりに次のコードを貼り付けます: {file: {name:GUID() & ".png", contentBytes:ThisItem.ImageURI}})

    ボタンがギャラリーにあるときに Power Apps Studio 数式バーにある button コントロールの OnSelect プロパティのスクリーンショット。

    撮影したすべての写真をボタンにアップロードさせるには、UploadMRPhoto.Run( を削除して次のコードを貼り付けます: ForAll(ViewInMR1.Photos, UploadMRPhoto.Run({file:{name:GUID() & ".png", contentBytes:ImageURI}}))

    撮影した写真をすべてアップロードする Power Apps Studio 数式バーにある button コントロールの OnSelect プロパティのスクリーンショット。

  6. アプリをプレビューして View in MR を選択し、写真のアップロード 選択します。 OneDrive 上の MRPhotos フォルダーをチェックして、サンプル写真がアップロードされていることを確認します。

アプリにオフライン機能を追加する

SaveDataLoadData 関数 を使用して、ネットワーク接続が制限されているか、ない場合でも、アプリを使用できます。

参照

注意

ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)

この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。