#PowerApps View in MR 外部から変更できない?


Power Apps の Mixed Reality(以降、MR)機能の1つ「MRで表示」(View in MR)お試しになりましたか?Power Apps で MR がグリグリ動かせるのは面白いですよね。

View in MR は、指定した3D画像をスマートフォンのカメラを利用して現実の映像に組み合わせることが可能なコントロールになります。記事投稿時点ではプレビュー機能であり、事前準備 を実施しないと利用できません。

今回は、その View in 3D で表示する3D画像を外部からのアプローチで動的に変更できないか?を軽く調べてみた結果のまとめです。

結論

はじめに結論をお伝えしておきます。
残念ながら、タイマーコントロールによる[Source]変更はできませんでした。残念。

試してみた仕組み

どうやって試したか?を簡単に記録しておきます。

アプリ全様

画面の配置はこんな感じになっていました。

タイマーコントロールでMR表示する対象を切り替えています。ギャラリーコントロールの表示は検証内容にはあまり関連性がありません。”いるか.glb”が1番で、それに続いて順番になってます、というのを示したかっただけです。

ギャラリーコントロール

「3Dで表示」(View in 3D)コントロールと、ラベルが配置してあるだけです。
View In 3D #03:ODfB+Excelで表示 で紹介した、OneDrive for Business に .glb ファイルを格納して、Power Apps から Excel のテーブル経由で3D画像をギャラリー表示しているだけです。ラベルは同データソースの名前を表示させています。

タイマーコントロール

10秒毎に、変数(アプリでは wkCnt)を +1 しています。
タイマーコントロールの左側にあるラベルは、その変数の値が「いま何か?」を表示しています。

MR で表示(View in MR)コントロール

指定した3D画像をMR表示するコントロールです。Docs は下記。

View 3D content or images in the real word (Preview)

[Source]プロパティに表示したい 3D画像(.glb)を指定します。指定する方法は「3D で表示」(View in 3D)と同様です。そのため、その[Source]プロパティを外部要因(今回はタイマーコントロール)で10秒置きに変更してやろう、という作戦でした。なお、該当プロパティに指定した値は下記になります。

ViewinMR.Source
Last(FirstN(<テーブル名>,wkCnt)).'3DModel'

上記関数については、以前にまとめています。詳細はそちらを参照ください。

【#PowerApps Tip's】配列のn番目を取得する

wkCnt が 10秒毎に+1されるため、ギャラリーコントロールの表示順でMRされる対象が切り替わる予定になります。結果は冒頭で説明したとおり、NGでしたけど…

まとめ

「MR で表示」(View in MR)コントロールの起動中は、
外部から3D画像を切り替えられない

※記事投稿時点で

なお、コントロール起動前であれば切り替えるコトが可能です。

せっかく、MR機能が利用可能になったので、MR表示しながら色々遊べると面白いのになぁ、と思って試してみましたが、現状はダメでした。まー、プレビュー機能なのでショウガナイネ。

それでは、皆さま。素晴らしい Power Platform Life を!