Inverse3とVerseGripカーソル
Haply Inverse Unity Packageは、Inverse3とVerseGripデバイスに特化したカーソルコンポーネントを導入し、Unity環境内での正確なコントロールとインタラクションを可能にします。 これらのコンポーネント、Inverse3 Cursorと VerseGrip Cursorは、対応するデバイスコントローラからのデータに基づいて、ゲームオブジェクトの位置と回転を動的に調整するように設計されています。
概要
カーソルコンポーネントは、物理的なHaplyデバイスとUnityの仮想ゲームオブジェクト間のブリッジとして機能し、デバイスの位置と回転データをゲームオブジェクトの動きと向きに変換します。 この変換により、ユーザーはバーチャル環境と直感的に対話することができ、物理的な動きをバーチャルな反応に反映させることができます。
CursorBehaviour 基本クラス
カーソルコンポーネントの核となるのは CursorBehaviour
クラスで共有される基本機能を提供する。 Inverse3Cursor
そして VerseGripCursor
.
これには、デバイスの関連付け、モデルのインスタンス化、および可視性の制御の管理が含まれる。
主な特性と方法
- デバイス:実行時に自動的に設定される。
- モデルプレハブ:の子として自動的にインスタンス化されるカーソルモデルのプレハブを指定します。
ModelParent
. - ModelParent:インスタンス化されたモデルプレファブの親トランスフォームを定義します。設定されていない場合、デフォルトはカーソルのトランスフォームになります。
- モデル:シーン内の既存のカーソルモデルを直接参照する。設定すると
ModelPrefab
. - HideControllerModel:カーソルモデルの可視性を制御し、ゲームプレイの要件に基づいた動的な表示/非表示操作を可能にする。
- 半径:カーソルモデルが球体の場合、半径を表し、モデルのメッシュ境界から計算される。
注:予期せぬ動作を避けるためには、カーソル・コンポーネント内でカーソル・モデルを適切に参照することが重要です。
Haptic Rigで作成されたデフォルトのカーソルモデルは、3つの軸を表す色付きのドットが特徴です:前(青)、上(緑)、右(赤)です。 このデザインは、仮想環境内でのデバイスの向きを視覚化するのに役立ちます。キャリブレーションされたVerseGripの場合、Forwardはポインティング方向に、Upは上面に合わせます。
Inverse3カーソルコンポーネント
Inverse3Cursor
特にInverse3デバイスに対応し、デバイスの物理的な位置を反映するようにUnityのカーソルのローカル位置を更新します。
について PositionSmoothness
設定により、カーソルの動きの滑らかさを調整することができ、物理的な動きに対するカーソルの応答性を制御することで、ユーザーエクスペリエンスを向上させることができます。
VerseGripカーソルコンポーネント
VerseGripCursor
VerseGripデバイスに機能を拡張し、デバイスの物理的な回転を反映するようにUnityでカーソルの回転を更新します。
について useDeviceLocalSpace
の設定により、カーソルのアライメントをワールドまたは親オブジェクトの方向から選択できるようになり、デザインの柔軟性が高まります。
について RotationSmoothness
設定はカーソルの回転の滑らかさをコントロールし、開発者がVerseGripの物理的な向きの変化に対するカーソルの反応を微調整できるようにします。
実施内容
初期化時に、カーソルコンポーネントは指定された ModelPrefab
の子供として ModelParent
もし Model
が割り当てられていない場合、シーンでの視覚的な表現が保証される。
これらのコンポーネントは、関連する デバイスコントローラカーソルの位置と回転を物理的なデバイスの動きに合わせてリアルタイムで調整します。
両コンポーネントは、同じGameObjectにアタッチしてその位置と回転を制御することも、別々のGameObjectにアタッチして別の使用ケースを制御することも可能で、開発者はUnityで没入感のあるハプティック体験を作成するための多彩なツールセットを利用できます。