RigidBody Joint Constraint //edit: Child object ignores collisions?

Hey there! I’m trying to use the Blender GE to animate a toy falling and breaking to pieces. I’m using the “Record Game Physics to IPO” feature, and I’m wondering the best way to approach this.

This is probably a fairly common thing, right? I want the disparate pieces to move together at first, when it is falling through the air, and then break apart on impact with the floor.

One way I’ve thought about doing (cheating) this to connect the objects with a RigidBody Joint Constraint, and then key its influence to 0 about the frame that the group hits the floor.

However, it’s like the only constraint that doesn’t have an influence slider. And even though the “Inf” channel appears in the IPO window (under constraints), keying it manually doesn’t have any effect. (By the way, I also get a cryptic “HeadTai” channel in the IPO Curve Editor-- any idea what that is?)

So is there a way I can make the Joint Constraint keyable? Or, is there a better way to go about achieving this “falling to pieces” effect?

Thanks a bunch!

–Colin

What about falling a complete mesh object and replace it with lots of pieces when it collides with the ground? Then you have two animations one is falling of the toy and one is breaking into pieces.

just swap out the solid objects for the chunks… just before it hits the ground

Okay, sounds like a promising technique. But I’m not sure how to go about doing this in a way that’s pretty much seamless.

I’ve fooled around with a Collision Sensor hooked up to an “End Object” and a few “Add Object” Actuators, but I’m running into a couple problems.

First, unless I keep all the objects’ origin points the same, the orientation of the objects after the replace is off. (There’s no offset-- it spawns the new objects from the original object’s origin.)

Secondly, the momentum and movement of the 1st object is not passed down to the replacement objects, so when they really should go flying they sorta just settle on the ground.

Am I approaching it wrong? How else do I swap out objects/animations?

Thanks guys! I’m new to this…

I have attached a .blend that does what I think you are wanting. It collision with the ground it replaces the cube’s mesh with another subdivided mesh that has a shape key driven action assigned to it. Hope this works for what you needed.

Attachments

BROKE.blend (311 KB)

Thanks, GGentzel!

That’s definitely cool, and I think it’ll work very nicely for the dent animations I’d like to do with a couple of my meshes.

However, what I’m trying to do right now is more similar to the .blend file attached. Disparate pieces that come off, which are still rigid body objects and can bounce off other things, etc.

Right now though there are some definite issues (some of which I’ve noted above.)

Any ideas about how to achieve this? Thanks for your help!

–Colin

Attachments

boxCollision.blend (144 KB)

I am still doing “research” on this, but seeing as you are a member of the Durian team, I will give you a “preview” of an aspect of Blender that not many if anyone seems to know about the physics system in Blender …

The physics system whether it is the GE, particles, fluid, cloth or softbodies uses the same parameters (I believe based on the GE) for the simulation of physics . I kind of knew this, but since I was more interested on the animation/modeling side of things I tended to do the usual noob perfunctory “testing” of the various “sim” tools available in Blender, so as to be familiar with the interface …

But back to your issue … And for simple animation purposes like yours - you can skip the rigmarole of baking GE IPOs and actually use softbodies as rigidbodies … The advantages of using soft bodies is obvious as you just have to bake it and you are done and the set up is ridiculously simple .

Below are a couple of simple examples . The first one is just 3 cubes in one mesh unattached to each other, and the second is Suzanne split in half . The first has self collision enabled (which is what you want), but Suzanne’s more complicated mesh flips out when you enable self collision … I was surprised it didn’t wind up with more clipping issues then it did …

A simple overview of how to set this up :

  1. turn off “Use Goal”
  2. crank up the bending stiffness value (the “Be” button at the bottom of the panel) to at least 1.0 (use higher values for more complex meshes - the cubes work with a value of 1.0, but Suzanne requires at least 10.0)

And that’s it … I realize Suzanne even at 10.0 bending stiffness still jiggles a bit, if that bothers you try increasing the value or alternatively you can start adding internal faces/additional geometry to stiffen up the shape more … or imagine it as a soft plastic toy :stuck_out_tongue:

If you need the self collision option you should make the parts that will break apart on impact very basic (cubes, pyramids, etc), as well as decrease the ball size to something really small (otherwise the parts will blow out in the first frame of the simulation), and you also need to turn on the CFace option as well . The actual scale relative to BU units also influences how well the self collision works as well (in the example the cubes are 1/10 of the original default cube) … Even with that you still might wind up with some clipping depending on the setup though … but you can’t beat this for ease of setup .

Edit : not to look too much the fool I tried the GE option with the Suzanne mesh separated into 4 objects (like in my example) and the only bounding box option that didn’t blow up from the start (triangular mesh) behaved very oddly and when it hit the floor it had major mesh clipping issues …

Here are the examples . Just hit bake or Alt-A (the Suzanne file takes a few minutes) .

Attachments

Softbodies as Rigidbodies.blend (143 KB)split_suzanne.blend (178 KB)

Awesome Vertex Pusher. Thanks to your in-depth explanation as well as your example files! Great help.

I just tried using softbodies to do this but the particular model I’m using squashes and jiggles, even with an extruded interior and rigid faces/edges turned on and stiffness cranked up. I may just have to do more experimentation with scales and simplifying the model or something.

Hmm, just to give you an idea of what I’m trying to do, here’s a link to a quick sim of one part of the plane toy:

wing_physics01.mov

It would be great if the little red engine thingy could fly off on impact. Here’s a screencast of my issue, going back to the GE:

http://www.colinlevy.com/misc/images/BA/childCollisionProblem.jpg Click to play. 11mb.

Thanks for your help!

Sorry for bumping this up, but I think I may have found an easy way to get round this problem.

Split the toy plane mesh into separate objects where you want it to break. (so that there’s one object for the wing, one object for the little red engine etc.).
Set up each of the objects as a Rigid Body, select ‘Bounds’ and set it to Convex Hull.
This should make the objects stay together nicely as they fall, and then smash apart when they hit the ground.
If the pieces start flying everywhere as they fall, check if the meshes are cutting into each other (see layer 2 of the attached blend) and if they are then you’ll need to somehow fix it (maybe a boolean modifier?)

Hope that helps, and good luck with the movie! :slight_smile:

Attachments

smash.blend (267 KB)