Blueprints
UBhapticsSDK2 から生成されました。
すべてのノードの Target は "Bhaptics SDK2" です。
イベント駆動ハプティックの再生関数
Designer/Portal で作成した特定のハプティックイベントにバインドされたハプティックパターンを再生します。これらの関数の使用を強く推奨します。
Play Haptic

ハプティックイベントを再生します。ハプティックイベントを呼び出す最も基本的な方法です。すべてのハプティックイベント呼び出し関数の中でオーバーヘッドが最も低いです。
入力
| タイプ | 名前 | 説明 |
|---|---|---|
| exec | In | |
| String | Event Id | 再生したいハプティックイベントの名前です。 |
出力
| タイプ | 名前 | 説明 |
|---|---|---|
| exec | Out | |
| Integer | Return Value | Request ID です。Request ID を使用してハプティックを停止できます。返却に失敗すると -1 を返します。 |
Play Haptic With Option

ハプティックの強さ、Duration、方向を調整しながらハプティックイベントを再生します。
入力
| タイプ | 名前 | 説明 |
|---|---|---|
| exec | In | |
| String | Event Id | 再生したいハプティックイベントの名前です。 |
| Float | Intensity | ハプティック Intensity にこの値が掛けられます。 |
| Float | Duration | ハプティック Duration にこの値が掛けられます。 |
| Float | Angle X | グローバルな Vector3.up を中心にハプティックを反時計回りに回転します。有効範囲: [0.0f - 360.0f] |
| Float | Offset Y | ハプティックを上または下に移動します。有効範囲: [-0.5f - 0.5f] |
出力
| タイプ | 名前 | 説明 |
|---|---|---|
| exec | Out | |
| Integer | Return Value | Request ID です。Request ID を使用してハプティックを停止できます。返却に失敗すると -1 を返します。 |
Play Haptic With StartTime

指定した開始位置から、ハプティックの強さ、Duration、方向を調整しながらハプティックイベントを再生します。
入力
| タイプ | 名前 | 説明 |
|---|---|---|
| exec | In | |
| String | Event Id | 再生したいハプティックイベントの名前です。 |
| Integer | Start Millis | 再生を開始する位置で、ミリ秒単位です。イベントの先頭の Start Millis ミリ秒がスキップされます(再生前の遅延ではなく、開始 Offset です)。Windows/macOS/Android only. |
| Float | Intensity | ハプティック Intensity にこの値が掛けられます。 |
| Float | Duration | ハプティック Duration にこの値が掛けられます。 |
| Float | Angle X | グローバルな Vector3.up を中心にハプティックを反時計回りに回転します。有効範囲: [0.0f - 360.0f] |
| Float | Offset Y | ハプティックを上または下に移動します。有効範囲: [-0.5f - 0.5f] |
出力
| タイプ | 名前 | 説明 |
|---|---|---|
| exec | Out | |
| Integer | Return Value | Request ID です。Request ID を使用してハプティックを停止できます。返却に失敗すると -1 を返します。 |
Play Loop

ハプティックを繰り返し再生します。さらに、PlayHapticWithOption 関数のように、ハプティックの強さ、Duration、方向を調整できます。
入力
| タイプ | 名前 | 説明 |
|---|---|---|
| exec | In | |
| String | Event Id | 再生したいハプティックイベントの名前です。 |
| Float | Intensity | ハプティック Intensity にこの値が掛けられます。 |
| Float | Duration | ハプティック Duration にこの値が掛けられます。 |
| Float | Angle X | グローバルな Vector3.up を中心にハプティックを反時計回りに回転します。有効範囲: [0.0f - 360.0f] |
| Float | Offset Y | ハプティックを上または下に移動します。有効範囲: [-0.5f - 0.5f] |
| Integer | Interval | ループ間の時間間隔で、ミリ秒単位です。 |
| Integer | Max Count | ループ回数です。 |
出力
| タイプ | 名前 | 説明 |
|---|---|---|
| exec | Out | |
| Integer | Return Value | Request ID です。Request ID を使用してハプティックを停止できます。返却に失敗すると -1 を返します。 |
ハプティック直接再生関数
新しいイベントを作成せずにハプティックを再生したい場合は、これらの関数を使用してください。
Play Dot

