XR の機能強化と改善点

VRED 2022 に、Varjo MR のマーカー配置機能基本設定手のジェスチャ手の深度予測機能、さらに XR と VR の[VR]メニューから設定なしですぐに使用できるオブジェクト配置機能を追加しました。また、カスタム バージョンのマーカー トラッキングを実装するための Python インタフェース用の関数も追加されました。これらは、vrImmersiveInteractionService のドキュメントに記載されています。

Varjo マーカー

Varjo XR HMD ユーザのみが使用できます。

マーカー アイコン: 表示マーカー(別名、原点マーカー)を使用すると、複合現実のシーン内でオブジェクトを簡単に配置できます。座標系は自動的に同期されますが、MR を入力する前にノードを準備しておく必要があります。

座標系を使用するマーカー

[VR]メニューの マーカー アイコン を使用すると、サポートされている HMD からマーカーを検出することができます。HMD がマーカーを認識すると、ノードに VarjoMarker がタグ付けされている場合は、ノードの内容がマーカーの位置に移動します。マーカーの ID 番号は個別のタグとして設定する必要があります。

ID 番号を表示するマーカー

注:

タグの構文では、大文字と小文字が区別されます。

複数のマーカーを 1 つのマーカーに結合できます。結合すると、トラッキングの安定性が向上します。

1 つのマーカーに結合されたマーカー

たとえば、複数のノードに VarjoMarker がタグ付けされていて、タグ番号はそれぞれ異なるとします。マーカー トラッキング システムはマーカーを検出し、0.0 から 1.0 の範囲内の信頼度値を各マーカーに割り当てます正しいと判断された場合、ノードの内容がマーカーの位置に移動します。信頼度値の詳細については、バーチャル リアリティの基本設定である[最小のマーカー信頼度]を参照してください。

マーカーのノードを準備する

Varjo XR HMD ユーザのみが使用できます。

MR を開始する前にノードを準備するには、次の手順に従います。部屋に収まらないオブジェクトは、MR を開始する前にスケールダウンする必要があることに注意してください。

マーカーのシーン タグ ノードの構造の例

  1. タグを追加して、名前を VarjoMarker に変更します。

  2. オブジェクト ノードをこのタグの上にドラッグ アンド ドロップして、割り当てます。

  3. 別のタグを作成し、名前を Varjo マーカーに出力されている番号に変更します。

    シーン内の番号が近いマーカー

  4. 同じオブジェクト ノードをこのタグにドラッグ アンド ドロップします。

マーカーを使用する

Varjo XR HMD ユーザのみが使用できます。

続行する前に、シーンのノードにタグ付けする必要があります。まだタグ付けしていない場合は、続行する前に、「マーカーのノードを準備する」を参照してください。

  1. MR をサポートする接続済みの Varjo HMD を装着し、VRED で[ビュー] > [表示] > [Varjo HMD]を選択します。VarjoMarker がタグ付けされたオブジェクトおよび数値のタグが MR に表示されます。

  2. コントローラを使用して[VR]メニューを開き、[マーカーの有効化]を選択します。

    マーカーの有効化

    ジオメトリがマーカーに直接移動します。

    ヒント:

    [VR]メニューで[マーカーの有効化]を無効にして、オブジェクトが小刻みに揺れないようにします。

MR 内の手

現在、MR では Varjo XR HMD のみがサポートされています。

MR MR では、VRED によって自分の手が VR X-Ray マテリアルの手に置き換わります。

MR 内の手

MR に移行するには、[VR]メニューで[MR] ([MR 機能])を選択します。

MR の XR-1XR-3 では、サポートされる機能に違いがあることに注意してください。

Python で手のトラッカーを接続する

Python を使用してハンド トラッキングを接続する方法を確認するには、[ファイル] > [サンプルを開く]を選択し、vr フォルダにナビゲートして externalHandTracking.py を見つけます。このファイルに、ハンド トラッキングを設定する例が示されています。

返されるオブジェクトのタイプは vrdTrackedHand です。

手の深度予測

