Jump to content

Debris tool workflow


magneto

Recommended Posts

Hi,

 

Is using the Debris shelf tool the proper workflow to emit debris? I tried it on a fractured packed prim model and the debris flew everywhere, very fast and then clustered. Also I find the edge pattern is very noticeable in the result.

 

What's the best debris workflow in Houdini for RBD packed object sims?

 

 

Thanks :)

Link to comment
Share on other sites

  • 2 weeks later...

The way I have been doing it is deleting geometry by velocity threshold, unpack that geo (I think there is option to retrieve the velocity in the pack geo in the unpack node), then source from geometry in your pop source. I add turbulence to the birth group when they are born. That's just the way I have been doing it. 

You can make your particle system with above and have pieces instanced on them with the popinstance node. When you are ready for your instance geometry to collide properly in the sim you can delete the particles by age < .01 and do rbdpointobject because the rbdpointobject only likes geometry with one frame. So far the only way I have gotten somewhat random geometry on the rbdpointobject node is by setting $F in your creation frame and having your debris geometry centered at the origin and have it deleting non-selected by ($F-1)%(number of piece groups). http://www.digitaltutors.com/tutorial/2003-Advanced-Rigid-Body-Dynamics-using-Proxy-Objects#play-47991

 

I struggle a lot trying to get random geometry instanced on particles do you or anyone else know of a good way to get rbdpointobject working with random geometry on particles?

Edited by Tyfx567
  • Like 1
Link to comment
Share on other sites

@magneto:Try disabling Constant Activation on the birth tab and use an expression on Impulse Activation.

 

A simple IF expression on Impulse Activation can help control debris. (remember to increase impulse count or you won't see anything).

if(($FF > 8 && $FF <48),0,1)

This should produce a small burst of debris particles over a short frame range.

 

Initially I though this would only emit particles on frames 8-48, however, I discovered that it actually causes particles to emit for the first 8-48 frames of when they are born. If you are using this with a fracture it means each time a fracture occurs you get a burst of 40 frames of debris.

 

@Tyfx567: I have been playing around with generating a random index attribute on a point using VEX, then stamping that index into a delete non-selected from a merged source which leaves only a single random piece or element.

piece`stamp("../copy1","debris_index",0)`

post-12295-0-36380900-1448457923_thumb.j

Edited by Atom
  • Like 2
Link to comment
Share on other sites

Thank you Atom that is a good way. What does your object merge consist of? Is it, say, box1, box2, box3? Or sphere1, torus1, with mixed names? This way I know how you are deleting. 

 

@magneto Also I think I figured out how to use multiple random objects for rbdpointobject. so you make a birth group originally in particles then delete nonselected that group to get your first frame emission. I was telling to delete by age which is a weird way of thinking. To get random objects on rbdpointobject without doing the $F in creation frame is by making a string point attribute called instance and saying something like:

@change = int(fit01(rand(@id), 0, 4));

string mainpath = "op:/obj/box_object1/instance";
s@instance = mainpath + sprintf("%s", @change);

Given that your objects are named the same way. I'm not sure how I could do this with groups though. That would be very nice to learn how to do. Using the name attribute like piece1, piece2.  That way we can create debris in houdini and there is no need to export into maya the debris pieces, seperate them then reimport, then make string attribute for instance using this method. It would possibly save a step. 

  • Like 1
Link to comment
Share on other sites

@Ty: The index is just an example if your objects share a common name, such as fracture pieces, however, you don't have to create an integer index. You could have the wrangle create the full string randomly from a list of named objects and stamp that directly.

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