【運動モジュール】グラブ

序文

ステーション B の VRTK4.0 チュートリアルを参照してください: L30 で掴むことができるオブジェクト

1. 主なコンポーネントとその設定

インタラクター インタラクター: グラブ アクション、速度トラッカーを設定
インタラクタブル インタラクタブル オブジェクト: 「メイン グラブ」、「セカンダリ グラブ」を設定

ヒント ① 手に掴んだ物体を投げ出すときは、初速度が必要です。初速度は速度トラッカーによって提供されます。

ヒント② 主把握と副把握とは、仮想現実インタラクションにおいてユーザが使用する主把握方法と副把握方法を指します。通常、主な把握は、オブジェクトを操作したり、他の対話型アクションを実行したりするためにユーザーが好む把握です。セカンダリ フェッチは、プライマリ フェッチが利用できない場合や不便な場合にユーザーが選択して使用できるフォールバック フェッチです。

2. ケース: 右ハンドルで立方体をつかみます。

1. RightControllerAlias 下のインタラクター 右ハンドル エイリアス:
set GrabAction: RightTrigger_Press 右ハンドル トリガー ボタンを押す
Velocity Tracker: RightControllerAlias 右ハンドル エイリアス

インタラクト可能なインタラクティブ オブジェクト: デフォルトの「プライマリ グラブ」と「セカンダリ グラブ」はどちらもカス​​タム (ユーザー定義) です。

ここに画像の説明を挿入
ここに画像の説明を挿入

2. 現時点では把握できません - メインの把握をフォローに設定する必要があります。 フォローとは、
把握されたオブジェクトがインタラクターを追跡することを意味します
ここに画像の説明を挿入

3. このとき、右ハンドルでトリガー ボタンを放しても、立方体は落下しません。理由: 操作中にエラーが発生しました。解決策: 最初につかみ、少なくとも [なし] に設定します。
ここに画像の説明を挿入

3.「二次クローリング」の5つの方法

画像の説明を追加してください
画像の説明を追加してください

1. メインのグラブはフォローで、セカンダリのグラブはなしです。たとえば、右のハンドルでオブジェクトを掴んだ後、左のハンドルでオブジェクトを掴みますが、キャッチされません。

2. メイン グラブはフォロー、セカンダリ グラブはフォローです。たとえば、右ハンドルでオブジェクトを掴んだ後、左ハンドルでオブジェクトを掴むと、オブジェクトをキャッチできますが、右ハンドルのグラブ ボタンを放すと、左側のハンドルにある物体が落ちます

3. メイン キャプチャはフォロー、二次キャプチャはスワップ (交換) です。たとえば、右ハンドルでオブジェクトを掴んだ後、左ハンドルでオブジェクトを掴むと、オブジェクトをキャッチできますが、右ハンドルのグラブ ボタンを放すと、左側のハンドルにある物体は落ちません

4. メイン キャプチャは Follow で、セカンダリ キャプチャは ControlDirection です。たとえば、右ハンドルでオブジェクトを掴んだ後、左ハンドルでオブジェクトを移動し、回転を変更できます。

5. メインのグラブはフォロー、セカンダリのグラブはスケールです。たとえば、右のハンドルでオブジェクトを掴んだ後、左のハンドルでオブジェクトを引っ張ってサイズを変更できます。

4.「インタラクティブオブジェクト」の2つの属性

パート 1、フォロートラッキング

のさまざまなオプションの違い
ここに画像の説明を挿入

1FollowTransform は Collider でオブジェクトを自由に通過できます。
2FollowRigidbody の衝突は通過できません
。 3FollowRigidbodyForceRotate エフェクトはハンドルと掴んだオブジェクトが輪ゴムで結ばれているようなものです。 Grab Offset を同時に変更することに注意してください。次の 2 つの項目は可能です。なれ
ここに画像の説明を挿入
画像の説明を追加してください

4FollowTransformPositionDiffrenceRotation ハンドルがオブジェクトの周囲を旋回し、オブジェクトが追従します(ただし画像の説明を追加してください
掴むことはできません) 5FollowRotateAroundAngularVelocity ハンドルを振ると、オブジェクトは特定の軸を中心に回転します(すべての軸が確認できます)
例は下図に示します - 回転のみY軸周り
ここに画像の説明を挿入

画像の説明を追加してください

2 番目の部分、グラブ オフセット

画像の説明を追加してください
None/OrientationHandle の場合、デフォルトのグラブ ポイントは「Interactor」の GrabAttachPoint です (下の図 1)。
PrecisionPoint/ForcePrecisionPoint は、「Interactor」の PrecisionAttachPoint (下の図 2) (PrecisionPoint と ForcePrecisionPoint の違いはそのままです)
ここに画像の説明を挿入
ここに画像の説明を挿入

5. グラブポイントの位置を変更する

1. インタラクター内のグラブポイント GrabAttachPoint の位置
(GrabOffset のグラブ オフセットが None または OrientationHandle の場合)
、または
グラブ ポイントの PrecisionAttachPoint の位置 (GrabOffset のグラブ オフセットが PrecisionPoint または ForcePrecisionPoint の場合)
例: ハンドルのグラブビュー内 オブジェクトを取得する場合、(下の図に示すように) オブジェクトがオブジェクトに正確に適合するとは限りません。適合するように GrabAttachPoint の位置を変更できます。
ここに画像の説明を挿入
ここに画像の説明を挿入

2. インタラクティブ オブジェクトを変更します。
他のグラブ可能オブジェクトがハンドルにうまく適合する場合、現在のオブジェクトだけが適切に適合しません。現在の「インタラクティブ オブジェクト」内の対応する点の位置のみを変更できます。例: GrabOffset がハンドルに適合する
場合orientationHandle である場合、その下の ShowOrientationContainer ボタンを使用して対応するポイントを見つけて、それを変更できます。
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_42935398/article/details/132623733