I’m currently trying to make a train simulator with realistic physics including suspension and spinning wheels. I tried using constraints, however the test chassis derails even when I use custom CSG cylinders with many more faces (which are all even) like demonstrated in this video:
In the video you cannot see the chassis derailing however you can see it how it bumps, at higher speeds it is very certain to derail. I definitely need that fixed.
I tried to make the wheels even smoother, which I found out was unnecessary because the collision box didn’t change.
I also checked the collision boxed of both the axles and the rails and they seem fine.
With the suspension built in, the problem gets minimized a bit, however it derails way before it reaches somewhere near the needed sped.
I also set the Elasticity to 0 to minimize bumps and the Density higher resulting in also almost no difference.
When using suspension there is also an issue if you make the Densities of the Part supporting the wheel and the wheel different (the Parts containing the HingeConstraint Attachments).
I had this issue with a 4x4 I was building. The wheels kept bouncing even when the vehicle wasn’t moving. The fix was to make the overall ‘weight’ of the large wheel (approx. 2x5x5 studs) and the small axle support (approx. .5x1x.5 studs) equal by reducing the Density of the wheel assy and increasing the Density of the axle support. This took care of all the bouncing issues I had.
After trying out separating some parts to improve collisions and remaking some parts and after trying your solution, it helped however bumps are still very notable and the chassis still derails. At this point, would it be better if I just switched to BodyMovers and script the wheel spin or if I tried to fix it? I’d still prefer using Constraints though.
I had a look at your file. Yeah the Mesh Axle appears to be completely round, but it isn’t.
I turned the CanCollide off and welded some blue Cylinders in the same place and it runs pretty smoothly at AngularVelocity 100.
I also set the rails as CanCollide off and put in a couple red Parts as rails but the bounciness didn’t change. Where possible don’t use Mesh Collisions since Roblox physics takes up more computing power trying to figure out these complex collisions. You could also set the Collision Fidelity of the Rails to Box, but that box would be .4 studs wide and would interfere with the wheels (and Cylinders) as they appear. ChassisTroubleshootMeshOff.rbxl (54.7 KB)