From 293e8777b0b476d296fd9ceda484960bff4f3578 Mon Sep 17 00:00:00 2001 From: Mamadou Babaei Date: Mon, 23 Feb 2026 16:57:13 +0100 Subject: [PATCH] SGHapticsComponent docs: add practical blueprint examples --- .../sghapticscomponent/README.md | 57 +++++++++++++++++++ ...onent-blueprint-example-force-feedback.png | 3 + ...mponent-blueprint-example-vibrotactile.png | 3 + ...ponent-blueprint-example-wrist-squeeze.png | 3 + 4 files changed, 66 insertions(+) create mode 100644 Handbook/src/advanced-topics/roll-your-own-hand-manipulation-system/sghapticscomponent/sghapticscomponent-blueprint-example-force-feedback.png create mode 100644 Handbook/src/advanced-topics/roll-your-own-hand-manipulation-system/sghapticscomponent/sghapticscomponent-blueprint-example-vibrotactile.png create mode 100644 Handbook/src/advanced-topics/roll-your-own-hand-manipulation-system/sghapticscomponent/sghapticscomponent-blueprint-example-wrist-squeeze.png diff --git a/Handbook/src/advanced-topics/roll-your-own-hand-manipulation-system/sghapticscomponent/README.md b/Handbook/src/advanced-topics/roll-your-own-hand-manipulation-system/sghapticscomponent/README.md index dd4ea090..1d003f7c 100644 --- a/Handbook/src/advanced-topics/roll-your-own-hand-manipulation-system/sghapticscomponent/README.md +++ b/Handbook/src/advanced-topics/roll-your-own-hand-manipulation-system/sghapticscomponent/README.md @@ -478,3 +478,60 @@ Queues a wrist-squeeze feedback at the desired level, and optionally if chosen, - `true`: If queued successfully. - `false`: If it fails. + +## Blueprint Haptics Examples + +Below are practical Blueprint examples demonstrating how to combine the different `SGHapticsComponent` functions into complete interaction flows. + +### Force-Feedback Example + +This example demonstrates: + +- How to queue force-feedback with **full resistance on all fingers**. +- How to flush all queued haptics (including the recently queued force-feedback) using `Send Haptics`. +- How to stop all haptic effects after `2` seconds, if the send operation succeeds. + +![SGHapticsComponent - Blueprint example: Force-feedback](sghapticscomponent-blueprint-example-force-feedback.png "SGHapticsComponent - Blueprint example: Force-feedback") + +In this flow: + +1. Force-feedback levels are queued for all fingers. +2. `Send Haptics` compiles and sends the command to the glove. +3. If successful, `Stop Haptics` is used to clear all active effects after `2` seconds. + +### Vibrotactile Example + +This example demonstrates: + +- How to check if the glove at the current hand supports custom wave forms at the `Plam Pinky Side`. +- If so, it constructs a `SGCustomWaveform` with a duration of `500` milliseconds, amplitude of `1.0` at the frequency of `180.0` (maximum vibration on Nova 2). +- It then sets other parameters such as the `WaveType` to `Square` and the `RepeatAmount` to `10`. +- And, finally sends the custom waveforms to the glove, which is going to stop after `10` times playing. + +This example demonstrates: + +- How to check whether the current glove supports **custom waveforms** at the `Palm Pinky Side` location. +- How to construct a `SGCustomWaveform` with: + - `Duration` → `500 ms` + - `Amplitude` → `1.0` + - `Frequency` → `180.0 Hz` (maximum vibration on Nova 2) +- How to configure additional parameters such as: + - `Wave Type` → `Square` + - `Repeat Amount` → `10` +- How to send the custom waveform to the glove. + +![SGHapticsComponent - Blueprint example: Vibrotactile](sghapticscomponent-blueprint-example-vibrotactile.png "SGHapticsComponent - Blueprint example: Vibrotactile") + +The waveform will automatically stop after playing **10 repetitions**. + +### Wrist-Squeeze Example + +This example demonstrates: + +- How to check whether the connected glove supports **wrist squeeze feedback**. +- How to apply a wrist squeeze at **50% intensity**. +- How to send the command immediately without requiring an additional `Send Haptics` call. + +![SGHapticsComponent - Blueprint example: Wrist-squeeze](sghapticscomponent-blueprint-example-wrist-squeeze.png "SGHapticsComponent - Blueprint example: Wrist-squeeze") + +Because `bSendImmediate` is enabled, the squeeze is transmitted instantly instead of being queued. diff --git a/Handbook/src/advanced-topics/roll-your-own-hand-manipulation-system/sghapticscomponent/sghapticscomponent-blueprint-example-force-feedback.png b/Handbook/src/advanced-topics/roll-your-own-hand-manipulation-system/sghapticscomponent/sghapticscomponent-blueprint-example-force-feedback.png new file mode 100644 index 00000000..6c464193 --- /dev/null +++ b/Handbook/src/advanced-topics/roll-your-own-hand-manipulation-system/sghapticscomponent/sghapticscomponent-blueprint-example-force-feedback.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:896221a6b3b19e64142054ce7eb836a75d040a6a93cba84ea7832cb896b61c6e +size 236003 diff --git a/Handbook/src/advanced-topics/roll-your-own-hand-manipulation-system/sghapticscomponent/sghapticscomponent-blueprint-example-vibrotactile.png b/Handbook/src/advanced-topics/roll-your-own-hand-manipulation-system/sghapticscomponent/sghapticscomponent-blueprint-example-vibrotactile.png new file mode 100644 index 00000000..b611015c --- /dev/null +++ b/Handbook/src/advanced-topics/roll-your-own-hand-manipulation-system/sghapticscomponent/sghapticscomponent-blueprint-example-vibrotactile.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:79a919584fa979b53b2217044afb08807884661c913b1c9c886fbcb25dbc14d9 +size 242728 diff --git a/Handbook/src/advanced-topics/roll-your-own-hand-manipulation-system/sghapticscomponent/sghapticscomponent-blueprint-example-wrist-squeeze.png b/Handbook/src/advanced-topics/roll-your-own-hand-manipulation-system/sghapticscomponent/sghapticscomponent-blueprint-example-wrist-squeeze.png new file mode 100644 index 00000000..3f5078b0 --- /dev/null +++ b/Handbook/src/advanced-topics/roll-your-own-hand-manipulation-system/sghapticscomponent/sghapticscomponent-blueprint-example-wrist-squeeze.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ace4f16b658730becf245b51cbdfe33ab2bfec7c6aa361f3b8e89bf0e7ce90b7 +size 117783