Jump to content
Sign in to follow this  
kiryha

Freeze portion of RBD objects

Recommended Posts

How to make the bottom row (or 5 cubes in right bottom corner, or any other user-defined portion of cubes) of RBD packed objects static (not falling but calculated in solver)? 

constrain_01.thumb.PNG.578cf19ff0ac96e79de3ab7e6dd76ca9.PNG

statueBreak_001.hipnc

Share this post


Link to post
Share on other sites

There are many ways to do this, one easy way is just to group the points that you do not want to affect, then in a wrangle add the group in the tab group !mygroup and vexpression add this i@active = 1;

 

 

Edited by Sepu
  • Like 1

Share this post


Link to post
Share on other sites

Works, but not as expected. If I understand correctly reversing group with "!" does not work. Try to invert active = 0, does not work as well... 

statueBreak_002.hipnc

UPD. "* ^mygroup" is working.

Edited by kiryha

Share this post


Link to post
Share on other sites

huh ? what am i missing ? seems to work as expected to me

either group or !group....both work as expected.

Share this post


Link to post
Share on other sites

Now for me as well. Wired...

 

Edited by kiryha

Share this post


Link to post
Share on other sites

Should this setup work with constraints? I setup constrains network and it working only if I turn off the wrangle with @active attribute.
Excluding static pieces from constrain network also works... so never mind.

Edited by kiryha

Share this post


Link to post
Share on other sites

Now I can't replicate the same task with constraints.
I need the same static behavior of the bottom part for some time and then RBD it as well. I can not link bottom part to the BASE no matter how high I raise the strength.

constrain_02.thumb.PNG.f0723c50f1f14934e1107a93bfb8f43d.PNG

statueBreak_003.zip

Share this post


Link to post
Share on other sites

inside the DOPs you can add a sopsolver and break the constraints at the frame or use any other condition that you wish. There is a group call broken which Houdini understands so if @group_broken = 1; then the constraints will break.

Edited by Sepu
  • Like 1

Share this post


Link to post
Share on other sites

I realize how I can break the constraint, but I can't make them unbreakable first! 

Share this post


Link to post
Share on other sites

Not exactly... The statue is located on the BASE (ground plane located lower) and I need to constrain legs to the base and demolish them after the top part fall apart (yes, like in frame 50 or later).
So I don't know how to link (constrain) constrained geometry to something static. Now legs are not static, they just fall down to the raised floor.

Edited by kiryha

Share this post


Link to post
Share on other sites

I didn't have the base btw that is why I raise the ground plane, but anyway, you can have different kind of constraints, there is glue, hard, etc and they all can have different properties so you can affect them differently to give you what you want.  You can set up all that in SOPs (different properties, strength, ...) and then manipulate that data in the sop solver, where you can have constraints that can break if a condition is met, animate geometry to break them, use an attribute transfer, use point clouds, you could also change constraints at different frames/conditions, etc.

  • Like 1

Share this post


Link to post
Share on other sites

well to me....you need to do a bit of housekeeping...ie. a null with caps.....blah blah...you know the drill...

Right now, in your DOP, the static base SOP path is

/obj/STATUE_BREAK/BASE

which is wrong.....it is non existent....you've stashed it...and yes the stash works....so if you change the above to

/obj/STATUE_BREAK/pack1

you'll see the base doing its part in the sim...no, I haven't verified if everything is working as you intended...only you would know that.

But anyway, had you created a null after the pack1 and called it OUT_BASE.....then when you come to pick it....you would've picked the right one.

EDIT: I guess for you, it may look like it's working...coz YOU have the file on your drive...but for other ppl, they don't....so if you refer to a point above the stash...ppl would not see the base.

Base.jpg

Edited by Noobini
  • Like 1

Share this post


Link to post
Share on other sites

I understand this on a high level, Herman, but when it comes to the particular case, there are always some issues raised!

 

well to me....you need to do a bit of housekeeping...ie. a null with caps.....blah blah...you know the drill...
What do you mean? To clean up and organize the scene?

> /obj/STATUE_BREAK/BASE
> which is is wrong.....it is non existent.|
My bad did not fix it in the scene I shared, in the original scene the BASE is working fine.

Ok, I was able to sort out how to setup legs linked to a base with constraints. 

ezgif-3-b96ed8b80409.gif.9f567622a2d228473b83b04a2fd5d690.gif

Now I need to modify "strength" and the obvious way to animate it in DOP does not work (see attached scene). How can I do it in another way?
I plan to setup changing constrains strength with some control objects in space, but for beginning, the most simple way will work. 

animConstr_001.hipnc

Edited by kiryha

Share this post


Link to post
Share on other sites

"Set Always" for animated parameter "strength" in glue constraint relationship node should help you.

Edited by vicvvsh
  • Like 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×