CFrame based movement system issues

I am working on vehicles for my game. Previously, I was using BodyMovers to move all of the vehicles. However, during testing, we discovered that if you rammed into a boat while going full speed in a plane, the boat got yeeted halfway across the map. My solution to this was to have the boats running on a CFrame based system rather than BodyMovers. However, now that I am using CFrame instead, the boats can just pass right through any object they wish (see attached video). Does anyone have a solution to either this or how I may be able to fix the issue in by BodyMover system without the use of CFrame?

hmmm try to put again bodymovers and test your vehicles with custom properties enabled and different mass etc

if that doesn’t work then you may have to use raycasts to check if there’s any part to collide with

1 Like

there’s more solutions but i can’t think about one right now

1 Like

You should go back to a body mover system and take advantage of roblox’s physics engine instead of going down this path of writing your own on top of it.

One solution could be to make planes weight less with custom physics properties and setting parts to massless. The flip side being to make boats heavier!
A probably bad solution would be to check when boats are touched by planes and set AssemblyLinearVelocity to Vector3.zero

Try a bunch of values out, physics engines are quite finicky but starting your own is lot of work, even more so to incorporate it with an existing physics engine.

2 Likes

yea they should make it massless and then a part that controls it which is heavy

1 Like

@UltraYummyChocolate (just so both of you get notified that I am responding)
Well, it has been a day and I have tried various combinations of CustomPhysicalProperty’s. However, this is always the result when I ram a plane into a boat (in this specific video the plane is massless except for the main part, and the boat all of its parts are 100 density).

So I don’t really know what to do now lol this is definitely not my area of expertise.

I haven’t experienced a lot about it but maybe you could use Physics Service or constraints

Or also collision group fidelity