Adding collision to flat meshes

Hi, I am trying to recreate the game Mario Kart, but the static meshes of the original track are flat and I’m having difficulties in generating their collisions. For example, this is what I get when I tried auto convex collision. Do I have to manually add collisions? I’m afraid this will cause the road to become too bumpy… Can somebody help?


Remodel this in blender or in unreal. At least split original into convex meshes, then do collision for pieces.

Or you can load it to 3d app of your choice add modifier to extrude whole thing (so it have thickness), then per poly collision should work.

Hi Nawrot, sorry for a late reply. I was a little busy.

Could you elaborate more on this? I don’t quite understand.
I will definitely try your second suggestion. Thanks.

Google for “static mesh collision unreal”.
Doe not watch unreal 5 tuts, look at something ue4 or even UT2007 or so. Nowadays collision is made really easy, but it does not work for you. So you should see how it was done by hand.

Then (just in case) see what is convex and what concave.

Now with all that you have 3 choices:

  • export those terrain meshes, create collision by hand in something like blender

  • create blocking volumes in unreal then apply them to terrain as collision

  • use blender to extrude terrain in Z axis, add surfaces underneath it to make it closed, reduce all degenerated surfaces, lines and vertexes (ie. clean that mesh). Then split it into convex parts, export back to unreal. With convex mesh that has thickness, unreal should be able to do per poly collision.

Last point can also be done in unreal 5 with new mesh editing tools.

PS.
Small trick to make your life easier in case you choose blender/3d app solution (looks difficult but after initial learning is most accurate and least work).
So after importing move all those meshes to their proper locations in blender, set all of their pivots to 0,0,0. When splitting terrrain or adding thickness etc, watch that pivot stays in 0.0.0. Then export them all and snap to world orgin (ie. 0,0,0) in unreal. This way you skip whole mess with correctly positioning terrain after importing back.

Thanks for your kind explanation and your tip.

Anyone else reading.

Flat collisions should never be flat.

You need the collision to respond to things that could pass through it.

When dealing with walls which have a specific thickness you are usually bound by it.

When you are not - things like floor tiles for the ground level, or ceiling tiles for things which have nothing above - a 2m collision box is a good starting point to prevent just about anything from falling through the floor due to a physics misshap.

2 Likes