I’m modelling the behavior of a cylinder-shaped balloon that is placed under a falling box. I want the box to collide with the balloon, so the balloon’s inner air pressure absorbs the impact of the box and makes it bounce (like an air mattress, for example).
So far, I’m only able to make both objects collide when the box has a fixed position, by using the SolidPointCollide component (1st image):
When I make the box fall using VertexLoads to simulate gravity, the box moves down passing through the balloon without colliding with it (2nd image), and the balloon behaves as if the box remained in its initial position (3rd image):
How can I make the SollidPointCollide component work while the box is affected by the VertexLoads component? Here’s the GH file: Falling box and balloon collision.gh (57.0 KB)
Thanks for your attention!
Falling box and balloon collision2.gh (60.2 KB)
Something like this?
I used a simpler mesh for the box, added it as a rigid body, and switched the ‘Unidirectional’ option for SolidPtCollide to false.
Something like this?
That’s better, but the balloon makes the box bounce as if the box didn’t have any weight.
How can I make the box’s weight to push down on the ballon, reducing the ballon’s height and thus counteracting the ballon’s inner pressure? When I increase the box’s “weight” by raising the Weighting or Force Vector values of the Load component, the box only bounces faster, without exerting any force on the balloon.
Also, in order to produce a more realistic simulation, I want to control the “physical properties” of the ballon (e.g. its tensile strength and its stiffness) so that it can expand and bend as it absorbs the box’s impact without bursting. For example, if you tossed a heavy rock over an air mattress, it would expand and bend without exploding since it is made of a thick and strong rubber membrane. However, if you tossed that same rock over a party balloon, it would pop because it has a thinner and weaker material.
Thanks for your time!
The box is pushing down on the balloon, but because in your file the balloon is more or less a vertical column, the box quickly slides off, so you don’t get to see it affect the balloon much.
Here with the inflation force reduced a bit you can see the squishing of the balloon more clearly:
Falling box and balloon collision3.gh (58.3 KB)
While it is possible to use actual material stiffness values in Kangaroo for some things, such as 1d elements and bending rods, it doesn’t currently include a calibrated membrane element (you can set real values for the tension of the soap film element, but this is for form-finding, not simulating fabric with shear stiffness). It’s something I aim to add in a future release though.
With networks of springs you can adjust the strength to get qualitatively correct looking behaviour for fabrics, but it isn’t currently as easy as looking up the material properties from a table and plugging it in.
Bursting or popping would also require some custom goals, because the standard springs stay linearly elastic no matter how far you stretch them, and never break. I did have a go at some breakable elements a while back here, and could develop this aspect further if it would be useful.
That’ll do it. Thanks for your valuable help, @DanielPiker!