Documentation

ContactGloveComponent

DevicePriority

ContactGloveComponent が参照するデバイスの優先順位です。 DivingStationに複数のデバイスが接続されている場合、First から Sixth までの最大6台分から参照先を選択します。

優先順位は、DivingStationから受信したデバイスIDに対して自動的に割り当てられます。 基本的には受信した順に空いている優先順位へ登録され、DivingStation側でメインデバイスとして通知されたデバイスは First に割り当てられます。 デバイスIDを直接指定して固定する機能ではありません。

Send Vibration

グローブを振動させます。

sendvibration.jpg

Inputs

nametypedescription
HandEHandSides振動させる手
Frequencyfloat振動の周波数
Amplitudefloat振動の強さ
Durationfloat振動の長さ

Set Haptics

触覚状態を設定します。

sethaptics.jpg

Section で指定した指の触覚状態を内部的に有効 / 無効にします。 現在の実装では、いずれかの触覚状態が有効な手に対して、既定の周波数・強度・長さで振動を送信します。

⚠️注意 この関数は、法人向け販売の触覚モジュール搭載モデルでのみ使用可能です。 通常のモデルでは、SetVibration による振動のみがサポートされています。

Inputs

nametypedescription
HandEHandSides触覚状態を設定する手
SectionEColliderSectionどの指の触覚状態を設定するか
Enablebool有効にするかどうか

Get Controller Data

コントローラの情報を取得します。

getcontrollerdata.jpg

Inputs

nametypedescription
HandEHandSides取得する手

Outputs

nametypedescription
Return ValueFControllerInputコントローラ情報

Get Flex Data

指の曲げ具合と外転値の情報を取得します。

getflexdata.jpg

Inputs

nametypedescription
HandEHandSides取得する手

Outputs

nametypedescription
Return ValueFHandPose指の曲げ具合と外転値の情報

Get Wrist Pose

手首の姿勢情報を取得します。

Inputs

nametypedescription
HandEHandSides取得する手

Outputs

nametypedescription
Return ValueFWristPose手首の姿勢情報

Get Device Info

デバイス情報を取得します。

Outputs

nametypedescription
Return ValueFDeviceInfoデバイス情報

Set Device Priority

ContactGloveComponent が参照するデバイスの優先順位を設定します。

Inputs

nametypedescription
NewDevicePriorityEDevicePriority新しく参照するデバイス優先順位

Get Device Priority

ContactGloveComponent が現在参照しているデバイスの優先順位を取得します。

Outputs

nametypedescription
Return ValueEDevicePriority現在参照しているデバイス優先順位

On Controller Data

コントローラの情報が更新された時に呼ばれるイベントです。

oncontroller.jpg

Outputs

nametypedescription
ControllerDataFControllerInputコントローラ情報

On Left Controller Received

左手のコントローラ情報が更新された時に呼ばれるイベントです。

Outputs

nametypedescription
ControllerDataFControllerInput左手のコントローラ情報

On Right Controller Received

右手のコントローラ情報が更新された時に呼ばれるイベントです。

Outputs

nametypedescription
ControllerDataFControllerInput右手のコントローラ情報

On Left Flex Data

左手の指の曲げ具合と外転値の情報が更新された時に呼ばれるイベントです。

onleftflex.jpg

Outputs

nametypedescription
FlexDataFHandPose曲げ具合と外転値の情報

On Right Flex Data

右手の指の曲げ具合と外転値の情報が更新された時に呼ばれるイベントです。

onrightflex.jpg

Outputs

nametypedescription
FlexDataFHandPose曲げ具合と外転値の情報

On Left Wrist Received

左手の手首姿勢が更新された時に呼ばれるイベントです。

Outputs

nametypedescription
WristPoseFWristPose左手の手首姿勢

On Right Wrist Received

右手の手首姿勢が更新された時に呼ばれるイベントです。

Outputs

nametypedescription
WristPoseFWristPose右手の手首姿勢

On Device Data Received

DivingStationからデバイス情報を受信した時に呼ばれるイベントです。

Outputs

nametypedescription
DeviceInfoFDeviceInfoデバイス情報

On Controller Button Pressed

コントローラのボタンが押された時に呼ばれるイベントです。

onbuttonpressed.jpg

Outputs

nametypedescription
HandEHandSides左手か右手か
ButtonEControllerBoolInputType押されたボタン

On Controller Button Released

コントローラのボタンが離された時に呼ばれるイベントです。

onbuttonreleased.jpg

Outputs

nametypedescription
HandEHandSides左手か右手か
ButtonEControllerBoolInputType離されたボタン

ContactGloveHapticsHandler

ContactGloveHapticsHandler は、手のボーン位置に追従する Sphere Collider によって衝突を検出し、衝突中の EColliderSection に対して Set Haptics と同じ触覚状態を更新する Actor です。

Details パネルの HapticsHandler > Enabled、または Blueprint の Set Haptics Handler Enabled ノードで有効 / 無効を切り替えられます。 無効化すると、その Handler が担当する手の触覚状態をすべて OFF にします。

EHandSides

左手か右手かを表す列挙型です。

nametypedescription
LeftEHandSides左手
RightEHandSides右手

EDevicePriority

DivingStationから受信したデバイスIDに対してSDKが割り当てる優先順位です。 ContactGloveComponent.DevicePriority、Set Device Priority、Get Device Priority で使用します。

