Rigidbody "hopping" when crossing objects.

I cannot figure out what the cause of this is. I really hope somebody can shed some light on the cause.

I have a rigidbody with a simple sphere collider on it. My level is made up of static collidable tiles (all of equal size). When the rigidbody collides with these tiles, certain tiles apply a forward force to it with the following script:

void OnTriggerStay(Collider TheCollider)
    TheCollider.rigidbody.AddForce(new Vector3(forceMagnitude, 0.0f, 0.0f), ForceMode.Force);

Now for some reason when the rigidbody crosses from one tile (the one applying the force) to another (a plain static collidable) it does a little hop as if it's hit a little step or something. I'm sure that my tiles line up perfectly square and that they are airtight where they touch each other.

Any advice would be greatly appreciated. Thanks in advance.


For anyone else having this problem. There is a setting in Edit->Project Settings->Physics called "Min Penetration For Penalty", this basically sets how much an object can penetrate another before being pushed apart.

My player sphere was penetrating my map tiles a little too much, and when it hit the next tile, it was like hitting a step up. This sorted it out like a charm.

Does your tile have a seperate trigger collider on top, or do you just mark the collider as trigger?

Colliders that are marked as trigger don'e "collide" and don't give physics feedback. Trigger can passed through, they just "trigger" something. How big are your tiles in relation to your player sphere? If you move quite fast you will just fall into the tile and then hit the edge of the next tile which pushes you up again.

Can't think of anything else...