現在、MR では Varjo XR HMD のみがサポートされています。

[手の深度予測]アイコン: 複合現実のビデオ内で実世界の手を検出し、これらが仮想オブジェクトよりも手前にある場合は、仮想オブジェクトの前に表示します。無効にすると、実際の手がレンダリングされたオブジェクトよりも手前にある場合でも、VRED からレンダリングしたときに、実際の手は常にオクルードされます。

[VR]メニューでこのオプションを探します。このオプションの既定の動作を設定するには、[バーチャル リアリティ]基本設定 > [HMD]タブ > [Varjo]セクションにアクセスします。

[手の深度予測]: オフ [手の深度予測]: オン
[手の深度予測]: オフ [手の深度予測]: オン

複合現実で手を表示する

現在、MR では Varjo XR HMD のみがサポートされています。

複合現実内にいるユーザの手を表示するには、[手の深度予測]ツールを使用します。

  1. MR をサポートする接続済みの Varjo HMD を装着し、VRED で[ビュー] > [表示] > [Varjo HMD]を選択します。

  2. コントローラのメニュー ボタンを押して、[VR]メニューにアクセスします。

    [手の深度予測]: オフ

  3. [手の深度予測]アイコンを押して、MR で実世界の手を確認します。

手のジェスチャ

このセクションでは、デジタル デザインの操作でサポートされている VRED の手のジェスチャを示します。手の動きは、人差し指でモデルの一部をタップしてタッチ イベントを開始したり、[VR]メニューからツールを選択したり、HTML 5 HMI 画面を操作したりすると、追跡されます。これらのジェスチャを使用すると、コントローラを使用しなくても、シーンをナビゲートできます。

注:

仮想的な手は、実世界の手に合わせて自動的に調整されます。

タッチ操作

人差し指の先端(片手)を使用して、シーンのコンテンツ(xR の[ホーム]メニュー、タッチ センサーを備えたオブジェクト、または HTML 5 HMI 画面など)にタッチして、操作します。

xR の[VR]メニュー

xR の[ホーム]メニューを開く場合、および閉じる場合は、同じジェスチャを使用します。

[VR]メニュー

人差し指を反対側の手のひらに移動します。メニューが開きます。これで、人差し指を使用して、メニューからオプションを選択できるようになります。最初のジェスチャを繰り返して、[VR]メニューを閉じます。

[VR]メニューのジェスチャ

[VR]メニューとそのツールの詳細については、「[VR]メニュー」を参照してください。

ヒント:

手が仮想オブジェクトの前に位置していても、仮想オブジェクトによって手が遮られている場合は、[手の深度予測]を有効にします。

テレポート

テレポートするには、テレポータを開始し、円弧と矢印の向きを変更して、新しい位置に移動する必要があります。終了したら、テレポータを終了します。

テレポートを開始および終了する

テレポートを開始する場合、および終了する場合は、同じジェスチャを使用します。

手を使って、反対側の手の甲をタップします。これにより、タップされた手からテレポートが開始します。ここで、円弧の方向を変更して、テレポートします。このジェスチャを繰り返して、テレポータを終了します。

テレポートを開始する

テレポートの方向

テレポート用円弧が表示されている状態で手首を回転して、テレポータの方向を変更します。ここで、テレポートを行います。

テレポートの方向

テレポート

テレポート用円弧が現在表示されていない手の人差し指で親指をつまみます。これにより、テレポート円弧の位置と方向が承認されて、テレポートが実行されます。終了したら、テレポートを終了してツールを終了します。

テレポート

テレポートの詳細については、「テレポート」を参照してください。

レーザー ポインタ

レーザー ポインタを使用するには、レーザー ポインタを開始、実行、終了する必要があります。

レーザー ポインタを開始および終了する

テレポートを開始する場合、および終了する場合は、同じジェスチャを使用します。

手のひらをカメラの方向に向けて、親指、人差し指、中指で指し示します。ここで、レーザー ポインタを使用して対象を指し示したり、シーン コンテンツの操作をトリガしたりします。このジェスチャを繰り返して、レーザー ポインタを終了します。

