Constraint Replication Lag

I am working on a pull wagon using a rope constraint attached to the Player’s hand. It looks fine for the owner but it ends up being choppy for other players and the server. I want to find a way to make it look the same for all players.

I tried changing network ownership of the wagon to the server but that doesn’t seem to help.

3 Likes

Have you tried testing it with actual players? Could be studio lag.

1 Like

This. Studio test-server rendering tends to be a bit laggy, I don’t know what causes it. Maybe it’s that Roblox is smart enough to prioritize keeping the test-client rendering in testing at 60FPS when there isn’t enough juice to run both at full fidelity.

1 Like

Studio goes into some kind of low-processing mode when its tab isn’t selected. The framerate is lowered and sounds do not play.

2 Likes

I tested it in online mode but it is still the same

How does it perform if the wagon is added locally, so each player has a version of it, as opposed to a serverwide wagon owned by the player?

Random suggestion: But try increasing the density of the parts in the waggon, particularly make it much more bottom heavy, that and increase the friction of the back wheels. Even if that doesn’t solve the problem entirely it might improve it significantly by getting it’s motion to be more stable under non-ideal circumstances.

2 Likes

This is because Mechanism Interpolation doesn’t work when you are attached to the root part of the mechanism with a Motor6D. This is complicated and has to do with internals of ROBLOX but the gist of the problem is that because Mechanism Interpolation relies on purely-physics data to create smooth animations about the movement of something like this wagon, we had to disable it for MOTOR6D attached objects.

The reason for this is that the hand that is attached to torso is animated by the MOTOR6D outside of the physics data and physics timeline. Mechanism Interpolation would then create improperly smoothed positions in this case.

I’m trying to think of a good work-around/fix for this, but this wouldn’t be a very simple problem to solve for some time.

4 Likes

So, as a workaround, a good solution for this might be to put a strong BodyPosition in a Part at the end of the waggon’s rope and update it via script to match the position of the hand rather than attaching them directly?

I welded the handle to the HumanoidRootPart instead of the Hand and that seemed to fix the problem! :grinning: