Studio
Drop the two meshes, watch the attach land on a live skeleton, nudge the grip on sliders, and preview it against an attack clip before you commit.
Open StudioThe missing step after Tripo · Meshy · AccuRIG
Correctly. Every time.
Drop a rigged character and a loose prop. GripForge finds the hand bone whatever your rig calls it, scales the prop to body height, orients the grip for the style, and hands back a bind you can paste into your engine.
.glb · .gltf · .fbx · .obj · no shared mesh required
Drop the two meshes, watch the attach land on a live skeleton, nudge the grip on sliders, and preview it against an attack clip before you commit.
Open StudioOne multipart POST. Wire it into a batch job or a CI step that re-binds a whole prop set.
curl -X POST localhost:3100/api/v1/attach \
-F character=@hero.glb \
-F prop=@sword.glb \
-F style=melee
→ { bind, confidence, exports }Read the referenceA stdio server with four tools, so Claude Code, Cursor or Grok can attach props inside a task without you opening anything.
gripforge_attach character_path: ./hero.glb prop_path: ./sword.glb style: melee hand: rightInstall the server
| Source | Resolves to |
|---|---|
| mixamorig:RightHand | R_Hand |
| hand_r | R_Hand |
| RightHand | R_Hand |
| rHand | R_Hand |
| mixamorig:LeftHand | L_Hand |
| LeftHand | L_Hand |
Unlisted names fall through to fuzzy matching, then to an optional AI pass for skeletons that follow no convention at all.
| Style | Grip rule | Body ratio |
|---|---|---|
| melee | blade across the fist | 0.38 |
| gun | barrel along the fingers | 0.18 |
| shield | face on the palm | 0.24 |
| staff | shaft through the grip | 0.85 |
Size is measured against the character, not the world, so the same sword reads right on a child model and on an ogre. Style also sets the finger curl, so a trigger finger stays straight on a gun and wraps on a sword.
bone.add(prop)BoneAttach.csBoneAttachment3Dengine agnosticEvery surface returns the same bind, so a prop attached in Studio and one attached by an agent land in the same place. Unreal sockets read straight off bind.json.
On a rig with finger bones, the bind also carries a grip pose that closes the hand on the handle. Tripo and Meshy auto-rigs give one bone per hand, so there is nothing to close there. GripForge reports which one you have as handRig rather than guessing.