Jump to content

Voronoi - dynamic - location based fracture (WIP)


johner

Recommended Posts

Hello!

Kind of new here. For the past few weeks I have been messing around with Voronoi. Great tool! In short, I am filling a glass object with particles. The glass shatters and fluid goes every where. Fairly simple. The fracture to my object is happening in the dop network along with the fluids. When I run the simulation, A fatal error pops up. I have attempted a file sim export. Also a Rop export (Out>geo then sop path is connected to the dop of the glass geo)exported as a bgeo sequence. That works when the fracture is not on. When turned on and re simulated at the frame of impact the object is set to the original position. Also I can not seem to get a material attached to the shattered object.

So in short is there any way to export the fracture sequence to be called back into a dop sim as a rb ojbect to interact with the fluids?

If needed i can put a example together.

Thank you in advance for the help!

West

Link to comment
Share on other sites

Yeah, I would do the fracture sim separate from the fluids sim, especially if you're using the dynamic fracturing. You'd most likely want a one-way relationship between the two anyway, i.e. RBD affects the particle fluids, but not vice-versa. You can use a File DOP to write out the RBD objects if you want to keep it in the same network, or a Dyamics ROP to write out .sim files, then read them into a separate DOPNet that just contains your fluid sim.

You'll most likely want to save the state of the DOPNet in .sim files, with RBD Objects, collision volumes, velocities, etc, rather than trying to write out .bgeo files with point velocities and re-importing that to DOPs.

In case you haven't seen it, the Fluid Dynamics videos at SideFX have a similar example using pre-fractured geometry, and I think they show a similar workflow where they cache out the results of the RBD sim. Look at class 15 there.

I put this in another thread, but Craig Zerouni's DVD on DOPs is great for learning this stuff.

Link to comment
Share on other sites

Yeah, I would do the fracture sim separate from the fluids sim, especially if you're using the dynamic fracturing. You'd most likely want a one-way relationship between the two anyway, i.e. RBD affects the particle fluids, but not vice-versa. You can use a File DOP to write out the RBD objects if you want to keep it in the same network, or a Dyamics ROP to write out .sim files, then read them into a separate DOPNet that just contains your fluid sim.

You'll most likely want to save the state of the DOPNet in .sim files, with RBD Objects, collision volumes, velocities, etc, rather than trying to write out .bgeo files with point velocities and re-importing that to DOPs.

In case you haven't seen it, the Fluid Dynamics videos at SideFX have a similar example using pre-fractured geometry, and I think they show a similar workflow where they cache out the results of the RBD sim. Look at class 15 there.

I put this in another thread, but Craig Zerouni's DVD on DOPs is great for learning this stuff.

First off, I have to say thank you for the reply! I actually figured it out 5 mins after I posted. I had tried a few of those methods. After the sim was called back in, at the point of impact the object would go back to its initial state. The work flow I ended up using, Rop output connected to an object merge for object1 connected to the fracture pieces. When called back into dops it interacts with my fluids! This also allows me to assign its material.

Johner Thank you so much for this wonderful tool!

Link to comment
Share on other sites

@ Johner.

Its a great tool..I had been playing with the tool ever since i heard about it.. And from my side i have a problem

im using voronoi shatter using animating metaballs.I tried rendering out.It took 7 hrs to render but it rendered only 10 frames..Could you tell me how to render out fastly..Is there anyway to render the scene out. and is there any mistakes i have done in my scene file.

waiting for ur reply,

Omy

zz1.hipnc

Link to comment
Share on other sites

thanks for this amazing tool. this is my first post here on odforce!

after installing it from the exchange i had problems with the dops examples files. i have properly installed the otl.

i get issues with jl_voronoi_fracture5 and jl_voronoi_fracture9

"this node is using an incomplete asset definition" etc...

any tips on why this is happenning?

im also trying to copy my voronoi fractured geometry a few times and import that into my sim. the problem is that the groups are all similar in each copy. is there a way of offsetting the integer at the end of the group names when i duplicate them?

Edited by queglay
Link to comment
Share on other sites

  • 3 weeks later...

Hei John,

first of all, you did a great job on this shatter tool!

I wanted to ask something, if everyone else knows it feel free to give me a solution.

here we go:

1. Let's take one chunk/piece.

2. When Add Interior Details are OFF I can smooth the chunk/piece and all edges will stay all connected, inside and outside groups.

IF

3. I turn Add Interior Details ON, bicker is being applied on the inside group, and if I smooth now the whole CHUNK/PIECE, holes will apear.

How can I fix it?

in other words how can I have outside group low poly, inside group high poly and still have them connected as one mesh???

tried poly cap, but it fails at some points, it's not very trustful node...

Link to comment
Share on other sites

I fractured something in Houdini, and attempted to bring it into Maya. Any geometry that I fracture will not import into Maya if it has UVs whether it's a bgeo or an obj. If I delete the UVs it imports fine. Any idea why this would happen or how I can get around it?

Has anyone else encountered this with other packages?

Fanks!

Jason

