Rigidbody object falling through floor.

I have a rigidboy object that needs to act as a trigger, is has a rigidbody/mesh collider/mesh renderer/mesh filter attached to it.
The collision object is positioned on the floor beneath it, it has a mesh filter and a mesh collider, it has an emitter attached to it which is coded to turn on when the collision is true.

going back to the rigidbody, the convex is ticked and the is trigger is ticked on the mesh collider, this is because it needs to work with its colliding object, but the problem I have is that the object keeps falling through the floor when is trigger is ticked.

When i remove the is trigger tick, it doesnt fall through the floor, but it doesnt act as a trigger which I need it to.

If this doesnt make much sense, please see this thread i made about another previous issue…thanks.
link text

isTrigger will make that collider pass through other colliders so you might make another collider a child that will be affected by physics or use OnCollisionEnter.

Uncheck the Use Gravity option on your rigidbody to prevent gravity from being applied to it.

Remove the RigidBody component from the ground, keep only the Collider on the ground. On the other objects, you keep the RigidBody and Colliders.

you could always just change your rigidbody to “isKinematic” to prevent it from falling.

Ok ive figured it out, the waterfall trigger needs convex ticked. work fine now. Thanks guys

attach a collider to it (box collider recommended)

I had same issue: Rigidbody object falls through the Terrain. I checked ALL answers regarding this issue, but my issue was still not solved.

First, let me give you my Character setup, if you have similar setup, maybe this is the fix for you: Character Hierarchy is: PlayerParent (Empty Object)>PlayerChild (Mesh, Rigidbody, Collider) + Camera (Child of PlayerParent).

After some tests, I realized, my character do not have any problem when starting at Transform Position Y: 0 or 1. When character is on Terrain, naturally it has to start above SeaLevel, which is above Y: 50 (or another water level you designated).

Let’s assume PlayerParent starts at Y:65. If PlayerChild is at Y1, PlayerParent keeps it at Y:66.

When game starts, Parent Object stays at 65, but Child always moves/teleports to -65. If it has Rigidbody with Gravity turned-on, then object starts to fall down. At first I had thought, object was falling through the terrain, but then I realized this starts as Object spawns at -65 first, then falling…

Real Reason of the Problem:
This issue is due to Spawn order of Unity. Therefore I solved by creating additional spawning time for PlayerChild. Because, PlayerChild spawns at position of Parent when parent is at Y:0. Then Parent moves to Y: 65. So child’s position becomes -65 relative to parent.

Here is how I solved it:
I added NextFrame Event for creating PlayerChild, then I set PlayerChild to Y:1 in the code (I use Playmaker for scripting). So when objects are created, this iterates the position of Playerchild again, then when PlayerParent is at 65, PlayerChild has Y:1 (world position at Y: 66),

I hope this can be helpful for somebody who has similar issue.

Just add a capsule collider and make sure the ground has a box collider