Jump to content

DOP Forces/Constraints questions


Recommended Posts

Hi,

I am using Bullet simulation + glue constraint networks and I have the following questions:

1) I create RBD glued packed object, set glue strength to 1 and apply uniform forces with amplitude 1e6, yet the object does not move!!? If I remove the constraints, the object crumbles on itself?

2) How to the determine the force/torque amplitude that is big enough to break a glue constraint? I am using trial and error now but this is not practical... 

3) In DOP/Bullet, when I apply forces, they are applied to object centeriod, however would the force direction be in object space or world space?

4) In most Forces description, I can select between "Set Initial", "Set Always" and "Set Never". What the use of "Set Never", i.e. why would I create a Force if I set its strength to "Set Never"? If I set to "Initial" does it mean apply the force the first time on simulation? Similarly "Always" mean apply the force on each step?

5) I wanted to create a radial force, i.e. a force vector field pointing outward from a point in a space, prefereply constrainted to a specific volume in space, however I could not find any force such that in Houdini!? I found Point force but one must set direction, so it won't work

Thanks, any feedback will be really appreciated :)

 

 

Link to comment
Share on other sites

First of all, post the scene you are working on.

2) You have to use a sop solver (in the dop network) with a wrangle node inside of it, where you say for example:

if (@force > 5)

{

//Remove the constraint

removeprim(geoself(), @primnum,1);

}

 

5)I guess you are looking for the vortex force DOP

Edited by SteveNi
Link to comment
Share on other sites

thanks for your reply. I will try to reproduce the problem on smaller scale to make things easy to trouble shoot...I will check vortex force :) When I think about it, computing/determining the exact force/torque needed to break the glue constraint is a "wrong" approach because this is not a real physical simulation, it's best to break glue constraints, e.g. like the example you sent, when needed...

Link to comment
Share on other sites

You can also break glue bonds via proximity of another object. This is often done when you want to control exactly when the bonds are to break. Say when a car crashes into a wall or a particle striking a surface and chipping away part of it. The basic concept is you import some point data into the Solver then do an attribute transfer. In this image I am importing a particle system and colorizing them red. Initially all relationship geometry is colorized black, indicating that it is still tightly bound by the glue bond. When a particle comes within attribute transfer distance of a relationship geometry primitive, it gets colorized red. A final wrangle basically does what Stephano has posted above. It removes the primitive.

 

In this case if the color remains black, the f@strength attribute (which is part of the glue system) gets set to the master strength value one level up to insure the bonds remain active.

if (v@Cd.r == 1.0) {
    removeprim(0,@primnum,1);
} else {
    f@strength = ch("local_strength");
}

 

Untitled-1.jpg

  • Like 1
Link to comment
Share on other sites

Thanks Atom, you have been offering great help :)

I spent the last couple days testing the destruction logic, your and Stefano's are the right way to go... I've also used moving static objects to break some parts of the building to make it look like explosions (hence did not need to break them manually in this case), made the base of the building passive so the entire building won't move due to the impact of the static object (https://drive.google.com/file/d/0B3_WddFhJaxWUFZSRFluYTF5ZWc/view?usp=sharing)

The hardest part now is designing a total building collapse, where floors collapse on each other, challenges are:

(a) Breaking the glue bonds won't trigger any collapse as the walls are vertically balanced, i.e. net force on each piece = 0. One idea is to delete rigid-body pieces at the base (is this even possible?) so it forces the entire building to fall vertically on itself. Note that using any forces on the building makes walls move horizontally which does not look right (i.e. if a building is collapsing it falls vertically, no significant horizontal movement should occur) 

(b) Using Voronoi fracture won't work well because it produces big chunks of concrete and; I just need to introduce simple deformation in the building due to internal breaks while it collapses. Most probably, I will use cookie node to cut the cracks. Also, I will implement a simple logic to break the bonds to facilitate that deformation...

 

Once more, Thanks Atom and Stefano...

 

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