VR Grapple hooks

So I’m making a simple grapple hook for a VR game, and I’m using sprint joints.

I can get around the map ok, but I can’t find any combination of realistic physics for a normal sized human. I’m quite close to a spiderman feel, but if I start a grapple too near, it does nothing. I’ve also had it with a good “grapple near” feel, but if I grapple a long way a way I’m blasted into infinity…

The values I’ve been playing around with are:


Mass: 1
Drag: 0
Angular Drag: 0.05


 private float maxGrappleDistance = 0.8f;
 private float minGrappleDistance = 0.25f;
 private float jointSpring = 2.5f;
 private float jointDamper = 0.25f;
 private float jointMassScale = 4.5f;

 float distanceFromPoint = Vector3.Distance(player.position, grapplePoint);

 joint.maxDistance = distanceFromPoint * maxGrappleDistance;
 joint.minDistance = distanceFromPoint * minGrappleDistance;

 joint.spring = jointSpring;
 joint.damper = jointDamper;
 joint.massScale = jointMassScale;

But to be honest I’ve never really played around with joints before and I can’t seem to find a good combination.

Any suggestions?

Messed around a bit and found a good combination of variables.