Solitude Posted April 25, 2009 Share Posted April 25, 2009 Hey all, I have an rbd fracture object with 10 primitive groups, basically I want to active the groups one by one. Essentially I want to control the timing / direction of an object breaking up.. preferably by distance of the prim group to another node. I can't for the life of me figure out how something like this is done in Houdini. Any hints / tips ? Thanks! --Ian Quote Link to comment Share on other sites More sharing options...
johner Posted April 25, 2009 Share Posted April 25, 2009 (edited) Hey all, I have an rbd fracture object with 10 primitive groups, basically I want to active the groups one by one. Essentially I want to control the timing / direction of an object breaking up.. preferably by distance of the prim group to another node. I can't for the life of me figure out how something like this is done in Houdini. Any hints / tips ?Thanks! --Ian You'll probably want to use an RBD Glue Object and use an RBD State DOP to animate each piece's Glue Strength. Search the help for the ChoreographedBreakup example. That should get you started. Edit: I should add, if you just want to move from Static to Active objects, i.e. they're not moving at all then you want each to one to break off, you could just un-check "Create Active Objects" on your RBD Fractured Object, then use an expression in an ActiveValue DOP to activate individual pieces. I've attached an example. The expression in the ActiveValue DOP ends up being a little complicated, because 1) you need to trick DOPs into calculating center-of-mass and positions on the first frame so you can test those against the sweep plane, and 2) you need to take the pivot into account for each object. There might be a better way to accomplish 1) than what I have here. choreographedFracture.hip Edited April 25, 2009 by johner Quote Link to comment Share on other sites More sharing options...
Solitude Posted April 25, 2009 Author Share Posted April 25, 2009 Great! I'll check it out in a few hours. Thanks for the help... even if it's not exactly what I need now it'll probably come in handy in the future or at least set me on the right path. Quote Link to comment Share on other sites More sharing options...
drmerman Posted April 26, 2009 Share Posted April 26, 2009 Hey guys, Johner, I just wanted to say thanks for that explanation - it really helped with a scene I'm currently working on (THREAD.) I've attached my version of your test scene here as well to keep things organised Cheers, Matt boxSweepPlane_working.hipnc Quote Link to comment Share on other sites More sharing options...
pushpathadam Posted April 29, 2009 Share Posted April 29, 2009 Hi, Not sure if your breakup is meant be static to active, or something more complicated Thought I'd expand on johner's reply..He had some great input for me on some related threads. If position and offset get too complicated ..control the break in sops with a primitive attribute like color. Use attribute_copy..to transfer color based on proximity to a point/primitive. Then sort through them by group in a foreach to promote a color from point/primitive to detail then back to primitive so all the primitives in a debris piece/group have the same color. Inside a group dops expression access the primitive attribute from sops to setup membership. prim("/obj/dopnet1:"+ $OBJNAME + "/Geometry",0,"attributename",0) > Threshold After that use an RBD_keyframe_active to active all the pieces belonging to the group. Stuff to watch out for. Keep your groups "clean" when you pull in the debris from sops to dops. ie ..leftover groups can give you weird ghost elements If you need to subsample...make sure your sop chain has valid values on the inbetween frames..(use a time blend) Good Luck! Tom Quote Link to comment Share on other sites More sharing options...
Solitude Posted April 29, 2009 Author Share Posted April 29, 2009 thanks for all the replies... i still haven't been able to get back to it (lots of work lately...) Hopefully soon though!... Quote Link to comment Share on other sites More sharing options...
asnowcappedromance Posted December 13, 2009 Share Posted December 13, 2009 (edited) hi guys, I find this thread very interesting so i played with this procedural activation, too. Inside of the SOP Level i created an attribute "myminY" for each primitive based on the $YMIN variable. Inside the DOPnet i then wrote the following expression in the active field of the active value DOP: if( dopoption(".", "grid", "Position", "ty") >= point("/obj/dopnet:mygroup_"+$OBJID+"/Geometry", 0, "myminY", 0), 1, 0) But something must be wrong with my expression, the activation goes crazy inside my scene ... One other question: if i'm in dynamics select mode, is it somehow possible to see the (group) name of the selected RBD Object? Help would be appreciated, all the best, Manuel multicubes.hipnc Edited December 13, 2009 by asnowcappedromance Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.