Hand Poses¶
When a player grabs a gun, a mug, or a sword, you usually want their fingers wrapped around it the right way — not a flat open hand clipping through the grip. A hand pose describes that grip once, base-independently, and Social Scape retargets it onto whatever avatar is holding the object. It's deterministic (no hand tracking needed), so it looks the same in VR and on desktop.
The pieces¶
- A Hand Pose asset (
SSHandPoseAsset) — the grip itself, stored so it fits any hand. - The Grab Pose component (
Social Scape/Grab Pose) — sits next to a grabbable and assigns which pose each hand uses.
Make a grip pose¶
You author on a generic reference hand (the shipped hands work well); the pose then retargets onto every avatar.
- Open the editor:
Social Scape ▸ Interaction Kit ▸ Hand Pose Editor, and set Reference Hand to a shipped hand prefab. If the editor says the hand's axes aren't solved, select the hand and press Solve Axes once (with the hand in its open rest pose) — this keeps captured poses from drifting. - Shape the fingers with Finger Controls — drag the per-finger knobs (up/down = curl, left/right = spread), use a preset (Open · Relax · Fist · Point · Pinch) as a starting point, or fine-tune with the curl/spread sliders. (You can also just rotate the finger bones in the Scene.)
- Choose the type — Fixed for one grip, or Blend to author an open and a closed grip (pick which one the next capture writes, and scrub Preview Blend to check the in-between).
- Capture — turn on Mirror To Other Hand to fill both hands at once. Use New / Duplicate to manage assets; Apply Pose To Reference Hand previews any saved pose.
- Assign it: on the grabbable (the object with an Interactable set to Grab), add Grab Pose and set Left Pose / Right Pose to your asset. Leave one empty to reuse the other hand's pose.
On grab, the gripping hand snaps to the pose. On the Grab Pose component, turn on Show Ghost Hand to preview the grip right on the prop before you play.
Grab Pose settings¶
| Field | What it does |
|---|---|
| Left Pose / Right Pose | The SSHandPoseAsset (finger shape) applied to each hand (empty reuses the other). |
| Blend | For a Blend pose (below), 0 = open, 1 = closed. Ignored for a Fixed pose. |
| Snap Left / Snap Right | VR: snap the object into the hand at the Grip Anchor, instead of gripping wherever it landed. Turning on either enables it — both share the one Grip Anchor. Needs a Grip Anchor set. |
| Grip Anchor | VR: the point on the object a hand grips — a gun's handle. With Snap on, the object aligns so this transform sits in the hand (its rotation = how the object points out of the hand) instead of the mesh pivot. Use a small child transform at the grip. Empty = grip at the pivot. |
Fixed vs Blend poses¶
A hand pose is either:
- Fixed — one grip shape. Good for a specific object (a pistol grip).
- Blend — an open and a closed grip; the Blend value interpolates between them, so one pose fits different object sizes or a squeeze animation.
Example — a pistol with a trigger finger¶
- Create a Hand Pose asset; in the Hand Pose Editor, curl the last three fingers around the grip and rest the index on the trigger; capture with Mirror on.
- On the pistol (with an Interactable = Grab, and optionally a Weapon), add Grab Pose and assign the asset to both hands. To make it sit right in VR, add a small child transform at the grip (its blue +Z axis pointing the barrel forward), set it as the Grip Anchor, and tick Snap Left + Snap Right — the pistol then snaps into the hand by its handle instead of its mesh centre.
- Add Haptics (On Use =
Shot) for the kick.
Now anyone who grabs the pistol grips it correctly, in VR or desktop.
Poses retarget, they don't hard-code bones
A hand pose stores finger shape, not one avatar's exact bone rotations, so the same asset looks right on a small hand and a big one. You author it once against a reference hand.