レーザー ポインタを開始および終了する

レーザー ポインタを使用する

人差し指を使用して、シーンのコンテンツを指します。

レーザー ポインタで指し示す

人差し指で親指をつまんで、シーン コンテンツの操作をトリガします。たとえば、[VR]メニューからツールを選択したり、タッチ センサーをアクティブにしたり、HTML 5 HMI 画面を操作したりします。終了したら、レーザー ポインタを終了してツールを終了します。

レーザー ポインタを使用する

配置ツール

MR モードでのみ使用できます。

注:

XR のコラボレーション セッションでは、複数のユーザ間でオブジェクトの位置が同期されます。 配置ツール オブジェクトを配置し、レーザー ポインタを使用してシーンの地面に沿って移動する場合に使用します。これらのオブジェクトには、Place という名前のシーン タグ が割り当てられている必要があります。

配置ツールでオブジェクトを回転する場合は、テレポートと同様な方法を使用して、手首を回転させます。コントローラのグリップ ボタンを押すと、回転角度が 10°になる位置にスナップできます。これは、あるオブジェクトを別のオブジェクトに位置合わせする場合に使用します。オブジェクトを別のオブジェクトの上に配置することもできます。

配置するノードを準備する

MR モードでのみ使用できます。

オブジェクトを選択して MR に配置するには、最初にノードを準備する必要があります。部屋に対してオブジェクトが大きすぎたり、小さすぎたりする場合は、MR を開始する前にオブジェクトを適切なサイズにスケーリングする必要があります。

「Place」というシーン タグが付いているオブジェクトのイメージ

  1. タグを作成して、名前を Place に変更します。
  2. シーングラフで、オブジェクト ノードをこのタグにドラッグ アンド ドロップします。

配置を使用する

X モードでのみ使用できます。

続行する前に、シーンのノードにタグ付けする必要があります。この操作が完了していない場合は、「配置するノードを準備する」の手順に従ってください。

オブジェクトを MR に配置する

  1. MR をサポートする接続済みの Varjo HMD を装着し、VRED で[ビュー] > [表示] > [Varjo HMD]を選択します。Place がタグ付けされたオブジェクトが MR に表示されます。

  2. コントローラのメニュー ボタンを押して[VR]メニューを開き、配置ツール(配置)を選択します。

    [VR]メニューの[配置]アイコン

    オレンジ色にハイライト表示されている場合は、ツールが有効です。グレーの場合は、ツールが無効です。コントローラの上に、アクティブなオブジェクトと選択したオブジェクトを示すインジケータが表示されます。

  3. オブジェクトをポイントし、トリガを絞って選択したまま、仮想的な地面に沿って移動します。

  4. 手首を回転すると、アップ軸を中心にオブジェクトが回転します。このアクションは、[テレポート]ツールのアクションに似ています。

    ヒント:

    [グリップ]ボタンを押すと、10 度単位で増分する角度にスナップさせることができます。これは、オブジェクトを別のオブジェクトに位置合わせする場合に役立ちます。

ハンド トラッキングの基本設定

Varjo XR-3 ユーザのみが使用できます。

トラッキング対象の手に対して、ハンド トラッキングの有効化手の移動オフセットと回転オフセットの設定を行うためのインタラクションの基本設定を、バーチャル リアリティの基本設定に追加しました。

ヒント:

基本設定でハンド トラッキングを有効にすると、VR または MR のハンド トラッキングが自動的にアクティブになります。

インタラクションの基本設定

VR でトラッキングした手を使用

Varjo XR-3 ユーザのみが使用できます。

VR 内でハンド トラッキングが有効な場合、既定でハンド トラッキングを常に行うように設定します。トラッカーが Varjo Integrationd Ultraleap に設定されている場合は、サポートされている HMD で XR 内のハンド トラッキングも有効になります。

トラッカー

Varjo XR-3 ユーザのみが使用できます。

ハンド トラッキングに使用する既定のシステムを設定します。

