Hot Little Soft Bodies

Quite a suggestive title, isn’t it? Sorry but no anatomically incorrect miniature phantasm lip-syncing naughty things under a hot red light… Just some soft balls dropped in a spinning dryer-alike contraption. :wink:

(Watch it in 720p… and don’t pay attention to the crap YT promotes at the end.)

(Rendered with Cycles on GPU, 200 samples only. Around 30 seconds per frame.)

What you can see here are Rigid Bodies. :smiley: To be precise, 486 little rigid bodies held together in groups of 27 thanks to constraints, under mesh skins. I animated only the wheel thingie and its doors. Bullet Physics does all the rest. :eyebrowlift:

This is just a proof of concept… and an example of what Blender can do with a bit a dedication, despite its “broken” UI. :wink:

Next step: Ragdolls with rigid bodies… And after that, cloth with rigid bodies. :eyebrowlift2:

This video was motivated by the (maybe not so) recent NVidia Flex tech demo. When I saw their 3 lonely water balloons, I thought to myself “I can do that!” I just re-opened an old file with bouncing balls and I tuned the constraints to make them look a little more like water balloons. That’s all.

And, before somebody jumps in with a flamethrower to defend NVidia, I know that I most probably can’t do all that is shown in the Flex video… And that what I do in here is an incredibly complex trick… And what-not? I’m just tinkering, waiting for the day when all that the Bullet Engine can do will be available in Blender. (Dear Santa…) :wink:

Damn Kaluura… tricks or not this came out great… you managed to create realistic softbodies and RB working together in a great way.

So basicaly each ball consists of 18 RB’s … I’d be interested in seeing how you formed one of balls.

Looking forward to seeing your other next steps you mentioned.

Cool demonstration Kaluura, and yes I too am curious about the steps. Great example of what Blender can do with a little examining of available “leger-domain” and experimentation.

@Harleynut97: No… The other way around. :smiley: There are 18 balls made of 27 rigid bodies.

A picture is worth a thousand words. Here is a ball without and with its skin:

(I used duplifaces to set the rigid bodies in position.) The 26 RB’s on the surface have a spring constraint which binds them the 27th central one. The constraints maintain the shape of the ball while still allowing deformations and interactions in between the RB’s on the surface. And the skin (which is a polysphere with 26 vertices) is simply hooked to the RB’s on the surface.

I kept everything very low-poly because I was expecting some performance hit with all the constraints but a single ball is much lighter than expected… despite the Subsurf at high level. The simulation with 18 balls is slow to cache but, after that, it works at 24 FPS without problem.

I also wrote a script to change all the parameters of the constrains and even the weight of the RB’s, all at once. I can go from ping-pong ball to… alien living jello. :wink:

The ragdolls should be fun… Especially if I manage to make them stand. Bowling anyone? :smiley: The cloth will most probably be very tricky. More fun! :wink:

Episode 2: Wet Little Soft Bodies :wink:

Before to go to the next stage, I had something to test: To add rigid bodies inside the balls to simulate the water. We’re up to 750 rigid bodies, just for the water balloons.

(Rendered with Cycles on GPU, 200 samples only. Around 40 seconds per frame.)

This time, each ball contains 125 (hidden) rigid bodies. 1 core, 98 for the surface and 26 little spheres of water. The water is just contained by the surface, like in a real water balloon. Well, I spent quite some time tuning the constraints but, in the end, a few spheres still succeeded in escaping… and so does a water balloon. :smiley:

At least, I’m making some progress in scripting Blender. I now have a script to add constraints to some predefined children of an object. Next step: auto-hooks! Hooking the 98 vertices of the “skin” one by one was quite lengthy… :eyebrowlift:

To be water balloons they need to bounce more. The way it is right now it sorta looks like they’re filled with some sort of non-neutonian fluid, they hit a surface hard and then just sit there like they lost the energy on the impact.

@TiagoTiago: Hmmm… Maybe my “water” is a bit too “heavy water”. :wink: Any way, you have the whole recipe, do better than me! :eyebrowlift2:

I already tuned everything in my blend file to make things more bouncy, but when I think of the 6 hours of rendering… again… I really need more incentive. :wink: