メインコンテンツへスキップ

Inverse3 VerseGrip カーソル

Haply Inverse Unity Package は、Inverse3 およびVerseGripデバイス専用のカーソルコンポーネントを導入しており、Unity環境内で精密な制御とインタラクションを実現します。Inverse3 Cursorと VerseGrip Cursorというこれら2つのコンポーネントは、対応するデバイスコントローラーから 提供されるデータに基づいて、ゲームオブジェクトの位置や回転を動的に調整するように設計されています。

概要​

カーソルコンポーネントは、物理的なHaply デバイスとUnity内の仮想ゲームオブジェクトとの間の架け橋となり、デバイスの位置や回転データをゲームオブジェクトの移動や向きに変換します。 この変換により、ユーザーは直感的な方法で仮想環境とインタラクションを行い、物理的な動作を仮想的なフィードバックとして反映させることができます。

CursorBase クラス​

カーソルコンポーネントの中核は CursorBase クラス。これは、 Inverse3Cursor 和 VerseGripCursor 共有の基本機能。 これには、デバイスの関連付けの管理、モデルのインスタンス化、および可視性の制御が含まれます。

主なプロパティとメソッド​

  • デバイス:カーソルとその制御デバイスを関連付け、実行時に自動的に設定します。
  • モデルプレハブ:指定されたカーソルモデルで使用されるプレハブ(Prefab)。このプレハブは自動的に ModelParent その子オブジェクトをインスタンス化します。
  • ModelParent:インスタンス化されたモデルプリセットの親のトランスフォーム(Transform)を定義します。設定されていない場合、デフォルトではカーソルのトランスフォームが使用されます。
  • モデル:シーン内にすでに存在するカーソルモデルを直接参照します。この項目を設定すると、 ModelPrefab のインスタンス化。
  • HideControllerModel:カーソルモデルの表示/非表示を制御し、ゲームの要件に応じて動的に表示または非表示にすることができます。
  • 半径:カーソルモデルが球体の場合、その半径を表し、モデルのメッシュのバウンディングボックスから算出されます。
  • 滑らかさ:PositionSmoothness 和 RotationSmoothness ユーザーエクスペリエンスを向上させるため、カーソルの位置や回転を滑らかにするオプションが用意されています。

注意:Cursor コンポーネントでは、カーソルモデルを正しく参照することが極めて重要です。そうしないと、予期しない動作を引き起こす可能性があります。

カーソル

Haptic Rigを使用して作成されたデフォルトのカーソルモデルには、3つの軸(Forward(青)、Up(緑)、Right(赤))をそれぞれ表す色付きのドットが付いています。 この設計により、仮想環境内でデバイスの向きを直感的に把握しやすくなります。キャリブレーション済みの VerseGrip の場合、Forwardは進行方向と、Upは上面とそれぞれ一致している必要があります。

Inverse3 Cursor コンポーネント​

Inverse3Cursor Inverse3 デバイス専用で、Unity内でカーソルのローカル位置を更新し、デバイスの実際の物理的な位置を反映させます。

PositionSmoothness カーソルの移動の滑らかさを調整するための設定で、カーソルの物理的な動きに対する反応速度を制御することで、ユーザー体験を向上させます。

VerseGrip Cursor コンポーネント​

VerseGripCursor VerseGrip デバイスに機能を拡張し、Unity 内でカーソルの回転を更新して、デバイスの実際の物理的な回転を反映させます。

useDeviceLocalSpace 世界座標と親オブジェクトの向きの中からカーソルの配置方法を選択できるように設定することで、デザインの柔軟性を高めます。

RotationSmoothness カーソルの回転を制御するための滑らかさを設定し、開発者が物理的なVerseGripの向き変化に対するカーソルの反応速度を微調整できるようにします。

実装の詳細​

初期化時に、割り当てられていない場合 Model,カーソルコンポーネントは指定された ModelPrefab として ModelParent 子オブジェクトをインスタンス化し、シーン内での可視化を確実にします。 これらのコンポーネントは、関連付けられた 機器コントローラ 同期を維持し、デバイスの物理的な動きに合わせてカーソルの位置と回転をリアルタイムで調整します。

2つのコンポーネントは、同じGameObjectにアタッチして位置と回転を同時に制御することも、異なるオブジェクトにそれぞれアタッチしてさまざまな使用シーンに対応することも可能であり、Unityで没入感のある触覚体験を構築するための多機能なツールセットを開発者に提供します。