Using mirrored meshes as colliders causes a bug where you're sucked inside them

We’re wrapping the collidable parts of our meshes—walls, doors, etc.—with simpler, invisible shapes which have checkCollisions enabled on them.

After testing, it seems that the colliders that were produced by mirroring them in the 3D modeling software are bugged. If you actually collide with them, you’re sucked inside and can’t leave. However, the original meshes (i.e. the left side) work fine.

Some things we tried:

  • I checked and the normals are correct.
  • These are the only meshes that have collisions enabled on them. The rest of the environment has no bearing on physics.
  • Replicating the mirrored colliders manually solved the problem. But doing so for the whole environment would be significantly more time-consuming.

What may be causing the issue? The modeling software used is 3ds Max.

would you be able to reproduce that on the playground or provide a (non-) working example of the models? from what you are describing it feels like the side orientation of those meshes is incorrect (maybe during export), but it is very hard to tell.

Maybe someone has experience with 3d max and the way it exports meshes and can provide a better answer :slight_smile:

Here: Colliders Test | Babylon.js Playground (babylonjs.com)

In the front row, neither side is mirrored.

In the rear row, the boxes on the left side are the original and the ones on the right are mirrored. If you walk into the the right wall, chances are you’ll be sucked inside and trapped.

It does seem to be related to the negative scaling you apply to the y axis . Are you doing that to mirror the mesh?

Oh, I didn’t catch that at all. I’ll see about fixing that and test the issue again.

Edit: Yeah, that was it. Thank you!

1 Like