Jump to content

Voronoi - dynamic - location based fracture (WIP)


johner

Recommended Posts

  • 7 months later...
  • 2 months later...

Hey Johner,

Thanks a lot for the example file, very impressive, you've almost convinced me to build a setup using procedural shattering.

however I was wondering if you bumped in the problem of re-creating consistent topology from the last frame of the sim so that there would be no topology change throughout sim.

In other words a nice way to grab all the shattered pieces at the last frame and trace back their motion so that we keep the same number of shattered pieces since frame 1.

This would be cool as a post dop process but I've got a little problem figuring out where to start :)

Thanks again for your help

P

Link to comment
Share on other sites

  • 4 months later...

OK, so documentation and examples next, but I wanted to describe one feature I implemented trivially this morning in one of those incredibly cool "power of Houdini" moments.

Some background:

The Voronoi fracture SOP takes two inputs: the mesh to fracture, and the points around which to build each Voronoi cell. So, assuming that all of the points come from within the volume of the mesh, you'll get one piece/fragment per point. This is really nice, since it gives you complete control over the number and placement of the fragments. Anywhere there is a higher density of points, you'll get more, smaller fragments. So to get location-based fracturing to work, you just have to generate more points closer to the impact location.

Within the SOP Solver of the Fracture Solver asset the basic algorithm for fracturing looks like this:

--Test object is big enough, impact hard enough for fracture

--If so, snap impacts to surface of object with Ray SOP set to MinDistance

--Copy a metaball of user-defined radius to each impact point, call this the "impact zone"

--Create a signed distance function from the metaballs with IsoOffset in Metaballs mode

--Normalize and invert this by dividing by the minimum value of the SDF and clamping to (0,1)

--At this point you have a density volume that ranges from 1 at the impact point, falling off to 0 at the outside of the impact radius

--Merge in the current object's collision SDF and intersect the impact volume with that

--Scatter points by density in the resulting volume and feed to the Fracture SOP

So you get more points the closer to "ground zero" you are to the impact, which leads to more, smaller, fragments.

The "Visualize Impact Region" feature works by just feeding the un-intersected impact volume to a VOP Sop that does a VolumeSample and maps the impact density at a given point to a red/white ramp.

Anyway, I'd been thinking about how to do explosion-based fracturing, i.e. non-impact based fracturing based on how much within the blast radius of an explosion a particular object is. A good way to do explosions is by attaching animated, quickly expanding metaball geometry to a Magnet Force DOP with a large negative force scale. That metaball geometry defines the blast radius. You might see where this is going.

I realized all I had to do was ObjectMerge the metaball geometry from any Magnet Forces attached to a given object, and merge those with the metaballs from any impacts to create the overall "impact zone" described above. Then all the various SDF manipulations are exactly the same. So, an ObjectMerge, a Merge, and a couple of Switch SOPs to enable/disable the feature, and I had Magnet Force explosion fracturing. It was literally four SOPs. How cool is that? Flipbook:

here

Link to comment
Share on other sites

  • 3 months later...

hey I just started taking a better look into your tool and I was wondering, if there was a way to only have one fracturing, so no secondary fracturing of the Object.

And where can I change the strength of an object...

I want to break a cafe mug on a table in one DOP... but they would have different strength resisting the explosion based on the nature of the material they are build from, where can I change those attributes if possible?

By they way, the tool is amazing!

Link to comment
Share on other sites

  • 4 weeks later...

Hi All!

I have a large box, a broken by Voronoi. I throw it into another box. Count 72000 polygons. The simulation lasts many hours, and 190 frames = 102 Gb. Is this normal? Are there any methods to optimize? Are there any faster simulate engines?

Please help. I have no experience with RBD DOP network.

networks:

post-6294-132835985633_thumb.jpgpost-6294-13283598231_thumb.jpg

video:

stone_new.mov

files for the flipbook. sim loaded from disk 2 hour :(

Link to comment
Share on other sites

Hi All!

I have a large box, a broken by Voronoi. I throw it into another box. Count 72000 polygons. The simulation lasts many hours, and 190 frames = 102 Gb. Is this normal? Are there any methods to optimize? Are there any faster simulate engines?

Please help. I have no experience with RBD DOP network...

Based on your screenshots it seems you are caching the simlation as a simulation.

Most of the time it`s not necessery. You should get the data from the DOP

network to a SOP network with the dopimport node and cache only the geometry.

Simulation caches contain much more data than simple geo caches.

It won`t affect the speed.

I don`t get what bbox is doing, especialy that it`s turned inside out

with the invert sign parameter turned on. You should attach a scene file,

or people won`t be able to check if there are options to alter parameters

or the setup to speed up the simulation.

Link to comment
Share on other sites

  • 2 months later...

Hi all!

I have a fractured box (screenshot below), and i want to get collapsing result like on this video

With "translate" node i animate the position of fracture points, to get a progressive collapsing result, but on simulation i have a bad result with one peace of geometry(screenshot below), i'm new in Houdini help me please!

YUE0.jpg

N3P2.jpg

Edited by GeT
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...