I’m making a physics orientated game and I have run into a very annoying problem which I will try to explain the best I can. Due to a NDA I cannot comment on the type of game, so please bare with me.
I have my main physics object which is:
- A MeshCollider set to Convex with a simplified mesh
- A Rigidbody left at the default values
I have an object in my world which has scripted movement, it has:
- A MeshCollider set to Convex with a simplified mesh
- A Rigidbody set to kismetic and no gravity.
The problem is when the main physics object comes in contact with the scripted object, it goes right through it and/or will be launched.
When I remove the Rigidbody of the scripted object, the main object reacts properly, but when the main object goes to sleep, it won’t be waked when the scripted object goes through it (hence I attached a rigidbody). When I replace the MeshCollider of the scripted object with a BoxCollider and leave the Rigidbody set to Kismetic, everything works as I expect it to, except for the collision being square (obviously).
Did I miss a setting somewhere? Why doesn’t it work as I set it up initially, but it does when I replace the MeshCollider? It took me ages to find the proper scales and physics settings which feel right for the game I’m making and it’s only this particular case that goes wrong.
EDIT: The simplified meshes of both objects is far below the maximum of 255 tris.