Voronoi Fracturing

by - 2012/07/05 61 Comments Random

In new builds of blender you will find under User Preferences/Addons/Object/Cell Fracture the new voronoi fracturing tool from Campbell Barton! It’s still under development, but already useful.

screenshot with all the options

and a example video:

(Sorry for the short post and the boring example video. Back to work!)

update!

fracturing in action in actual shot:

  1. Mikko says:

    That’s beautiful stuff. I get so mesmerized by the special effects, after all the frustrating technicalities are cleared up :P

  2. Donnerland says:

    Is it also possible to do some wood-shattering like in Phymec’s shatterscript does?

  3. Karlis says:

    And in fact.. why write your own fracture script if Phymec already had one.. Or this is better?

    And by the way.. I think it would be great to be able to open these “F6” menus and leave them opened if I want.. The left panel gets too crowdy with all the settings and stuff..

  4. Fred says:

    I know it is a bit off-topic, but do you guys have a date for the trailer of the film? Can’t wait for it :)

  5. Its amazing… but where can i find the latest builds?
    anyone link please..

  6. cuban_blend says:

    Hi, someone could put the add-on to download in someplace?
    Or only works with the new version of blender? Thankss!!

  7. Brandon Hix says:

    AWESOME!!! Now this is what I was talking about including with the deformations in the last post!

  8. bashi says:

    could be faster…

    What about analyze Animation of Object and break on Impact?

    • Campbell Barton (ideasman42) says:

      yes, we intend to get this faster – at the moment its a very small python script, which makes it easy for me to try new stuff, but looses some speed (though I did re-write the _really_ slow part in C, since it was taking minutes to fracture simple meshes).

      So probably we will replace the voronoi calculation with http://math.lbl.gov/voro++ or our own smaller library at some point.

      • bashi says:

        thank you Bart,

        i really appreciate your work and your as a person.

        the speed “issue” isn’t as big as i first thought, since it doesn’t take exponentional longer for somewhat more complex meshes. It does sometimes not work completely: some Shards (from creation) remains as well some full Mesh copys.

        All in all a great Tool. Thank you Phymec and Bart. (Maybe add Phymec as Author?)

        I’m still interested if there are some plans/ideas for “calling” this script on Impact…

        bashi

        • Campbell Barton (ideasman42) says:

          good point, done – http://markmail.org/message/gfpbgaa2hmnn4bxl

          the are problems with the existing convex hull calculation in blender, in fact not unique to the fracture script – its a general bug, Ill look into fix or alternatives (bullet has a convex hull calculation function we might use).

          • bashi says:

            ok, thanks. any idea/plan about a “dynamic” scattering on collision?

            (btw, is it possible for bge simulation to pause it – run this script – and continue simulation?)

          • Campbell Barton (ideasman42) says:

            … stopping, pausing and fracturing at runtime would be possible but tricky to manage and not something we’ll be looking into I think.

  9. bashi says:

    and how works this thing. tutorial would be great.

  10. SamCameron says:

    We need a tutorial or something please, it works very nice but I don’t know how to control the debris after the creation.

  11. LOGAN says:

    Looks promising! Why do simulations and physics always look like they are in slo-motion?

    • AlekB says:

      It is most likely because the default fps for bullet physics sims is 60 and then they render it at 30.

      • belich says:

        so the working fps of the main scene is not the same that bullet uses? do we need to configure that in blender game render engine, to work properly? or something like that?

        • AlekB says:

          Yeah, that is the way to do it in the BGE. However, I hope that at the end of the GSoC project that bullet sim will just use the scene fps.
          @kjartan Yes! No kidding, the blender default cube is huge! I should definitely be more aware of scale when I’m doing simulations.

      • kjartan says:

        good point with the fps thing but in but in this case it’s more a matter of scale. Remember that objects in blender comes in huge(the default cube is 2x2x2 meters!). In this scene the objects are 2-4 meters big. if i had scaled them down then they would of course move faster.

  12. Stuart says:

    I’ve been trying to get a hold of Phymec’s stuff for a while so it’s great that you’ve got it in there!

    Now, can it do impulse breaking between shards? (see the horse shattering in Phymec’s test video for example). The latest bullet engine can do this, but I’m not sure that’s in the latest blender?

  13. 3pointedit says:

    HEY, is that a floating window?! Are they in Tomato branch now? Or did you just dupe a window on top…

  14. VFXguy says:

    While it is of course cool – I don’t get the fascination with voronoi fracturing. Everything shatters in equally sized chunks. Exactly what you don’t want when simulating smashing of things.

    I work in a VFX studio and when we have to smash up thing we use DMM, because it enables us to get chunks and splinters of all sizes in a single sim.

    • kjartan says:

      With a flexible voronoi cutting system you can have chunks in Any size. You can even make a point cloud where you specify exactly where the initial cutting happens, so that you can have one area dense with small fractures and others with bigger chunks.

    • bashi says:

      As kjartan says,

      with the Particles controlled scattering you can make very different sizes of the chunks very nicely.

      I would probably use dmm as well, if i had it ;-)

    • VFXguy says:

      Very interesting! quite a different story then. Is such a feature already implemented or maybe planed?

  15. Sévérino, says:

    MORE_REAL !! ;-))

    1)__It’s possible to introduce an option like : direction of the fiber
    (=> choose an local axe : X, Y, Z )
    It’s like wood, you can see the fiber of wood.
    Paper it’s the same thing….

    2)__Its possible to introduce : geometry of sub-fractures ??
    – rectangular (for wood) with tips on the borders…??
    – 2D-polygonal (for glasses)
    – 3D-polygonal (for ice) => it’s the actual default option ! (good!)
    – ray of light (from contact fracture-point to the bottom object until the gravity-axe…!???)
    – and more…
    – 2D (in a plane) (triangular, square, circular (= a disk), regular n-gone # polygonal (= no regular)
    – 3D (in 3D dimensions) (triangular (=pyramid), square, circular (= a sphere), regular n-gone # polygonal (= no regular)

    Have good ideas and good works for Mango -Project !!! ;-)))

    • Campbell Barton (ideasman42) says:

      1) done
      2) not quite sure what you mean. for 2D fracture you can input points on a plane and its inherently 2D fracture.

      … your other suggestions seem to fall outside voronoi fracture, so of course there are many ways to dice up geometry.

      For now Ill just try have voronoi working and do what we need for mango – though this should be fine for general use too.

      • Sévérino, says:

        Big Thanks Campbell Barton !!! ;-))

        You and Mango Team make Good work !!!

        Yes for the option :
        2) – ray of light (from contact fracture-point to the bottom object until the gravity-axe…!???)
        or
        3a) Fracture (ray of light, above…) = thunderbolt
        or
        4)__why not to give the name : FRACTURE TREE
        It’s possible to use the script int this video :
        http://www.youtube.com/watch?v=ogE3mHIXT2Y at 2min17secs
        to create : a tree-fracture or thunderbolt-fracture
        (the same option for me)
        And this option wil work on 2D (a 2D-projection of the 3D-tree) or in 3D inside the object ??? ;-)) => MORE REAL OR NOT !!?!?? ;-)

        Its’ like the object who touch the ground, and after at this contact point, you have like a thuderbolt who grow up to the top of the object and fracture the object on this tree ??

        Big Thank everybody and good work and good Mango-Project too !!! ;-))

        • Sévérino, says:

          !!?? Campbell Barton you are ideasman42 !!??? ;-)

          You are a Legend for me !!! ;-)
          And a honnor for me, that you respond to me !!!! ;-)

          Sorry for my bad french-english… ;-)

  16. Sévérino, says:

    Another idea come now….

    3)__Hierarchical groups-fractures…
    3a) Fracture (ray of light, above…) = thunderbolt
    Exemple : The suzan head breaks into 2 or 3 or 4 big sub-fractures ALONG THE THUNDERBOLT, and after a delay that we choose (or after imobilisation, or 1 second or 2 seconds or X seconds before imobilisation of the big-sub-fractures) we can introduce fractures that we know, the tool or add-on fracture…!!!??? ;-)))

    Yes, why not show the add-fracture like a tree with
    ==> WITH ONE NEW EDITOR-TYPE THE NODE EDITOR => NODE FRACTURE !?? ;-)
    0)__ options on the principal object
    1a)__ options on the BIGS-sub-fractures (2 to 6 or 8 or n if you want…)
    1b)__each subfracture own this proper delay
    1ba)__ random interval delay for each BIGS-sub-fractures
    1bb)__ after X seconds for this BIGS-sub-fracture => control more accurate
    1bc)__ at imobilisation of BIGS-sub-fracture
    1bd)__ random interval delay before imobilisation of EACH Bigs-sub-fracture

  17. SamCameron says:

    Hi guys, any idea how to make the fractured objects to be static (not reacting to the gravity) until something hits them?, Cause as soon as I press ‘P’ all the parts fall down to the ground, and I want to keep them in place until they get hits by something. Thanks in advance.

    • bashi says:

      possible within the bge with some python. (not to much). search on blenderartists (or google). more or less it’s about deactivate objects physics, until collision (then activate it).

      other possibility is to make constraints between all of them – so they react as whole object – and let break constraints on enough force.

      but honestly those variants – while absolutely doable – are not just a button to hit..

  18. Gamble says:

    I’m happy to have this incredible tool in blender :) Hope you integrate it soon :)

    • bashi says:

      it IS integrated… next official release will have it. until then grab a recent graphicall build. ;-)

  19. Matt Heimlich says:

    A short tutorial for how to properly set this up and use it in a small scene would be much appreciated.

  20. drobbins says:

    this is from an older version but it was enough to get me up and running. NOTE: after using the new fracture tool the new shards are on a different layer

    http://www.youtube.com/watch?v=7ZbH5rkFOwo

  21. SamCameron says:

    Very useful link drobbins, that kind of sort out my problem, thanks.

  22. Matt says:

    Very great !!! just one question, I tried it on a subdivided object, with “smooth normal” and the resulting mesh is really strange (all fracture parts are very visible). If I apply “flat normal” is better but saw all faces… There is a way to have a good result on a smoothed object (looks like with Phymec)?

    Also where I can found the phymec library or activated it from blender 2.64 (I’m new to blender…)

    Thanks

    • kjartan says:

      hi Matt. Fracturing smooth objects is often a bit more difficult compared to hard faceted models. What you can try is to shade them smooth and then apply a edge split modifier to all the shards by using Ctrl+L menu. This makes the transition between shards less visible. If that’s not enough you might have to fake it by doing a transition effect between the pre-fractured-model and the shards.

    • kjartan says:

      oh yeah, i forgot. The phymec library is actually not available publicly.
      The tool that Campbell made has little/nothing to do with the actual code that phymec wrote.

  23. KilleroyCZ says:

    Hey, I would like to ask this noobish question, how do I make the shards stay together and collide with everything else, lets say car crashing into wall, making the wall look fine until car crashes into it

  24. Thies Uhlenbruch says:

    Would be great to get an update of the cell fracture addon so that it calculates the correct mass also for the new bullet integration in the next blender release