JPPUG758 を開催した際に、QAであがってた「Power Apps の MR機能で3D画像などが大きすぎて画面に納まらない」問題について、備忘のため対策方法を記事にしておきます。
おさらい:Power Apps MR系 4機能
Power Apps の MRプレビュー機能をオンにすると、下記4つの機能が追加されます。
このうち「View in MR」および「View shape in MR」の2つに関しては、Power Apps アプリ側から 横幅・高さ・奥行(深さ)、および値の単位(センチメートル、メートル等)を指定することが可能です。
View shape in MR(MR で図形を表示)で解説
「View in MR」でも「View shape in MR」でも、どちらも同じプロパティを持っているので、そこに表示させたいサイズを指定するだけです。
動作イメージ
初回と、2回目でサイズを変えて撮影しています。ちゃんと大きさが変わってますよね。このように高さ等の値を変更することでMR上で表示するオブジェクトのサイズを変えることができます。 なお、アプリ側からタイマー等を利用して外部から高さなどのパラメーターを注入しても、MR画面(カメラが起動した状態)になっている最中は動的にサイズ変更することは不可能なようです。(記事投稿時点で)#PowerApps View Shape in MR pic.twitter.com/to2ebZ3fD2
— やま (Yama) (@yamad365) June 6, 2020
プロパティ情報
動画のアプリでは「View shape in MR」コントロールの各プロパティに画面上のテキスト入力結果を連動させることで動的にサイズ変更を実施しています。
注意点 あるいは 現時点の不具合かも?
「View shape in MR」コントロールですが、幅x高さx奥行 の値がビミョーに意図しない箇所へ適用されていると見受けられます。詳細は下記 JPPUG758 の登壇資料を参照ください。
「View in MR」(MR で表示) も一緒
「View in MR」も同じプロパティを装備しています。そのため、同じ仕組みでアプリ側からサイズを指定することが可能です。
サンプルの動画や画像は各プロパティを動的に指定するようにしていますが、固定値で問題無い場合は、該当プロパティへ直接値を指定してください。
「Measure in MR」(MR で測定) は用途が違う
「Measure in MR」は MR で測定した値(縦x横x高さ など)を取得するコトが目的のコントロールです。そのため、前述2つのコントロールとは異なったプロパテ構成になっております。アプリ側から与えられるパラメーターに、縦・横・高さなどはありません。
おまけ
「View in 3D」を除く、MR 系 3コントロールですが[テキスト]というプロパティを持っています。コレを変更するとどうなるか?ご存じですか?
1. Icon
2. Icon + Text
3. Text
実際に試すとスグにわかるのですが・・・。実は、変化がビミョーすぎて、暫く当方はドコがどう変わったのか全然気づけませんでした(汗
ちなみに、すでに上でご紹介したイメージは2番目の「Icon + Text」を指定した状態です。
1番目の「Icon」を指定した場合。
3番目の「Text」を指定した場合。
ボタンの表示内容が変わるだけ、なんです。それ以上でも、それ以下でもありません。ボタンにアイコンが表示されるか?テキストが表示されるか?を指定するだけです。
このプロパティを初めて見た当方は、MR状態で3D画像の下や上に1行テキストでも出せるのかと期待しちゃったんですよね・・・。まさか、ボタンの表示項目だけとはw 仮想空間のほうを色々探しちゃいました(;^ω^)
まとめ
「View in MR」と「View shape in MR」はアプリ側から 幅x高さx奥行 を指定可能です。残念ながら、MR画面(カメラ)起動後は変更不可(記事投稿時点で)です。MR を全くコード書くことなく実装できるので、例えば「欲しい本棚を自宅の設置場所へ据え付けたら、どんな雰囲気になるのかな?」等が手軽に試すことができます。(※対象の3D画像が .glb で入手できている前提ですけどね汗)
MR 機能、GAされる日が楽しみですね!
それでは、皆さま。素晴らしい Power Platform Life を!