Spring constraints breaking

I have a idea for VR hands that use SpringConstraints and HingeConstraints instead of animations, but when I try to use them, 1 of 3 things happen.
Ether:

  • A: The fingers can’t fight against gravity.

  • B: The fingers bug out.

  • C: The model disappears for no reason.

Picture of hand and constraints:

I have tried changing my design and having NoCollisionConstraints, but these don’t work.

File: hands.rbxm(scaled up, decrease to smallest size for actual testing) (20.0 KB)

1 Like

Apologies for the bump, I wanted to reply because Roblox seriously needs to fix issues like this and anybody else with this problem needs to find a work around too (I have met a few people who had this issue and gave up on their entire project). It also affects some vehicles ( I was working on a heavy bomber with springs and it just teleports away!)

I did something similar and had this issue too, I believe it has something weird to do with the attachments not being positioned and orientated correctly. Also if you are modifying the CFrame for the hand model on each renderstep the physics REALLY engine doesn’t like it (my hands started disappearing too, getting positions with a magnitude of like 100000000000+/-).

Basically the solution is to probably use like Motor6Ds dynamically rotating the fingers to wrap around an object (I think that has something to do with Inverse Kinematics actually, you can see examples of this in EchoVR when you try to grab something) by modifying the C0 and C1 property using scripts manually.
You could also try messing around with BodyMovers to try to get the hands to emulate the real position of a hand or each finger to emulate that position using the same thing. BallSocketConstraints, HingeConstraints and BodyMovers make a great combination for this same scenario.

Hopefully this helps you if you are still working on the subject and anybody else who encounters this issue.

From what your model looks like you could try using the new Torsion Springs too! They’re quite fun to mess around with.

2 Likes