[UNSOLVED] How can I fix this Physics Issue?

I am currently making a boat system however it appears when another player touches a boat while another person is driving it the boat will just spaz out. I have tried messing with network ownership with no luck and I’m not sure how to fix this issue. Can anyone help?

(The second half of the video shows what happens)

Any help is appreciated!

4 Likes

I’ve never really been on the physics side of Roblox Development, but I will say that when it comes down to it, the in-game mass of the character could probably affect the levelness of the boat. I highly doubt it has anything to do with Network Ownership.

1 Like

Unfortunately, I cannot go about changing the character’s mass. So I need a different fix besides that and changing the density of the boat.

1 Like

maybe you could using collision groups against the boat…?

1 Like

I could but I still need a way for the player to collide with the boat that way they can freely walk around.

1 Like

Good point, I had not thought of that

1 Like

Still looking for a solution if anyone has one that hasn’t been mentioned!

I am still in need of a solution for this issue if anyone has one. Any help is appreciated! :slight_smile:

Can you show the hierarchy in explorer so that we can see what body movers or constraints you are using to control the boat?

Just from watching the video, this is what I think is happening…

When a players sits in the seat, they become part of the rig of the boat, and so this changes the physics of the boat, mass, etc…
So then when another player gets on the boat, the physics are not acting as expected.

Just off the top of my head, I’m thinking you might need to adjust the forces applied to your body movers or constraints in relation to if someone is driving the boat or not.

This is kind of hard to explain because I made a script that sets up all the constraints automatically. But I can show a picture of the constraints active in studio.



image

I use weld constraints to turn the motor and all base parts are welded to the VehicleSeat.

(Angular Velocity is just for the propeller to spin)

I’m not sure if this will help or not.

I have not done much with the new constraints, but in my game, in the past, I had boats that used a gyro to keep them from being flipped about.

Not sure what is the equivalent or if you are even using one in your rig, but maybe look into that.
Or as I said, maybe try adjusting the amount of force that is being applied to the various constraints to account for the player being connected to them. (even if its just through the vehicle seat)

Oh yea I forgot I was using body gyro to keep it up right but it doesn’t change much even if I increase its strength. If I change character mass to basically nothing it no longer affects the boat negatively, But I still want players to be able to dive into the water.

You can use an AlignOrientation with TwoAttachment mode and have the attachment only affect the PrimaryAxis and make it based on the upward axis through the attachment.

You should try to changing custom physics properties

Yea no, that was like the very first thing I tried. Not really that helpful.

1 Like

Possible solution to that is, you could try to force roblox’s physics engine to not calculate any mass from the other player jumping on the boat, (I mean that the occupied player’s will not calculate any physics between the other player).

To do that you could include a localscript which simply disables every players characters collisions, the moment the player occupies the boat, once the player leaves the boat , you could reenable everyones collisions, please note that this has to he done client sidely.
Oh and also, if you don’t have any idea of what I mean, or if you cannot replicate it into a localscript, just let me now Ill probably provide you a example code which you can use.