Jump to content

very basic RBD WTF


riviera

Recommended Posts

Hi,

I'm kind of a newbie, just started experimenting with DOPs/RBDs. I put together a very simple scene and got the following error:

post-56-131042288703_thumb.jpg

As you can see, there's nothing special, almost all parameters are at defaults -- I keep on getting these interpenetration artifacts. Tried to use a different scale, solver timestep, etc. etc. I have absolutely no idea how to solve this.

I attached the scene (nothing complicated, really). Any ideas would be much appreciated!

Thanks,

Imre

how_come_these_guys_fall_apart.hip

Link to comment
Share on other sites

I'm unable to check out the scene right now, but maybe this will help. It might not seem complicated but stacking rigid bodies is kind of complicated. On the rigid body solver there are parameters for how to handle different types of collisions. See the help here.

http://www.sidefx.com/docs/houdini11.0/nodes/dop/rbdsolver#parameters

Likely you'll need additional contact passes. It probably seems overly complicated but the extra controls allows you to get the best performance for any given simulation.

Link to comment
Share on other sites

On your RBD Fractured Object node, under the Collisions | Surface tab, change Surface Representation from Points to Edges. At the moment the solver is testing each object's points against all the other objects' collision volumes, but for stacked box configurations you usually need it to check the entire edge.

Edited by johner
Link to comment
Share on other sites

On your RBD Fractured Object node, under the Collisions | Surface tab, change Surface Representation from Points to Edges. At the moment the solver is testing each object's points against all the other objects' collision volumes, but for stacked box configurations you usually need it to check the entire edge.

This, although it can be confusing for people because they might think that surface representation isn't used when using volumes for calculating collisions <_<

Link to comment
Share on other sites

On your RBD Fractured Object node, under the Collisions | Surface tab, change Surface Representation from Points to Edges. At the moment the solver is testing each object's points against all the other objects' collision volumes, but for stacked box configurations you usually need it to check the entire edge.

Hey thanks, I'll give that a try -- it'll probably do the trick.

Btw, just to answer the other suggestions: I had up to 60x60x60 divisions on the volume representation, tried increasing everything from global substeps to RBD solver substeps, contact passes, etc. and nothing helped (that's what I meant by 'tried almost everything' :)).

Oh yeah, btw, in the meantime I triangulated the entire geometry and it started working. What's the explanation for that?

Link to comment
Share on other sites

As was mentioned above, either points or edges (your choice on the RBD Object DOPs) collide with SDF volume collision fields.

Change the collision type to Edges.

Add more divisions to your boxes to help the collision detection step.

If you use boxes, change the Volume Collision Mode to "Implicit Box". Way faster and gives clean sdf collision volumes if you keep it to boxes.

If you still get inter-penetrating boxes, in the RBD Simulation DOP, try increasing the Resolve Penetrations to suit.

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