Demolition Script & Tests

my enthusiasm for having it in c is only that python is fairly slow…maybe when you are done making a nice script in your own good time someone else can have a go integrating it… I think you’ll have a small crowd keeping an eye on progress :smiley:

Very Nice, looks great !

Big Fan is right, having it in C would indeed speed it up. Also, having volumetric demolition effects built into Blender would give a good reason for production houses to look into Blender for effects.

Looks great, I remember you asking about changing topology perframe on a softbody simulation. So is this a blender softbody simulation with your python scriptlink? Or are you modifying a prebaked simulation?

no, this is my own development of a softbody like simulation. but of course i tried several simpler ways before, but there were to many obstacles like the softbody access via python. however, finally i got it to work.
and modifying prebaked animations would lead to anything else but a realistic simulation.

looks cool all ready when you will release a small alpha version for public ;p

Very impressive! I particularly like that the mesh can be ripped.

I look forward to seeing more of this :slight_smile:

Wow! Maybe I’m just having a fantasy here but this looks like it could be the beginning of a path toward solid modeling in Blender. Maybe Ton should rename this program “Mind-Blender”. If you guys keep doing this sort of thing were all going to need a Boxx Apex 8 just to keep up. Good job man!

Great stuff!

Forgive me if I missed this if it has already been mentioned - but how long did it take to create/ bake those results?

Either way, this could prove very useful! Looking forward to a release sometime.


I think a publice Alpha release would be a good thing, that way people can test it to it’s limits, and update you with bug reports.


any chance of a release soon?

just a little update. this stiffness problem was difficult to handle but i found a way which isn’t too slow. it’s some algorithm which monitors every piece of separate geometry and checks it for a predefined maximum deformation. hard to explain so just have a look…

calculation time around 10 seconds per frame on a p4 1,7 ghz and the car model has around 7000 triangles.

i had the idea to add an option for using a different break limit for faces with alpha <1. this way it’s easy to handle glass different from solid faces in the same model. that’s what i’ll do next.

am impressed!

WoW! Very good, only 10 seconds per frame? and how many frames are in that .gif?

32 frames. :wink:

would it work for simulating a sword fight were the mesh would be cut up into bits?

This is looking soooooo yummy :smiley:

Wouldn’t it be better to allow the user to set that break limit manually? Or even better, link it to a material! Not all changes in ‘breakiness’ are related to something being made of glass; an object might be part metal, part flimsy plastic, both with alpha 1.0, but break differently. If using material to decide ‘breakiness’, the user can always create a material that looks exactly the same, but breaks differently!

yes, it should do that. but notice, the pieces of the mesh are no solid objects then (no closed object). so maybe the wounds or whatever you think of need some post process to make it believable.

of course, you can set a limit for solid materials (alpha=1) and a second limit for transparent materials (alpha<1). i don’t want to make it to complicated. it should be enough for simulating car crashes with windows and mirrors breaking while the metals and plastics are deforming and tearing. it’s also pretty hard to recognize by the viewer whether there are 20 different breaking limits or just two. maybe in the future…

btw, i tested vector blur and it works fine. :slight_smile:

very nice work. Looking forward to using it.

This looks awesome!

Some thoughts:

  • it looks like things that get deformed tend to spring back a little. Being able to adjust the hardness would be great.
  • would it be possible to tap into vertex colors (from vertex painting) to determine the hardness of different areas of the mesh
  • maybe there could an optional “sleep” parameter similar to the physics engine where after a certain amount of time (or in this case you might also consider proximity to the point of impact), there aren’t any more calculations being done for that part of the mesh. This might help to control the continuing movement of the mesh. The sleep parameter could also be linked to the vertex color. This could also speed up the calculations.

Thanks for all the hard work!