特定のハプティックアクチュエータでハプティックフィードバックを再生します。イベントを作成せずにこの関数を使用できます。
入力
| タイプ | 名前 | 説明 |
|---|---|---|
| exec | In | |
| Integer | Position | ハプティックデバイスの種類です。 |
| Array of Integers | Motor Values | デバイスのモーター数に合わせて配列の長さを指定します。配列の値はモーターの Intensity を意味します。配列内の各値の有効範囲: [0 - 100] |
| Float | Seconds | ハプティックの Duration で、秒単位です。0.1f 以上を推奨します。 |
-
Position
値 デバイス 0 TactSuit Pro 1 TactSleeve(Left) 2 TactSleeve(Right) 3 TactVisor 4 Tactosy for Hands(Left) 5 Tactosy for Hands(Right) 6 Tactosy for Feet(Left) 7 Tactosy for Feet(Right) 8 TactGlove(Left) 9 TactGlove(Right)
出力
| タイプ | 名前 | 説明 |
|---|---|---|
| exec | Out | |
| Integer | Return Value | Request ID です。Request ID を使用してハプティックを停止できます。返却に失敗すると -1 を返します。 |
Play Path

特定の座標の周囲でハプティックを再生します。詳細は C++ API リファレンスを参照してください。
[TactGlove DK3] Play Path は DK3 グローブの手首 voice-coil motor(VCM)を駆動しません。
入力
| タイプ | 名前 | 説明 |
|---|---|---|
| exec | In | |
| Integer | Position | ハプティックデバイスの種類です。 |
| Array of Floats | X | X 座標を指定します。配列内の各値の有効範囲: [0.0f - 1.0f] |
| Array of Floats | Y | Y 座標を指定します。配列内の各値の有効範囲: [0.0f - 1.0f] |
| Array of Integers | Motor Values | デバイスのモーター数に合わせて配列の長さを指定します。配列の値はモーターの Intensity を意味します。配列内の各値の有効範囲: [0 - 100] |
| Float | Seconds | ハプティックの Duration で、秒単位です。0.1f 以上を推奨します。 |
-
Position
値 デバイス 0 TactSuit Pro 1 TactSleeve(Left) 2 TactSleeve(Right) 3 TactVisor 4 Tactosy for Hands(Left) 5 Tactosy for Hands(Right) 6 Tactosy for Feet(Left) 7 Tactosy for Feet(Right) 8 TactGlove(Left) 9 TactGlove(Right)
出力
| タイプ | 名前 | 説明 |
|---|---|---|
| exec | Out | |
| Integer | Return Value | Request ID です。Request ID を使用してハプティックを停止できます。返却に失敗すると -1 を返します。 |
Play Waveform

TactGlove 専用。 TactGlove でハプティックを再生します。"Play Dot" を使用する場合と異なり、ハプティック Duration と振動 Intensity の変化を細かく調整できます。これにより、ハプティックフィードバックをより繊細に表現できます。
各配列は 6 個(TactGlove DK2)または 8 個(TactGlove DK3)の要素を持つ必要があり、3 つの配列の長さがすべて同じでなければなりません。
入力
| タイプ | 名前 | 説明 |
|---|---|---|
| exec | In | |
| Integer | Position | ハプティックデバイスの種類です。 |
| Array of Integers | Motor Intensities | モーター Intensity の配列です。その長さは TactGlove のモーター数と一致する必要があります。6 個(TactGlove DK2)または 8 個(TactGlove DK3)です。配列内の各値の有効範囲: [0 - 100] |
| Array of EBhapticsGlovePlayTime Enums | Play Time Values | Motor Intensities と長さが同じ配列(DK2 は 6 個、DK3 は 8 個)で、各要素は作動の時間間隔を表し、時間は EBhapticsGlovePlayTime enum で定義されます。 |
| Array of EBhapticsGloveShapeValue Enums | Shape Values | Motor Intensities と長さが同じ配列(DK2 は 6 個、DK3 は 8 個)で、各要素は時間に応じたハプティック Intensity の変化の形を表し、EBhapticsGloveShapeValue enum で指定されます。 |
| Integer | Frequency | [TactGlove DK3 only] DK3 グローブ自体のアクチュエータの振動周波数で、Hz 単位です。デフォルトは 80 です。DK2 グローブや汎用(non-Windows/macOS)パスには影響しません。Windows/macOS only. |
| Integer | Repeat Count | ウェイブフォームを繰り返す回数で、1 から始まります。0 の場合は一度だけ再生します。Windows/macOS only. |
-
Position
値 デバイス 8 TactGlove(Left) 9 TactGlove(Right) -
Motor Intensities
配列インデックス モーターの位置… 0 親指の先 1 人差し指の先 2 中指の先 3 薬指の先 4 小指の先 5 手首 6 手のひら(親指側) 7 手のひら(小指側) -
Play Time Values
値 Duration 同じ値… EBhapticsGlovePlayTime::None なし 0 EBhapticsGlovePlayTime::FiveMS 5ms 1 EBhapticsGlovePlayTime::TenMS 10ms 2 EBhapticsGlovePlayTime::TwentyMS 20ms 4 EBhapticsGlovePlayTime::ThirtyMS 30ms 6 EBhapticsGlovePlayTime::FortyMS 40ms 8 -
Shape Values
値 ウェイブフォーム 同じ値… EBhapticsGloveShapeValue::Constant Duration の間、一定の Intensity 0 EBhapticsGloveShapeValue::Decreasing 指定した Intensity で始まり、半分まで減少 1 EBhapticsGloveShapeValue::Increasing 指定した Intensity の半分で始まり、指定した Intensity まで増加します。 2
出力
| タイプ | 名前 | 説明 |
|---|---|---|
| exec | Out | |
| Integer | Return Value | Request ID です。Request ID を使用してハプティックを停止できます。返却に失敗すると -1 を返します。 |
その他の関数
Stop Haptic By Event Id

