夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

MixedRealityGraphics Tools のProximityLightを理解する その①

本日はMRGT枠です。

〇MRGTとは?

MixedRealityGraphicsTools(MRGT)はMicrosoftによって提供されているMixedRealityデバイス向けのアプリケーション開発ツールMixedRealityToolkit3(MRTK3)の一つとして提供されているグラフィックに関する機能を内包したパッケージです。

xRでの描画はスマートフォンやコンシュマーゲームなどの従来のデバイスと気を付けなければならない点が異なります。

 例えばNintendo Switchなどのコンシュマーゲームでは一部の格闘ゲームなどを除き1秒間の画面のリフレッシュレート(FPS)が30などであったとしても問題ありません。  しかしMixedRealtiyデバイスの場合はFPSが60を下回る際に各つきが顕著にみられ場合によってはユーザーの酔いなどが発生することもあります。

 これはMixedRealityアプリケーションが従来のデバイスと比べより没入度が高くわずかな各つきであったとしても視界全体で発生することで不快感を誘発してしまうためです。

 上記の理由からFPSを高いレートで維持することがMixedRealityアプリ開発においてのセオリーになっています。

 また右目左目にそれぞれ違う映像を描画する仕様上一部のグラフィックが片目のみの描画になるなどのトラブルが発生することがあります。

 MRGTではこういったグラフィック面においてMixedRealityデバイスでの使用を前提に開発されています。

 当然ですが、通常のUnityプロジェクトでの使用もできます。

 今回はProximityLightの機能を紹介します。

〇ProximityLightとは?

ProximityLightはMRGTで提供されているUXの機能です。

learn.microsoft.com

MRGTはMicrosoftが提唱するアプリケーションUIデザインのFluentDesignに基づいて提供されています。

www.microsoft.com

この機能はProximity(近接)の名前通り接近時にオブジェクトにライトが落ちる機能です。

これはMRTKを使用している際にデフォルトの場合HandTrackingのポインターにアタッチされており、使用されています。

このProxmityLithtによってボタンなどのタッチ操作を必要とするインタラクションの場合ユーザーが自身の手とオブジェクトの距離感を把握しやすいようになっています。

HoverLightに非常によく似た機能ですが、HoverLightがデフォルトで4つ、最大10まで配置可能なものであることに対しProximityLightはデフォルトで2つのみが使用可能です。

ただしRadius(半径)とライトの色のみが変更可能なHoverLightに対してProxmityLightは設定可能なプロパティが異なります。

〇プロパティ

Proximity Settingsではライトの半径を指定するNearRadius

どのくらい離れた距離から光を投影するかというFar Radius

コメント上はどれくらいの距離で近づいたかを判別する閾値のNear Distance、これは実機上ではOuterColorMiddleColerのぼかしにかかわるパラメータに思えます。

接近時のOuterColorの広がりを指定するMin Near Size Percentage

そしてColor Settingsとして中央、中間、外の3つの色を指定することができます。

次回はシェーダー側の制約とProximityLightを使用する方法を紹介します。