Problem with VehicleBody3D

Godot Version



I have a Player that is a VehicleBody3D and drives with ‘WASD’ (‘Space’ for flipping player back if flipped over), the vehicle has four wheels.

The CSGBox3Ds have collision with wheels, but when I go into my ‘Terrain’ the wheels just sink into the ground without colliding. I have ‘Use Collision’ enabled for the terrain. Here is the World scene. Here is the Player scene. Here is the VehicleWheel3D (all wheels the same, except for front has steering and back doesn’t have steering). Here is the CSGMesh3D for ‘Terrain’.

CSG is quite nice to get shapes quick and to prototype, however I wouldn’t recommend it for anything physics related.

You might want to try yet another CSGBox for your terrain rather than a CSGMesh3D (it has a few requirements you can find about in the docs) for a quick shot at it.

But I would recommend to recreate your terrain with StaticBody3D’s (and their CollisionShape3D child) and associated PrimitiveMesh for visuals (BoxMesh, CapsuleMesh, CylinderMesh, PlaneMesh, PrismMesh, SphereMesh, …).
Especially so if you want to make huge terrain or procedural later on with your vehicle sim. Then is just a matter of making sure you set your collision layers and masks correctly.

I don’t have much to back up my assumption other than CSG is old tech and more costly, I vaguely remember reading CSG is low priority maintained but I might be wrong.

I tried using a StaticBody3D, the same thing happens. I am using a quick terrain from Blender I made with hills.

Alright, my bad.
You can visualize the physics via the Debug Tab > Visible Collision Shapes.
It might help troubleshoot to find where exactly are the boundaries.