MRが楽しい

MRやVRについて学習したことを書き残す

MRTKのTooltipSpawnerを使ってTooltipの表示と非表示を切り替える

本日は MRTK の小ネタ枠です。
MRTK の TooltipSpawner を使って Tooltip の表示と非表示を切り替える手順を記事にします。
f:id:bluebirdofoz:20210128230634j:plain

TooltipSpawner

MRTK の TooltipSpawner は Tooltip をオブジェクトに動的に追加するためのコンポーネントです。
TooltipSpawner を活用すると、タップしたり注目したときにオブジェクトに注釈を表示することができます。
microsoft.github.io
microsoft.github.io

オブジェクトにTooltipSpawnerを設定する

TooltipSpawner を使ってオブジェクトをタップすると Tooltip が表示されるシーンを作成してみます。
以下の Cube オブジェクトを配置したサンプルシーンを用意しました。
f:id:bluebirdofoz:20210128230702j:plain

この Cube オブジェクトにTooltipを設定してみます。
Inspector ビューを開き、[Add Component]から[Tooltip Spawner]を追加します。
f:id:bluebirdofoz:20210128230713j:plain

これでオブジェクトに Tooltip Spawner コンポーネントが追加されます。
f:id:bluebirdofoz:20210128230727j:plain

Tips

注意点として Tooltip Spawner をアタッチするオブジェクトには以下のいずれかのコンポーネントが設定されている必要があります。
・BoxCollider
・CapsuleColider
・CharacterController
・MeshCollider
・SphereCollider
・TerrainCollider
・WheelCollider
f:id:bluebirdofoz:20210128230749j:plain

表示される Tooltip のフォーマットや表示方法は TooltipSpawner コンポーネントのプロパティから変更できます。

Focus Enabled:有効時、フォーカスによるイベントが利用できます。注視またはハンドレイによるフォーカスが可能です。
Prefab:表示する Tooltip のフォーマットとなるプレハブを指定します。
InputSettings
 Tooltip Toggle Action:Tooltip表示を行うタップアクションを指定します。
Appear/Vanish Behavior Settings
 Apper Type:表示タイミングを指定します。[Appear On Focus Enter]はフォーカス開始時、[Appear On Tap]はタップ時です。
 Vanish Type:非表示タイミングを指定します。[Vanish On Focus Exit]はフォーカス開始時、[Vanish On Tap]はタップ時です。
 Remain Type:Tooltipの表示時間を指定します。[Timeout]は一定時間で消えます。[Indefinite]は時間経過で消えません。
Timing
 Appear Delay:イベント発生から表示までの遅延を指定します。
 Vanish Delay:イベント発生から非表示までの遅延を指定します。
 Lifetime:表示時間を指定します。[Remain Type]が[Timeout]の場合のみ有効です。
Orientation
 Keep World Rotation:Tooltipの表示方向をアタッチオブジェクトではなくワールド座標の回転軸に合わせます。
ToolTip Override Settings
 Settings Mode:[Override]指定時、ToolTipにShow表示などの一部の設定が上書きされます。
 Tooltip Tip Text:Tooltipに表示するテキストを指定します。[Settings Mode]に関わらず上書きされます。
 Anchor:Tooltipのコネクタを接続するオブジェクトを指定します。未指定時はアタッチ中のオブジェクトに接続されます。

f:id:bluebirdofoz:20210128230805j:plain

タップ時にデフォルトの Tooltip が表示されるように設定してみます。
Tooltip のプレハブを以下のディレクトリから取得して[Prefab]に設定します。
・Assets/MRTK/SDK/Features/UX/Prefabs/Tooltips
f:id:bluebirdofoz:20210128230818j:plain

その他、タップ時に表示と非表示を切り替える設定と、時間経過によって非表示にならない設定を行いました。
f:id:bluebirdofoz:20210128230831j:plain

シーンを再生して確認します。
タップ操作を行った時に Tooltip が表示されれば成功です。
f:id:bluebirdofoz:20210128230842j:plain

コネクタの接続先を別のオブジェクトにする

例えば、以下の追加の Sphere オブジェクトをコネクタの接続先にするには、[Anchor]に Sphere オブジェクトを設定します。
f:id:bluebirdofoz:20210128230852j:plain

コネクタが Shpere オブジェクトに接続されるようになりました。
f:id:bluebirdofoz:20210128230902j:plain