Jump to content

Testing bullet: why is everything popping/blowing up.


glfloat

Recommended Posts

No matter what I do I cannot ge tthis sim to stop blowing up. Seems like for any somewhat complex shapes bullet is extremely unstable. If someone, anyone, can try to get these scene to sim stable (eg: the pieces on the cube dont fly out on their own) I would appreciate that. So far my tests have prooven that bullet is far from production ready. But I'd love it if one of you could just tell me that I should stop complaining and learn how to use houdini :)

  • Like 1
Link to comment
Share on other sites

If you drop the uniform scale in the foreach down to 0.75, you no longer get the popping. So I would guess that because bullet uses a less accurate collision detection than Houdini RBD it thinks parts of the geo are intersecting at the first frame, causing it to behave erratically. You can see this if you check out the collision geometry in the dopnet.

I guess less accuracy is the price you pay for faster sims, and this is one of the drawbacks. Perhaps increasing the uniform divisions on the collision geo might clear things up a bit?

Link to comment
Share on other sites

yea none of that really worked. Checking geometry as convex hull worked a little. Shrinking the collision guide geometry in dops did nothing.. Im assuming bullet does not use the SDF technique for its collisions so I might be looking in all the wrong places?

Does anyone have a setup with fractured geo that actually works? And I dont mean voronoi fracturing.. I mean something with some more complex geo like the one I posted.

Link to comment
Share on other sites

Hey

I haven't looked at your file, but just quickly. Bullet generates a convex hull proxy geo for the collision detection phase. Which means if you have any concave parts of your geo then they will register as intersections. Bullet has a concave collision detection method, but it's pretty flaky.

The best way we've found of working is to make sure that all your chunks are convex and then put in time to glue together sections to create more complex shapes that don't freak out bullet :).

One day I may have time to whip up an example file, but that should be enough to send you in the right direction.

M

Link to comment
Share on other sites

Interesting Marc, ok that explains a lot of things. What is your workflow for insuring all geo is convex out of a voronoi fracture? Is it as simple as going through each chunk in a foreach and convexifying it. I'd imagine you'd still have strange geo that way as they may not "fit" together. or Im assuming you guys have custom tools for that..

Link to comment
Share on other sites

yeah exactly. If you're getting non-convex shapes out of your voronoi fracture (I've seen it happen, but very rarely), then just try and re-arrange your input points a little. We don't really have custom tools for that side of things.

Although if you feel brave you can try and get Allen Johns' vfxgal working: https://github.com/nerdvegas/vfxgal

It was implemented for us at Dr D and is significantly faster than the built in voronoi fracture.

M

Link to comment
Share on other sites

The problem is that you're clustering from within the Voronoi Fracture SOP. By doing this you're essentially creating non-convex shapes that Bullet is going to freak out over. The proper workflow for clustering with Bullet is to use the Glue Pieces and Glue Cluster SOPs to build a glue network that you then reference from within DOPs using a Glue Network Constraint DOP.

Check out the file below. I used the "Glue Adjacent" shelf tool to set up the initial glue net before tweaking it (initial settings tend to be overkill) and adding a Glue Cluster SOP. It's also important to note that I've locked the Glue Pieces SOP so that it doesn't recook anytime you change something. You will need to unlock it and let it cook anytime you add or remove something in DOPs that generates a dopobjectid. So if you want to see the fractured cube without the breaker geo, for example, then you need to disable the "rbd breaker," go unlock/cook/re-lock the Glue Pieces SOP and probably do a reset on your DOP net or else the Glue Network is going to get confused (you'll be able to see this if you have its guide geometry enabled).

Oh, and I turned on "connect edges" on the Voronoi Fracture. You should probably always do this or else you're likely to get unexpected results from DOPs or SOPs down the line that run a connectivity check on your geometry as it will treat each face as a piece instead of each piece as a piece.

bullet_popping_fixed_01.hipnc

  • Like 1
Link to comment
Share on other sites

  • 1 year later...

Hi cubiccube,

 

I've been trying to troubleshoot some annoying jitter in my own Bullet sim and came across your example file above.

 

The problem with my sim seems to be thin pieces combined with what I believe is a bug in the 'RBD Packed Object' OTL. With the 'show guide geometry' turned on and 'display geometry' off, you can see that it's regenerating every frame (use smooth or flat wire shaded).

 

Simulate long enough to the pieces settle, then you'll see the guide geometry change topology. Is this a bug in SideFX's OTL? Can somebody look at the attached file and tell me if I've made a mistake somewhere?

 

 

Thanks,

AC

bullet_packed_rbd_retopologize_01.hipnc

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