Event ID でハプティックイベントを停止します。停止の成否を返します。
入力
| タイプ | 名前 | 説明 |
|---|---|---|
| exec | In | |
| String | Event Id | 停止したいハプティックイベントの名前です。 |
出力
| タイプ | 名前 | 説明 |
|---|---|---|
| exec | Out | |
| Boolean | Return Value | 停止の成否です。 |
Stop Haptic By Request Id

ハプティックを実行する関数の戻り値である Request ID を使用して、ハプティックイベントを停止します。停止の成否を返します。
入力
| タイプ | 名前 | 説明 |
|---|---|---|
| exec | In | |
| Integer | Request Id | 停止したい再生中のハプティックイベントの Request ID です。 |
出力
| タイプ | 名前 | 説明 |
|---|---|---|
| exec | Out | |
| Boolean | Return Value | 停止の成否です。 |
Stop Haptic

現在再生中のすべてのハプティックを停止します。停止の成否を返します。
入力
| タイプ | 名前 | 説明 |
|---|---|---|
| exec | In |
出力
| タイプ | 名前 | 説明 |
|---|---|---|
| exec | Out | |
| Boolean | Return Value | 停止の成否です。 |
Pause Haptic By Event Id

Event ID でハプティックイベントを一時停止します。再生位置が保持されるため、後で "Resume Haptic By Event Id" で続けて再生できます。
入力
| タイプ | 名前 | 説明 |
|---|---|---|
| exec | In | |
| String | Event Id | 一時停止したいハプティックイベントの名前です。 |
出力
| タイプ | 名前 | 説明 |
|---|---|---|
| exec | Out |
Resume Haptic By Event Id

"Pause Haptic By Event Id" で一時停止したハプティックイベントを、一時停止した位置から続けて再生します。
入力
| タイプ | 名前 | 説明 |
|---|---|---|
| exec | In | |
| String | Event Id | 続けて再生したいハプティックイベントの名前です。 |
出力
| タイプ | 名前 | 説明 |
|---|
Is Playing

ハプティックが再生中かを確認します。
入力
| タイプ | 名前 | 説明 |
|---|---|---|
| exec | In |
出力
| タイプ | 名前 | 説明 |
|---|---|---|
| exec | Out | |
| Boolean | Return Value | イベントが再生中かどうかです。 |
Is Playing By Event Id

この Event ID に該当するハプティックイベントが再生中かを確認します。
入力
| タイプ | 名前 | 説明 |
|---|---|---|
| exec | In | |
| String | Event Id | 現在再生中かを確認したいハプティックイベントの名前です。 |
出力
| タイプ | 名前 | 説明 |
|---|---|---|
| exec | Out | |
| Boolean | Return Value | イベントが再生中かどうかです。 |
Is Playing By Request Id

この Request ID に該当するハプティックイベントが再生中かを確認します。
入力
| タイプ | 名前 | 説明 |
|---|---|---|
| exec | In | |
| Integer | Request Id | 現在再生中かを確認したいハプティックイベントの Request ID です。 |
出力
| タイプ | 名前 | 説明 |
|---|---|---|
| exec | Out | |
| Boolean | Return Value | イベントが再生中かどうかです。 |
Initialize bHaptics