nametypedescription
FirstEDevicePriority1番目のデバイス。DivingStation側でメインデバイスとして通知されたデバイスはここに割り当てられます
SecondEDevicePriority2番目のデバイス
ThirdEDevicePriority3番目のデバイス
FourthEDevicePriority4番目のデバイス
FifthEDevicePriority5番目のデバイス
SixthEDevicePriority6番目のデバイス

EColliderSection

Set Haptics と ContactGloveHapticsHandler で対象にする指先セクションを表す列挙型です。 指別の触覚モジュールは、触覚モジュール搭載モデルでのみ利用できます。

nametypedescription
ThumbDistalEColliderSection親指の第一関節
IndexDistalEColliderSection人差し指の第一関節
MiddleDistalEColliderSection中指の第一関節
RingDistalEColliderSection薬指の第一関節

EControllerBoolInputType

コントローラーのボタンを表す列挙型です。

nametypedescription
AEControllerBoolInputTypeAボタン
BEControllerBoolInputTypeBボタン
HomeEControllerBoolInputTypeHomeボタン
JoystickButtonEControllerBoolInputTypeジョイスティック
TrackpadTouchEControllerBoolInputTypeトラックパッド

EButtonState

コントローラー入力の状態を表す列挙型です。

nametypedescription
IdleEButtonState入力されていない状態
TouchedEButtonStateタッチされている状態
PressedEButtonState押されている状態

FControllerInput

コントローラーの情報を表す構造体です。

nametypedescription
bIsValidbool有効なデータかどうか
HandEHandSidesコントローラーの手
AboolAボタンが押されているか
BboolBボタンが押されているか
HomeboolHome / System が入力されているか
SystemboolSystem が入力されているか。現在は Home と同じ値
TriggerButtonboolトリガーボタンが入力されているか
JoystickButtonboolジョイスティックが押されているか
TrackpadTouchboolトラックパッドがタッチされているか
TrackpadButtonboolトラックパッドボタンが入力されているか。現在は TrackpadTouch と同じ値
AStateEButtonStateAボタンの状態。無入力時は Idle
BStateEButtonStateBボタンの状態。無入力時は Idle
SystemStateEButtonStateSystem / Home ボタンの状態。無入力時は Idle
TriggerButtonStateEButtonStateトリガーボタンの状態。無入力時は Idle
JoystickButtonStateEButtonStateジョイスティックボタンの状態。無入力時は Idle
TrackpadButtonStateEButtonStateトラックパッドボタンの状態。無入力時は Idle
Triggerfloatトリガーの値。値域は 0.0〜1.0。無入力時は 0.0
GripValuefloatグリップの値。値域は 0.0〜1.0。無入力時は 0.0
GripForcefloatグリップの力。値域は 0.0〜1.0。無入力時は 0.0
JoystickXfloatジョイスティックのX軸の値。値域は -1.0〜1.0。無入力時は 0.0
JoystickYfloatジョイスティックのY軸の値。値域は -1.0〜1.0。無入力時は 0.0
TrackpadXfloatトラックパッドのX軸の値。値域は -1.0〜1.0。無入力時は 0.0
TrackpadYfloatトラックパッドのY軸の値。値域は -1.0〜1.0。無入力時は 0.0

FControllerInput の float 値は DivingStation から受信した値をそのまま保持します。 SDK側では値のクランプは行いません。

FWristPose

手首の姿勢情報を表す構造体です。

nametypedescription
HandEHandSides手
RotationFQuat手首の回転

FDeviceInfo

デバイス情報を表す構造体です。

nametypedescription
DeviceIDFStringデバイスID
IsMainDeviceboolDivingStation側でメインデバイスとして扱われているか
DeviceTypeEDeviceTypeデバイスの種類
DeviceNameFStringデバイス名
DeviceColorEDeviceColorデバイスのLEDカラー
Pingfloatドングルとの通信遅延
IsLeftConnectedbool左手デバイスが接続されているか
LeftBatteryint左手デバイスのバッテリー残量
LeftPingfloat左手デバイスとの通信遅延
IsRightConnectedbool右手デバイスが接続されているか
RightBatteryint右手デバイスのバッテリー残量
RightPingfloat右手デバイスとの通信遅延

FHandPose

指の曲げ具合と外転値を表す構造体です。 曲げ具合は 0.0〜1.0 の正規化値です。 外転値は DSP の /DS/HC/Hand で受信する tilt 値で、デフォルト状態を 0 度とした角度です。 SDK は外転値をクランプ、正規化、度数変換せず、DivingStation から受信した値をそのまま保持します。

nametypedescription
HandEHandSides手
ThumbFThumbPose親指の曲げ具合と外転値
IndexFFingerPose人差し指の曲げ具合と外転値
MiddleFFingerPose中指の曲げ具合と外転値
RingFFingerPose薬指の曲げ具合と外転値
LittleFFingerPose小指の曲げ具合と外転値

FFingerPose

親指以外の指の曲げ具合と外転値を表す構造体です。

nametypedescription
McpfloatMP関節の曲げ具合。値域は 0.0〜1.0
PipfloatPIP関節の曲げ具合。値域は 0.0〜1.0
DipfloatDIP関節の曲げ具合。値域は 0.0〜1.0
McpAbductionfloatMP関節の外転値。デフォルト状態を 0 度とした角度

FThumbPose

親指の曲げ具合と外転値を表す構造体です。

nametypedescription
CmcfloatCM関節の曲げ具合。値域は 0.0〜1.0
McpfloatMP関節の曲げ具合。値域は 0.0〜1.0
IpfloatIP関節の曲げ具合。値域は 0.0〜1.0
CmcAbductionfloatCM関節の外転値。デフォルト状態を 0 度とした角度