add instructions: Setting up the SenseGlove Grab and Touch Sockets

This commit is contained in:
Mamadou Babaei
2024-08-16 18:01:50 +02:00
parent 3521b03fed
commit 52480c7543
15 changed files with 150 additions and 0 deletions
@@ -147,3 +147,111 @@ However, if you're looking to get up and running with the SenseGlove Unreal Engi
</div>
## Setting up the SenseGlove Grab and Touch Sockets
To ensure the Grab/Release and Touch systems function correctly, multiple sockets must be set up on each virtual hand mesh with precise locations and rotations. Before version [`v2.1.0`](../../appendix/changelog.html) of the SenseGlove Unreal Engine Plugin, this was a manual and time-consuming process. However, with the `v2.1.0` release, the plugin now includes the SenseGlove Sockets Editor, a built-in tool specifically designed for this task.
> [!NOTE]
> If for any reason you still prefer to manually set up the sockets,
> [a detailed video tutorial](https://youtu.be/jN4VcfXVrTA) is available.
<div style="margin: 0 auto; width: 560px;">
<iframe width="560" height="315" src="https://www.youtube.com/embed/jN4VcfXVrTA" frameborder="0" allowfullscreen></iframe>
</div>
### Accessing the SenseGlove Sockets Editor
The SenseGlove Sockets Editor can be utilized in three ways:
1. By right-clicking on any Skeleton or Skeletal Mesh asset inside the Unreal Content Browser.
![Setting up the SenseGlove Grab and Touch Sockets - Content Browser](senseglove-sockets-editor-from-content-browser.png "[Setting up the SenseGlove Grab and Touch Sockets - Content Browser")
> [!TIP]
> You can also perform Sockets Editor actions in bulk by selecting multiple
> assets of the same type and right-clicking on one of them. Note that if the
> selected assets are not all of the same type, Sockets Editor actions will not
> appear (e.g. selecting assets of type Skeletons and Skeletal Meshes together).
![Setting up the SenseGlove Grab and Touch Sockets - Content Browser bulk actions](senseglove-sockets-editor-from-content-browser-bulk-actions.png "[Setting up the SenseGlove Grab and Touch Sockets - Content Browser bulk actions")
2. From the `Asset` menu in the Skeleton Editor or Skeletal Mesh Editor for any open Skeleton or Skeletal Mesh asset.
![Setting up the SenseGlove Grab and Touch Sockets - Skeleton Editor or Skeletal Mesh Editor Asset menu](senseglove-sockets-editor-from-skeleton-skeletal-mesh-editor-asset-menu.png "[Setting up the SenseGlove Grab and Touch Sockets - Skeleton Editor or Skeletal Mesh Editor Asset menu")
3. From the Skeleton Editor or Skeletal Mesh Editor toolbar for any open Skeleton or Skeletal Mesh asset.
![Setting up the SenseGlove Grab and Touch Sockets - Skeleton Editor or Skeletal Mesh Editor toolbar](senseglove-sockets-editor-from-skeleton-skeletal-mesh-editor-toolbar.png "[Setting up the SenseGlove Grab and Touch Sockets - Skeleton Editor or Skeletal Mesh Editor toolbar")
The SenseGlove Sockets Editor currently offers two actions:
1. `Add SenseGlove Sockets`: which adds and sets up the SenseGlove grab and touch sockets to any virtual hand mesh that adheres to the Epic rig and bone structure.
2. `Clear Existing Sockets`: which destructively clears all existing sockets; SenseGlove or otherwise, from any mesh.
> [!IMPORTANT]
> Simply performing any of these actions won't permanently modify your assets.
> In fact, if you close the Unreal Editor without saving your assets first, all
> changes performed by the SenseGlove Sockets Editor will be lost forever. This
> is by design and the plugin will leave this final choice to the user. So, in
> order to apply the changes permanently, you must save the assets manually.
### Adding the SenseGlove Sockets
When you invoke the `Add SenseGlove Sockets` action, the Sockets Editor will prompt you for confirmation:
![Adding the SenseGlove Sockets - Confirmation](senseglove-sockets-editor-add-sockets-confirmation.png "[Adding the SenseGlove Sockets - Confirmation")
If it succeeds at adding the standard SenseGlove sockets, you will receive a confirmation message:
![Adding the SenseGlove Sockets - Success](senseglove-sockets-editor-add-sockets-success.png "[Adding the SenseGlove Sockets - Success")
After closing the dialog, the editors for the affected Skeleton and Skeletal Mesh assets will open, displaying the newly added sockets:
![Adding the SenseGlove Sockets - Added sockets](senseglove-sockets-editor-added-sockets.png "[Adding the SenseGlove Sockets - Added sockets")
To ensure the changes persist, save the assets to disk.
> [!NOTE]
> The `Add SenseGlove Sockets` action can fail for various reasons, so it's
> important to investigate and identify the cause if an issue arises.
![Adding the SenseGlove Sockets - Added sockets failure](senseglove-sockets-editor-add-sockets-failure-1.png "[Adding the SenseGlove Sockets - Added sockets failure")
![Adding the SenseGlove Sockets - Added sockets failure](senseglove-sockets-editor-add-sockets-failure-2.png "[Adding the SenseGlove Sockets - Added sockets failure")
> [!IMPORTANT]
> A common cause of failure is that the SenseGlove sockets have already been set
> up, or the meshes youre using already have the necessary sockets. In this
> case, consider using the
> [`Clear Existing Sockets`](#clearing-all-existing-sockets) action first.
> [!CAUTION]
> Another common cause of failure is if your virtual hand meshes share a skeleton. As noted in [the Compatible Virtual Hand Meshes section](#compatible-virtual-hand-meshes), the SenseGlove Sockets Editor does not support skeletal meshes that share their skeleton. You may need to [export](#exporting-the-virtual-hand-meshes-from-the-vrtemplate) and [re-import](#importing-the-virtual-hand-meshes-into-your-own-project) the virtual hand meshes in in a compatible manner first.
In any case, the SenseGlove Sockets Editor reports all failures in the Unreal Editor logs. To view and investigate the logs, simply head to the `Window` menu and click on `Output Log`:
![Adding the SenseGlove Sockets - Accessing the Unreal Editor output logs](senseglove-sockets-editor-failure-output-log.png "[Adding the SenseGlove Sockets - Accessing the Unreal Editor output logs")
For example, in the following screenshots the following errors are stated: `Socket 'GrabAttachPoint' already exists on '/Game/SGHandbook/SKM_MannyXR_left.SKM_MannyXR_left'; refuse to add a duplicate!`.
```
LogGeneric: Error: [ERROR C:\Users\mamadou\Desktop\dev\SGHandbook\Plugins\SenseGlove\Source\SenseGloveEditor\Private\SGEditor\SGAssetUtils.cpp FSGAssetUtils::FImpl::AddSocket 394] Socket 'GrabAttachPoint' already exists on '/Game/SGHandbook/SKM_MannyXR_left.SKM_MannyXR_left'; refuse to add a duplicate!
LogGeneric: Error: [ERROR C:\Users\mamadou\Desktop\dev\SGHandbook\Plugins\SenseGlove\Source\SenseGloveEditor\Private\SGEditor\SGAssetUtils.cpp FSGAssetUtils::FImpl::AddGrabAttachPointSocket 442] Failed to add the socket 'GrabAttachPoint' to '/Game/SGHandbook/SKM_MannyXR_left.SKM_MannyXR_left'!
LogGeneric: Error: [ERROR C:\Users\mamadou\Desktop\dev\SGHandbook\Plugins\SenseGlove\Source\SenseGloveEditor\Private\SGEditor\SGAssetUtils.cpp FSGAssetUtils::FImpl::AddSenseGloveSockets 587] Failed to add the grab attach point socket to asset '/Game/SGHandbook/SKM_MannyXR_left.SKM_MannyXR_left'!
LogGeneric: Error: [ERROR C:\Users\mamadou\Desktop\dev\SGHandbook\Plugins\SenseGlove\Source\SenseGloveEditor\Private\SGEditor\SGAssetUtils.cpp FSGAssetUtils::FImpl::AddSenseGloveSockets 741] Failed to add the SenseGlove sockets to the asset '/Game/SGHandbook/SKM_MannyXR_left.SKM_MannyXR_left'!
```
![Adding the SenseGlove Sockets - Sockets already exists error](senseglove-sockets-editor-failure-output-logs-socket-already-exists.png "[Adding the SenseGlove Sockets - Sockets already exists error")
### Clearing All Existing Sockets
When you invoke the `Clear Existing Sockets` action, the Sockets Editor will ask for your confirmation:
![Clearing All Existing Sockets - Confirmation](senseglove-sockets-editor-clear-sockets-confirmation.png "[Clearing All Existing Sockets - Confirmation")
If successful, you will receive a message indicating all the existing sockets have been cleared:
![Clearing All Existing Sockets - Success](senseglove-sockets-editor-clear-sockets-success.png "[Clearing All Existing Sockets - Success")
After closing the dialog, the editors for the affected Skeleton and Skeletal Mesh assets will open, displaying the affected assets with all sockets cleared:
![Clearing All Existing Sockets - Sockets cleared](senseglove-sockets-editor-sockets-cleared.png "[Clearing All Existing Sockets - Sockets cleared")