移動オフセット

手をトラッキングする場合の既定の移動オフセットを設定します。この機能は、トラッキング対象の手と VR でレンダリングされた手との間のオフセットを調整するために使用します。

回転オフセット

手をトラッキングする場合の既定の回転オフセットを設定します。この機能は、トラッキング対象の手と VR でレンダリングされた手との間のオフセットを調整するために使用します。

マーカーのトラッキング

マーカー トラッキング システムは各マーカーを検出し、0.0 ~ 1.0 の範囲内の信頼度値を割り当てます。

たとえば、値が 0.9 のマーカーは、マーカーの位置と ID の正確性について 90% 信頼できることを意味します。

最小のマーカー信頼度

検出されたマーカー位置が正しいかどうかを判断するために、マーカー トラッキング システムで使用される既定の最小値を設定します。

Varjo の基本設定

既定のネイティブ フォービエイテッド レンダリングの状態、開始したモード、および手の深度を設定するための Varjo HMD 固有のオプションを [HMD]タブに追加しました。

Varjo の基本設定

ネイティブのフォービエイテッド レンダリング

視線トラッキングを有効にする必要があります。

[HMD]タブ> [Varjo]セクションで、周辺の要素のレンダリング方法について既定の状態を設定する場合に使用します。有効にすると、周辺領域の解像度(イメージ品質)は低下しますが、視線トラッキングが行われている領域は引き続き高解像度でレンダリングされます。これにより、計算量の多いマテリアルを含むシーンで作業している場合や、リアルタイム アンチエイリアシングを使用している場合は、パフォーマンスが向上します。フォービエイテッド レンダリングおよびさまざまな設定の詳細については、「 カスタム品質 」を参照してください。

既定モード

[HMD]タブ> [Varjo]セクションで、Varjo HMD の既定の表示モードを設定する場合に使用します。常に複合現実で作業する場合は、これを MR に設定します。

手の深度予測の基本設定

[HMD]タブ> [Varjo]セクションで、MR における実世界の手の既定の状態を設定する場合に使用します。有効にすると、複合現実のビデオ内で実世界の手を検出し、これらが仮想オブジェクトよりも手前にある場合は、仮想オブジェクトの前に表示します。無効にすると、実際の手がレンダリングされたオブジェクトよりも手前にある場合でも、VRED からレンダリングしたときに、実際の手は常にオクルードされます。

[手の深度予測]: オフ [手の深度予測]: オン
[手の深度予測]: オフ [手の深度予測]: オン

マーカー用の Python

これらは、カスタム バージョンのマーカー トラッキングを実装するための Python インタフェース用関数です。これらは、vrImmersiveInteractionService のドキュメントに記載されています。

createMultiMarker

vrImmersiveInteractionService.createMultiMarker(multiMarkerName, markerNames, markerType)複数の標準マーカーのポーズを平均化することによって、マルチ マーカーを作成します。

getDetectedMarkers

vrImmersiveInteractionService.getDetectedMarkers(markerType)検出されたすべてのマーカーのうち、指定したタイプのものを取得します。

getMarker

vrImmersiveInteractionService.getMarker(name, markerType) 既に検出されたマーカーを取得します。

getMinMarkerConfidence

vrImmersiveInteractionService.getMinMarkerConfidence()「setMinMarkerConfidence」も参照してください。

setMinMarkerConfidence

vrImmersiveInteractionService.setMinMarkerConfidence(confidence)最小のマーカー信頼度を設定します。信頼度が低いマーカーが検出された場合、マーカーは無視されます。更新されたデータの信頼度が低い場合、システムで既に認識されているマーカーは更新されません。

markersDetected

vrImmersiveInteractionService.markersDetected(markers)この信号は、最小のマーカー信頼度以上の信頼度を持つ新しいマーカーが検出されたときにトリガされます。

markersUpdated

vrImmersiveInteractionService.markersUpdated(markers)この信号は、最小のマーカー信頼度以上の信頼度を持つ新しいマーカーが検出されたときにトリガされます。