Jump to content
Sign in to follow this  
riviera

very basic RBD WTF

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

Share this post


Link to post
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.

Share this post


Link to post
Share on other sites

Check the SDF volume representation of your cubes. It is probably very lo-rez and not square at all. This is Collisions -> Volume -> Collision guide geo

Share this post


Link to post
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

Share this post


Link to post
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 <_<

Share this post


Link to post
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?

Share this post


Link to post
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.

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  

×