Documentation
ContactGloveComponent
DevicePriority
ContactGloveComponent が参照するデバイスの優先順位です。
DivingStationに複数のデバイスが接続されている場合、First から Sixth までの最大6台分から参照先を選択します。
優先順位は、DivingStationから受信したデバイスIDに対して自動的に割り当てられます。
基本的には受信した順に空いている優先順位へ登録され、DivingStation側でメインデバイスとして通知されたデバイスは First に割り当てられます。
デバイスIDを直接指定して固定する機能ではありません。
Send Vibration
グローブを振動させます。

Inputs
| name | type | description |
|---|---|---|
| Hand | EHandSides | 振動させる手 |
| Frequency | float | 振動の周波数 |
| Amplitude | float | 振動の強さ |
| Duration | float | 振動の長さ |
Set Haptics
触覚状態を設定します。

Section で指定した指の触覚状態を内部的に有効 / 無効にします。
現在の実装では、いずれかの触覚状態が有効な手に対して、既定の周波数・強度・長さで振動を送信します。
⚠️注意 この関数は、法人向け販売の触覚モジュール搭載モデルでのみ使用可能です。 通常のモデルでは、
SetVibrationによる振動のみがサポートされています。
Inputs
| name | type | description |
|---|---|---|
| Hand | EHandSides | 触覚状態を設定する手 |
| Section | EColliderSection | どの指の触覚状態を設定するか |
| Enable | bool | 有効にするかどうか |
Get Controller Data
コントローラの情報を取得します。

Inputs
| name | type | description |
|---|---|---|
| Hand | EHandSides | 取得する手 |
Outputs
| name | type | description |
|---|---|---|
| Return Value | FControllerInput | コントローラ情報 |
Get Flex Data
指の曲げ具合と外転値の情報を取得します。

Inputs
| name | type | description |
|---|---|---|
| Hand | EHandSides | 取得する手 |
Outputs
| name | type | description |
|---|---|---|
| Return Value | FHandPose | 指の曲げ具合と外転値の情報 |
Get Wrist Pose
手首の姿勢情報を取得します。
Inputs
| name | type | description |
|---|---|---|
| Hand | EHandSides | 取得する手 |
Outputs
| name | type | description |
|---|---|---|
| Return Value | FWristPose | 手首の姿勢情報 |
Get Device Info
デバイス情報を取得します。
Outputs
| name | type | description |
|---|---|---|
| Return Value | FDeviceInfo | デバイス情報 |
Set Device Priority
ContactGloveComponent が参照するデバイスの優先順位を設定します。
Inputs
| name | type | description |
|---|---|---|
| NewDevicePriority | EDevicePriority | 新しく参照するデバイス優先順位 |
Get Device Priority
ContactGloveComponent が現在参照しているデバイスの優先順位を取得します。
Outputs
| name | type | description |
|---|---|---|
| Return Value | EDevicePriority | 現在参照しているデバイス優先順位 |
On Controller Data
コントローラの情報が更新された時に呼ばれるイベントです。

Outputs
| name | type | description |
|---|---|---|
| ControllerData | FControllerInput | コントローラ情報 |
On Left Controller Received
左手のコントローラ情報が更新された時に呼ばれるイベントです。
Outputs
| name | type | description |
|---|---|---|
| ControllerData | FControllerInput | 左手のコントローラ情報 |
On Right Controller Received
右手のコントローラ情報が更新された時に呼ばれるイベントです。
Outputs
| name | type | description |
|---|---|---|
| ControllerData | FControllerInput | 右手のコントローラ情報 |
On Left Flex Data
左手の指の曲げ具合と外転値の情報が更新された時に呼ばれるイベントです。

Outputs
| name | type | description |
|---|---|---|
| FlexData | FHandPose | 曲げ具合と外転値の情報 |
On Right Flex Data
右手の指の曲げ具合と外転値の情報が更新された時に呼ばれるイベントです。