ハプティック環境を初期化します。ハプティック関連の関数を使用する前にこの関数を呼び出す必要があります。
入力
| タイプ | 名前 | 説明 |
|---|---|---|
| exec | In |
出力
| タイプ | 名前 | 説明 |
|---|---|---|
| exec | Out |
Ping

特定のデバイスに簡単なハプティックフィードバックを送信します。
入力
| タイプ | 名前 | 説明 |
|---|---|---|
| exec | In | |
| Bhaptics Device Structure | Device | Ping を送信したいデバイスです。 |
出力
| タイプ | 名前 | 説明 |
|---|---|---|
| exec | Out |
Ping All
接続されたすべてのデバイスに簡単なハプティックフィードバックを送信します。
入力
| タイプ | 名前 | 説明 |
|---|---|---|
| exec | In |
出力
| タイプ | 名前 | 説明 |
|---|---|---|
| exec | Out |
Destroy bHaptics

ハプティック環境を解放します。この関数はゲーム終了時に呼び出す必要があり、必ず一度だけ呼び出してください。
入力
| タイプ | 名前 | 説明 |
|---|---|---|
| exec | In |
出力
| タイプ | 名前 | 説明 |
|---|---|---|
| exec | Out |
Get bHaptics devices

接続されたハプティックデバイス情報の配列を取得します。
入力
| タイプ | 名前 | 説明 |
|---|---|---|
| exec | In |
出力
| タイプ | 名前 | 説明 |
|---|---|---|
| exec | Out | |
| Array of Bhaptics Device Structures | Return Value | デバイスのリストです。 |
Is bHaptics Available

ハプティック環境が初期化され、ハプティック関連の関数を使用する準備ができているかを確認します。
入力
| タイプ | 名前 | 説明 |
|---|---|---|
| exec | In |
出力
| タイプ | 名前 | 説明 |
|---|---|---|
| exec | Out | |
| Boolean | Return Value | bHaptics 環境が利用可能かどうかです。 |
Project To Vest With Player Collision Object

プレイヤーから見た、指定された衝突接触点の Offset 値(角度と高さ)を計算するヘルパー関数です。これらの Offset 値は、ハプティックの位置を調整できる PlayHapticWithOption と PlayLoop で使用できます。
この関数は、正面方向がベストの前面と一致すると仮定し、プレイヤーの位置を原点と見なします。
詳細は C++ API リファレンスを参照してください。
入力
| タイプ | 名前 | 説明 |
|---|---|---|
| Vector | Contact Location | グローバル座標系の接触点です。 |
| Primitive Component Object Reference | Player Component | プレイヤーにアタッチされたプリミティブコンポーネントへの参照です。 |
| Float | Half Height | プレイヤーの実際の身長の半分の値で、センチメートル単位です。 |
出力
| タイプ | 名前 | 説明 |
|---|---|---|
| Bhaptics Rotation Option Structure | Return Value | Offset 値です。 |
Project To Vest With Player Location/Position

接触位置とプレイヤーのトランスフォーム情報から Offset 値を計算するヘルパー関数です。"Project To Vest" に似ていますが、角度 Offset(Offset Angle X)のみを計算します。高さ(Offset Y)は常に 0 です。
入力
| タイプ | 名前 | 説明 |
|---|---|---|
| Vector | Contact Location | グローバル座標系の接触点です。 |
| Vector | Player Location | プレイヤーの位置です。 |
| Rotator | Player Rotation | プレイヤーの回転です。 |
出力
| タイプ | 名前 | 説明 |
|---|---|---|
| Bhaptics Rotation Option Structure | Return Value | Offset 値です。 |
Custom Project To Vest

衝突から Offset 値を計算するヘルパー関数です。"Project To Vest" と同じ機能を実行しますが、Forward および Up ベクトルを変更できます。
入力
| タイプ | 名前 | 説明 |
|---|---|---|
| Vector | Contact Location | グローバル座標系の接触点です。 |
| Primitive Component Object Reference | Player Component | プレイヤーにアタッチされたプリミティブコンポーネントへの参照です。 |
| Float | Half Height | プレイヤーの実際の身長の半分の値で、センチメートル単位です。 |
| Vector | Up Vector | Offset 計算の基準となる上方向ベクトルです。 |
| Vector | Forward Vector | Offset 計算の基準となる正面方向ベクトルです。 |
出力
| タイプ | 名前 | 説明 |
|---|---|---|
| Bhaptics Rotation Option Structure | Return Value | Offset 値です。 |