メインコンテンツまでスキップ
バージョン: 1.0.1

スナップ

はじめに

alt text
この機能の目的は、物理的に正しく見えるように仮想のオブジェクトを自然にキャッチすることです。この機能は、キャッチするオブジェクトに最もよく合うように手と指の回転を調整します。これらのポーズは、つまむつかむなどの選択するジェスチャーに関連付けられています。

ユーザーがオブジェクトに接触しながら選択するジェスチャーを実行すると、仮想の手が設定された通りにスナップします。

説明

XR Hand Interactable Snap Pose Provider

XR Hand Interactable Snap Pose ProviderコンポーネントをHierarchyのXR Grab Interactableオブジェクトの下に追加することで、インタラクティブなスナップポーズを提供することができます。
XR Hand Interactable Snap Pose Providerの下に、1つまたは複数の異なるスケールのXR Hand Interactable Snap Poseを作成することができます。
Snap Pose Providerは、その時のユーザーの手の大きさに基づいて、すべてのスナップポーズを補間することができます。インタラクション可能なものが掴まれたときに、その時の手の大きさで補間されたポーズが自動的にオブジェクトに適用されます。

TIP

ハンドスケールは0.5f1.6fの間でクランプされています。 alt text

XR Hand Interactable Snap Pose

スナップポーズでは、手をスナップさせるオブジェクトの正確な位置を定義することができます。

手のTransformや手の関節のRotationを編集することで、開発者は特定の手の大きさのポーズを設定できます。 手の大きさは均一である必要があり、スナップポーズのTransformScalexの値を参照します。

スナップポーズのデータはゲームオブジェクト自体にシリアライズされます。

  • [Export pose]ボタンをクリックすると、ポーズをアセットとしてエクスポートします。そのため、このポーズは他の手のポーズを設定するためのコピーとして再利用できます。
  • [Import pose]ボタンをクリックすると、手のポーズデータがゲームオブジェクトに適用され、同様にシリアライズされます。

alt text

スナップの設定方法

  1. XR Hand Interactable Snap Pose Providerオブジェクトをインタラクト可能なオブジェクトの子として追加します。Snap Pose ProviderHandednessを選択します。Snap Pose Providerを2つ、それぞれの手用に1つずつ作成し、両手のスナップを実行します。インタラクト可能なオブジェクトがつかまれたときに、スナップされていない指がある場合は、それらの指のマスクフィールドをrequiredからfreeに変更します。
TIP

片方の手のProviderとポーズを設定したら、Providerを複製し、利き手を変更し、ポーズを反転し、Tranformを調整して、もう一方の手のミラー化されたSnap Pose Providerをすばやく取得します。

  1. XR Hand Interactable Snap Pose Providerオブジェクトの下にXR Hand Interactable Snap Poseオブジェクトを追加します。
  2. 変形ツールでスナップポーズのポーズとスケールを設定し、ジョイントの編集ボタンをクリックして手のジョイントを編集します。
    alt text
WARNING

各軸に均一なスケールを使用してください。XR Hand Interactable Snap Pose Providerは、スナップポーズを並べ替えるためにScalex値のみを使用します。

  1. Posesリストにスナップポーズを追加します。
    alt text
  2. XR Hand Interactable Snap PoseScaleを変えて繰り返し追加します。
  3. XR Hand Interactable Snap Pose ProviderコンポーネントのScaleスライダーを使って大きさを変更し、ポーズ補間を見直します。
    alt text