測定カメラ コントロールを使用してアプリを作成する

距離、面積、体積をユーザーが測定できるように、測定カメラ コントロールを独自のアプリで使用します。 測定中に 2 次元と 3 次元のポリゴンを作成し、これを利用して特定のサイズのオブジェクトを空間に収める方法を確認します。

このコントロールにより、アプリにボタンが表示されます。 アプリ ユーザーがボタンを選択すると、デバイスのライブ カメラ フィードを表示します。 次に、アプリユーザーは、開始点と、その間を測定すべき 1 つまたは複数の連続するエンドポイントを指定します。 測定したセグメントのインスタンスはライブ カメラ フィードに直接表示します。

ユーザーがコントロールを終了すると、取得した測定値を Measurements プロパティにキャプチャするため、保存または格納できます。

Mixed Reality のエクスペリエンス中に撮影されたスクリーンショットは、アプリ内で表示するための Photos プロパティに保存されます。

この記事では、測定カメラ コントロールを使用する画面をアプリに作成し、ユーザーが定義した空間の面積を測定して、さらに測定した空間の写真を表示します。

測定カメラ コントロールを使用してモバイル アプリを構築する方法については、このビデオをご覧ください。

前提条件

Mixed Reality に対応したデバイスの前提条件 をご覧ください。

測定カメラ コントロールを使用してアプリを作成する

  1. Power Apps Studio でアプリを開きます。

  2. 挿入タブを選択します。

  3. メディア を拡大します。

  4. 測定カメラ コントロールを選択して画面に挿入します。

  5. 画面の下部付近にコントロールを配置します。

  6. 画面右側のプロパティ ペインを使用して、このコントロールの次のプロパティを変更します。

    プロパティ
    テキスト 面積を測定する
    測定単位 フィート
    測定の種類 面積

    面積を測定するボタンのプロパティ。

  7. 詳細タブを選択して OnMixedRealitySelect プロパティを次の式に変更します。

    ClearCollect(colMRMeasurements, Self.Measurements);  
    ClearCollect(colMRPhotos, Self.Photos)  
    

    OnMixedRealitySelect 式。

    ユーザーがこの式を使用すると、測定する領域を平方フィート単位で定義して、最新の測定結果を colMRMeasurements という名前のコレクションに、最新の写真を colMRPhotos という名前のコレクションに保存します。

  8. 画面にテキスト ラベルを追加して、それを画面の左上隅に移動します。

  9. 追加したテキスト ラベルで次のプロパティを変更します。

    プロパティ
    テキスト 面積を測定する
    フォント サイズ 24
    フォントの太さ 中太字
    テキストの位置合わせ 中央
    Parent.Width
    RGBA(255, 255, 255, 1)
    塗りつぶし RGBA(56, 96, 178, 1)

    ヘッダー ラベル。

    このラベルは画面のヘッダーを提供します。

  10. 画像コントロールを追加して、それをヘッダー ラベルのすぐ下に移動します。

  11. 画像コントロールの、次のプロパティを変更します。

    プロパティ
    画像 First(colMRPhotos).ImageURI
    境界線の太さ 2

    測定カメラ コントロールから取得した最初の画像を、画像コントロールに表示します。

  12. 画面に別のラベルを追加して、これを画像コントロールの下に配置します。

  13. ラベルの Text プロパティを次の式に変更します。

    "Area: " & If(IsEmpty(colMRMeasurements), "no area measured", First(colMRMeasurements).Area & " sq. " & First(colMRMeasurements).Unit)
    

    完成したアプリ。

    測定カメラ コントロールから取得した最初の面積測定値と単位の種類が、このラベルに表示されます。 返すべき測定値がない場合、テキストに 面積: 測定した面積がありません と表示され、値が存在しないことをユーザーに通知します。

アプリをテストする

ヒント

この記事の上部に埋め込まれたビデオを見て、アプリが動作する様子をご確認ください。

すべてのコントロールが追加されたので、アプリを 保存して公開します。 前提条件セクションで定義された Mixed Reality に対応したデバイスでアプリを開き、面積を測定する ボタンを押下します。 この操作により、ユーザーが測定する領域を定義できるように Measuring camera エクスペリエンスを開きます。

画面の指示に従って、カメラを測定対象の表面に向けながらデバイスをゆっくりと左右に動かして、デバイスをキャリブレーションします。 キャリブレーションが完了すると、画面中央の円とドット照準に加えて、表面にドット配列が表示されます。 この照準を使用して、+ ボタンで点と線のセグメントを追加し、長さ、面積、体積を定義します。

カメラ ボタンを使用して写真をキャプチャできます。 これらの写真は、ユーザーが定義した長さ、面積、体積を示します。

配置した点を元に戻すための、元に戻すボタンがあります。

まず最初に + ボタンを使用して点を配置します。 ご覧のように、配置した点と接続されたオレンジ色の線と測定値が表示されます。 2 つ目の点を配置して、配置した 2 つの点の間に測定値の線が表示される様子に注目します。 目的の形状を完全に定義するまで、点を配置し続けます。 形状を閉じる際は、照準を最初に作成したポイントに配置して + ボタンを使用します。 照準の中心点の色が白から緑に変わり、これが形状を閉じられることを表します。 形状の 2 つの辺が交差する場合、最初以外の点を使用して形状を閉じてみます。 照準の中心点の色が白から赤に変わり、そこに点を配置できないことを表します。

領域を完全に定義したら、定義した領域の写真を撮影できるデバイスを配置して、カメラ ボタンを使用して撮影します。 送信 ボタンを選択します。 確認ダイアログが表示され、測定が完了したかどうかを尋ねます。 さらに入力する測定がある場合は、キャンセル を選択して MR 環境に戻ります。 完了したら 送信 を選択してアプリ画面に戻ります。

最初に撮った写真、さらに定義した形状について計算された面積と単位 (この場合は平方フィート) が表示されます。

次に、測定結果と写真は Power Apps の他の写真やテキスト フィールドと同じように使用します。たとえばメールでの送信や、Microsoft Dataverse のテーブルへの保存に使用できます。

参照