Outputs
| name | type | description |
|---|---|---|
| FlexData | FHandPose | 曲げ具合と外転値の情報 |
On Left Wrist Received
左手の手首姿勢が更新された時に呼ばれるイベントです。
Outputs
| name | type | description |
|---|---|---|
| WristPose | FWristPose | 左手の手首姿勢 |
On Right Wrist Received
右手の手首姿勢が更新された時に呼ばれるイベントです。
Outputs
| name | type | description |
|---|---|---|
| WristPose | FWristPose | 右手の手首姿勢 |
On Device Data Received
DivingStationからデバイス情報を受信した時に呼ばれるイベントです。
Outputs
| name | type | description |
|---|---|---|
| DeviceInfo | FDeviceInfo | デバイス情報 |
On Controller Button Pressed
コントローラのボタンが押された時に呼ばれるイベントです。

Outputs
| name | type | description |
|---|---|---|
| Hand | EHandSides | 左手か右手か |
| Button | EControllerBoolInputType | 押されたボタン |
On Controller Button Released
コントローラのボタンが離された時に呼ばれるイベントです。

Outputs
| name | type | description |
|---|---|---|
| Hand | EHandSides | 左手か右手か |
| Button | EControllerBoolInputType | 離されたボタン |
ContactGloveHapticsHandler
ContactGloveHapticsHandler は、手のボーン位置に追従する Sphere Collider によって衝突を検出し、衝突中の EColliderSection に対して Set Haptics と同じ触覚状態を更新する Actor です。
Details パネルの HapticsHandler > Enabled、または Blueprint の Set Haptics Handler Enabled ノードで有効 / 無効を切り替えられます。
無効化すると、その Handler が担当する手の触覚状態をすべて OFF にします。
EHandSides
左手か右手かを表す列挙型です。
| name | type | description |
|---|---|---|
| Left | EHandSides | 左手 |
| Right | EHandSides | 右手 |
EDevicePriority
DivingStationから受信したデバイスIDに対してSDKが割り当てる優先順位です。
ContactGloveComponent.DevicePriority、Set Device Priority、Get Device Priority で使用します。
| name | type | description |
|---|---|---|
| First | EDevicePriority | 1番目のデバイス。DivingStation側でメインデバイスとして通知されたデバイスはここに割り当てられます |
| Second | EDevicePriority | 2番目のデバイス |
| Third | EDevicePriority | 3番目のデバイス |
| Fourth | EDevicePriority | 4番目のデバイス |
| Fifth | EDevicePriority | 5番目のデバイス |
| Sixth | EDevicePriority | 6番目のデバイス |
EColliderSection
Set Haptics と ContactGloveHapticsHandler で対象にする指先セクションを表す列挙型です。
指別の触覚モジュールは、触覚モジュール搭載モデルでのみ利用できます。
| name | type | description |
|---|---|---|
| ThumbDistal | EColliderSection | 親指の第一関節 |
| IndexDistal | EColliderSection | 人差し指の第一関節 |
| MiddleDistal | EColliderSection | 中指の第一関節 |
| RingDistal | EColliderSection | 薬指の第一関節 |
EControllerBoolInputType
コントローラーのボタンを表す列挙型です。
| name | type | description |
|---|---|---|
| A | EControllerBoolInputType | Aボタン |
| B | EControllerBoolInputType | Bボタン |
| Home | EControllerBoolInputType | Homeボタン |
| JoystickButton | EControllerBoolInputType | ジョイスティック |
| TrackpadTouch | EControllerBoolInputType | トラックパッド |
EButtonState
コントローラー入力の状態を表す列挙型です。
| name | type | description |
|---|---|---|
| Idle | EButtonState | 入力されていない状態 |
| Touched | EButtonState | タッチされている状態 |
| Pressed | EButtonState | 押されている状態 |
FControllerInput
コントローラーの情報を表す構造体です。
| name | type | description |
|---|---|---|
| bIsValid | bool | 有効なデータかどうか |
| Hand | EHandSides | コントローラーの手 |
| A | bool | Aボタンが押されているか |
| B | bool | Bボタンが押されているか |
| Home | bool | Home / System が入力されているか |
| System | bool | System が入力されているか。現在は Home と同じ値 |
| TriggerButton | bool | トリガーボタンが入力されているか |
| JoystickButton | bool | ジョイスティックが押されているか |
| TrackpadTouch | bool | トラックパッドがタッチされているか |
| TrackpadButton | bool | トラックパッドボタンが入力されているか。現在は TrackpadTouch と同じ値 |
| AState | EButtonState | Aボタンの状態。無入力時は Idle |
| BState | EButtonState | Bボタンの状態。無入力時は Idle |
| SystemState | EButtonState | System / Home ボタンの状態。無入力時は Idle |
| TriggerButtonState | EButtonState | トリガーボタンの状態。無入力時は Idle |
| JoystickButtonState | EButtonState | ジョイスティックボタンの状態。無入力時は Idle |
| TrackpadButtonState | EButtonState | トラックパッドボタンの状態。無入力時は Idle |
| Trigger | float | トリガーの値。値域は 0.0〜1.0。無入力時は 0.0 |
| GripValue | float | グリップの値。値域は 0.0〜1.0。無入力時は 0.0 |
| GripForce | float | グリップの力。値域は 0.0〜1.0。無入力時は 0.0 |
| JoystickX | float | ジョイスティックのX軸の値。値域は -1.0〜1.0。無入力時は 0.0 |
| JoystickY | float | ジョイスティックのY軸の値。値域は -1.0〜1.0。無入力時は 0.0 |
| TrackpadX | float | トラックパッドのX軸の値。値域は -1.0〜1.0。無入力時は 0.0 |
| TrackpadY | float | トラックパッドのY軸の値。値域は -1.0〜1.0。無入力時は 0.0 |
FControllerInput の float 値は DivingStation から受信した値をそのまま保持します。
SDK側では値のクランプは行いません。
FWristPose
手首の姿勢情報を表す構造体です。
| name | type | description |
|---|---|---|
| Hand | EHandSides | 手 |
| Rotation | FQuat | 手首の回転 |
FDeviceInfo
デバイス情報を表す構造体です。
| name | type | description |
|---|---|---|
| DeviceID | FString | デバイスID |
| IsMainDevice | bool | DivingStation側でメインデバイスとして扱われているか |
| DeviceType | EDeviceType | デバイスの種類 |
| DeviceName | FString | デバイス名 |
| DeviceColor | EDeviceColor | デバイスのLEDカラー |
| Ping | float | ドングルとの通信遅延 |
| IsLeftConnected | bool | 左手デバイスが接続されているか |
| LeftBattery | int | 左手デバイスのバッテリー残量 |
| LeftPing | float | 左手デバイスとの通信遅延 |
| IsRightConnected | bool | 右手デバイスが接続されているか |
| RightBattery | int | 右手デバイスのバッテリー残量 |
| RightPing | float | 右手デバイスとの通信遅延 |
FHandPose
指の曲げ具合と外転値を表す構造体です。
曲げ具合は 0.0〜1.0 の正規化値です。
外転値は DSP の /DS/HC/Hand で受信する tilt 値で、デフォルト状態を 0 度とした角度です。
SDK は外転値をクランプ、正規化、度数変換せず、DivingStation から受信した値をそのまま保持します。
| name | type | description |
|---|---|---|
| Hand | EHandSides | 手 |
| Thumb | FThumbPose | 親指の曲げ具合と外転値 |
| Index | FFingerPose | 人差し指の曲げ具合と外転値 |
| Middle | FFingerPose | 中指の曲げ具合と外転値 |
| Ring | FFingerPose | 薬指の曲げ具合と外転値 |
| Little | FFingerPose | 小指の曲げ具合と外転値 |
FFingerPose
親指以外の指の曲げ具合と外転値を表す構造体です。
| name | type | description |
|---|---|---|
| Mcp | float | MP関節の曲げ具合。値域は 0.0〜1.0 |
| Pip | float | PIP関節の曲げ具合。値域は 0.0〜1.0 |
| Dip | float | DIP関節の曲げ具合。値域は 0.0〜1.0 |
| McpAbduction | float | MP関節の外転値。デフォルト状態を 0 度とした角度 |
FThumbPose
親指の曲げ具合と外転値を表す構造体です。
| name | type | description |
|---|---|---|
| Cmc | float | CM関節の曲げ具合。値域は 0.0〜1.0 |
| Mcp | float | MP関節の曲げ具合。値域は 0.0〜1.0 |
| Ip | float | IP関節の曲げ具合。値域は 0.0〜1.0 |
| CmcAbduction | float | CM関節の外転値。デフォルト状態を 0 度とした角度 |