Link to comment
Share on other sites

Ok so I managed to work around this by deleting the inside surface generated by the fracture, and only exporting the outside pieces. After that, I deleted the outside pieces, deleted the UV attributes from the inside pieces, and exported those. Everything seems to work fine now, but I am curious as to why I was getting an error.

I don't believe that the inside surfaces have any UVs when they are generated, yet they still carry UV attributes. I tried giving them explicit UVs by projecting, but still had no luck.

While I'm on the subject of exporting, what is the most common way of getting data between packages? I've been using obj and bgeo. FBX seems flawed, and MDD from point oven only handles surfaces without topology change if I'm not mistaken.

Jason

Link to comment
Share on other sites

When I was using my RBD export to maya to get the objs to properly import into maya I was fusing all the points for each piece and then using a divide sop to triangulate them, seemed to work for the most part, I was importing about 500 objs at a time. Granted I was exporting an obj per each piece with a chan file for animation on each chunk.

As for getting animation between packages, I've seen good results of using MDD.

Link to comment
Share on other sites

Very nice tool - Thanks!

A small question:

I try to build a DOP network that dynamically shatters a pre fractured object. I'm trying to replace the rbdobject in the samples with a rbdfracturedobject and I get the fractured geometry, but I also want the fracturesolver to keep fracturing every original fractured piece upon impact. For some reason I only get the first level of fracture (the one I did in SOP) and the DOP solver wont fracture the geometry.

Any ideas?

Thanks!

Link to comment
Share on other sites

A small question:

I try to build a DOP network that dynamically shatters a pre fractured object. I'm trying to replace the rbdobject in the samples with a rbdfracturedobject and I get the fractured geometry, but I also want the fracturesolver to keep fracturing every original fractured piece upon impact. For some reason I only get the first level of fracture (the one I did in SOP) and the DOP solver wont fracture the geometry.

Hmm, that should work. Look at the attached .hip, it uses the Break/Assemble workflow to create "hero pieces" using RBD Fractured Object, then the dynamic fracturing to fracture the individual pieces once they hit the ground.

You should also be able to use RBD GlueObject and RBD Point object in dynamic fracturing.

fracture_pre_fractured.hip

Link to comment
Share on other sites

  • 3 weeks later...

thanks for sharing, i have loaded the voronoi_fracture .otl file, but somehow there are warning messages-

oplib:/Sop/jl_voronoi_fracture?Sop/jl_voronoi_fracture Warning(431): Unknown parameter type - assuming float

strange!

Link to comment
Share on other sites

  • 1 month later...
  • 1 month later...
  • 2 weeks later...

Just wondering, now that H11 has been released with much improved versions of these tools, do we un-pin this thread and let questions related to them show up in Effects / DOPS, etc.?

Also, I thought I'd post a few technical tests of dynamic fracturing I did during development. These are definitely NOT demos, and not really that interesting except to show the effects of a few different parameters, i.e. don't expect much. Most are just flipbooks, but there are a couple of simple renders to test shading workflow, some glass to test raytracing the output geometry directly, etc. These were done with old versions so I can't post any .hip's, but I could reproduce or at least explain something if anyone's really curious.

http://s3.amazonaws.com/vfx/dynamicFractureVideos.tar.gz

And a couple of longer ones that tested wedging only the random seed that controls the fracture patterns. I ran twenty of these sims at the same time on my machine, since that's how many would fit into memory (and theoretically I have 24 "virtual" cores). So, about 4000 frames of destruction in around 90 minutes on one machine, which I thought was interesting as a way to quickly get different results, generate a "background destruction library", etc. These are flipbooks, and there's a bit of shadowing artifacts. (And apologies for jumping the gun on posting these a couple of weeks back :unsure:)

http://s3.amazonaws.com/vfx/two_building_collapse_wedge_seed.mp4

http://s3.amazonaws.com/vfx/two_building_single_explosion_seed.mp4

I've got a .hip with some simple examples in it that I need to update for the release, but then I'll post that, too.

Link to comment
Share on other sites

Fun setup johner.

After using this tool for a few months with another solver setup, it's pretty interesting to seeing your results with dynamic fracturing. Definitely gonna have to experiment with them some more(and curse at the RBD Solver :ph34r: )

Link to comment
Share on other sites

Fun setup johner.

Thanks! Attached is the file with a few examples for H11, one of which is the building collapse (just a single building, I just duplicated it again for those wedged tests.)

Definitely gonna have to experiment with them some more(and curse at the RBD Solver )

Just in case you haven't already tried it, decreasing the number of collision passes speeds things up a fair bit with the RBD Solver, especially since in destruction-type sims you can often get away with fairly inexact collisions. I think for the buildings I used 2 for Collision, Contact, and SubContact passes. And SDF generation is multi-threaded across DOP objects in H11, which helps a lot in dynamic fracturing.

(Oh, and FWIW there appears to be a bug in the parameter layout in the VoronoiFractureParms DOP.)

dynamic_fracture_examples.hip

Edited by johner
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...