- Home /
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
If you have that waterfall plane's collider set isTrigger and your trigger script on it, then the rock with collider not set isTrigger should fire that script and keep your rock from falling through the ground.
but if the rock collider isTrigger isnt set, how will it tell the plane collider the collision is true? I tried your method but didnt get much luck.
Should work. Just copy/pasted that C# code I posted the other night in a script (deleted the non-drag&drop emitter stuff off of it) , attached it to a game object, put a collider on it with isTrigger set. Then put a child object on that with a particle emitter/animator/renderer. Drag/dropped the child object onto the parents script slot for the emitter object. ... Then made another object with a rigidbody and collider not trigger, tagged it as "Rock" , moved it into the trigger in play-mode and it shut the emitter off. $$anonymous$$oved it out, emitter turned back on.
I'm attempting this now, but i keep getting the following error, "A namespace can only contain types and namespace declarations" on lines 4, 6 & 11.
Ok I got around that issue, and i followed the rest of your steps, but the emitter is still not reacting to the rigidbody when they come into contact
Answer by Unk · May 22, 2012 at 04:33 AM
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.
Thanks this might explain the whole issue, I take it OnCollisonEnter would mean I would have to re-write the script into Java?
its currently this in C#...
public class Waterfalltrigger : $$anonymous$$onoBehaviour {
ParticleEmitter myEmitter ;
void Start(){ myEmitter = GetComponentInChildren() as ParticleEmitter ; }
void OnTriggerEnter(Collider other){ if(other.CompareTag("Respawn")) myEmitter.emit = false ; }
void OnTriggerExit(Collider other){ if(other.CompareTag("Respawn")) myEmitter.emit = true ; } }
Answer by e-bonneville · May 23, 2012 at 12:14 AM
Uncheck the Use Gravity
option on your rigidbody to prevent gravity from being applied to it.
Answer by crummyrex · Nov 20, 2012 at 12:34 AM
attach a collider to it (box collider recommended)
hey thanks for the help, I've long since abandoned this particular project but when dealing with rigidbody issues in the future, I'll bare this in $$anonymous$$d.
Answer by stingman · May 22, 2012 at 02:20 AM
you could always just change your rigidbody to "isKinematic" to prevent it from falling.
Answer by Lboy · May 23, 2012 at 03:09 AM
Ok ive figured it out, the waterfall trigger needs convex ticked. work fine now. Thanks guys