Jump to content

Make Breakble and Debris problem


Houdini_VFX

Recommended Posts

Hi Mirco,

Yes, the "Debris" tool is really designed to work with the older RBD Glue and Fracture objects. You can emit debris from dynamically fractured objects pretty easily, but there are a couple of steps involved. It actually works better than the Debris tool in some ways, since that tool relies on proximity to detect when pieces have fractured, which can be a bit slow and inaccurate. But dynamic fracturing is actually creating new geometry at particular times in the simulation, so we can make use of that for debris.

See the attached file for an example. The main parameter to be aware of is "Stamp Interior Primitives With Creation Time" on the Fracture tab of the RBD Solver DOP. This creates a "creationtime" attribute that records the simulation time on any newly created interior primitives in the fractured geometry. These are the new faces that are created at the fracture location, and generally where you want to create debris. In this file that creationtime attribute is mapped to an "emit" attribute, then the POPNet Source uses that as the probability of emitting from any surface, so interior surfaces will stop emitting particles after a specified time. Look in the particle_location1 network for the setup required.

Also see this thread for some similar ideas to emit smoke from dynamically fractured interiors.

Finally, this file shows a setup where the debris particles and fracture sim are simulated at the same time. While you can certainly do that, in production you'd probably want do the fracturing sim first and cache the geometry to files with the creationtime attribute. Then read this in and do the debris particle simulation separately so you can try things out and simulate more quickly.

P.S. Most people read both this and the SideFX forum, so unless you don't get an answer you might want to post a particular topic on only one of those forums.

torus_debris.hip

  • Like 1
Link to comment
Share on other sites

  • 1 year later...

Did you ever get this to work correctly. I did grab Johner's file and no particles were being emitted on fracture. I'm stuck.

I did go and activate the timestamp in the rbd solver and then I guess I'm kinda unclear after that. Do you manually create a popsolver

in the dop network?

Thanks

Dave (noob)

Edited by cowboy71
Link to comment
Share on other sites

Hi Dave,

I just downloaded Johner's file, loaded it in Houdini 11.1.118 and it works for me there.

However, loading the file in Houdini 12 generates an error regarding attributes in the rigidbodysolver, which is probably why it no longer works. I'm guessing you've loaded it in Houdini 12?

post-6740-133229084982_thumb.png

post-6740-133229088232_thumb.png

Link to comment
Share on other sites

Without delving deeper into the system to check the "good fix", a couple of quick clicks fixes this for H12:

- Go to DOPs, and on the POPobject "particle location 1", activate "Creation frame specifies simulation frame"

- Go to the "particle location 1" geo, and bypass the delete_zero_creation_time Delete SOP.

It works. :ph34r:

For some reason "the Creation time" attribute is being recorded as zero for all pieces, so the delete SOP was deleting everything. I´m still not sure why this wasn´t working properly.

In other words, I used the force :P

Link to comment
Share on other sites

Without delving deeper into the system to check the "good fix", a couple of quick clicks fixes this for H12:

- Go to DOPs, and on the POPobject "particle location 1", activate "Creation frame specifies simulation frame"

- Go to the "particle location 1" geo, and bypass the delete_zero_creation_time Delete SOP.

It works. :ph34r:

For some reason "the Creation time" attribute is being recorded as zero for all pieces, so the delete SOP was deleting everything. I´m still not sure why this wasn´t working properly.

In other words, I used the force :P

Because of the absence of necessary groups which keep off by defalut in h12 voronoi;

Just turn on "Create Output Groups" parameter of voronoifracture node deep inside rbdsolver node.

torus_debris_h12_fix.hip

Link to comment
Share on other sites

Because of the absence of necessary groups which keep off by defalut in h12 voronoi;

Just turn on "Create Output Groups" parameter of voronoifracture node deep inside rbdsolver node.

torus_debris_h12_fix.hip

Ahhhh, awesome. Thank you everyone for your help. I'm only about three weeks into Houdini, so plenty to learn.

Been in Maya for about 4 years now, and I must say it's a bit different. haha.

Link to comment
Share on other sites

  • 2 months later...

hi !

is it possible that somebody posts a step-by-step list of putting this together in H12 ? I guess I am missing some small details which I'd never find out that they were user-set specific for the example. :(

Edited by deadalvs
Link to comment
Share on other sites

  • 2 months later...

Dear John,

May you please reply me with a more detail walk- through please. If there is a step by step will be very much appreciated.

Because I have tried your files and I still do not quite understand.

Hi Mirco,

Yes, the "Debris" tool is really designed to work with the older RBD Glue and Fracture objects. You can emit debris from dynamically fractured objects pretty easily, but there are a couple of steps involved. It actually works better than the Debris tool in some ways, since that tool relies on proximity to detect when pieces have fractured, which can be a bit slow and inaccurate. But dynamic fracturing is actually creating new geometry at particular times in the simulation, so we can make use of that for debris.

See the attached file for an example. The main parameter to be aware of is "Stamp Interior Primitives With Creation Time" on the Fracture tab of the RBD Solver DOP. This creates a "creationtime" attribute that records the simulation time on any newly created interior primitives in the fractured geometry. These are the new faces that are created at the fracture location, and generally where you want to create debris. In this file that creationtime attribute is mapped to an "emit" attribute, then the POPNet Source uses that as the probability of emitting from any surface, so interior surfaces will stop emitting particles after a specified time. Look in the particle_location1 network for the setup required.

Also see this thread for some similar ideas to emit smoke from dynamically fractured interiors.

Finally, this file shows a setup where the debris particles and fracture sim are simulated at the same time. While you can certainly do that, in production you'd probably want do the fracturing sim first and cache the geometry to files with the creationtime attribute. Then read this in and do the debris particle simulation separately so you can try things out and simulate more quickly.

P.S. Most people read both this and the SideFX forum, so unless you don't get an answer you might want to post a particular topic on only one of those forums.

post-8499-134474032366_thumb.png

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...