How to fix unwanted collision for MeshPart?

Am trying to create a simple ramp using blender. However, once I upload it to roblox the collision doesn’t seem to match up as well as I want it too. Here’s what I mean:

Capture

Am viewing the mesh part after going to File → Settings → Physics → ShowDecompositionGeometry.

Capture2

Here’s what it looks like in blender:

Is there a way I could fix this? Any help is appreciated!

3 Likes

Do you know if the same geometry approximation happens if you are making a similar shape using CSG unions and negation?

Roblox uses Approximate Convex Decomposition (for CSGs and MeshParts), meaning that every shape will use only convex chunks (1). It cannot create concave chunks, it can only imitate concavity by breaking the shape into mulitple convex chunks.
To achieve more precise concave shape imitation you need to split the mesh at concave areas. This will allow ACD to create convex chunks at a smaller area, resulting in the collision shape being more credible to the actual mesh shape.


(1)
There are 3 CollisionFidelity options:

Default splits the CSG/Meshpart into multiple convex chunks to create an optimal representation of the shape’s collisions.

Hull is just one, big convex chunk.

Box is just one, big box-shaped convex chunk.

4 Likes

I do

Is there any reason the mesh is broken up into a grid of faces? Not only would that hurt performance by upping the poly count, but I have a feeling it could be the cause of this issue.

Try dragging down and removing the doubles for all those extra edges, to look a bit like the example here.

3 Likes

That definitely seems to help.

1 Like

That’s actually the first thing I uploaded. I added the extra edges hoping it would help some how.

Would it help if you’d split the mesh in half on here?


That actually just means to resize it on one axis, but I’m interested if it would decompose differently once uploaded.

6 Likes

Capture4

Nice! Now all I have to do is stretch it on its X axis.

3 Likes

Yup, so it’s practically the same.

1 Like

Any idea why this is happening to me?