Jump to content
rgblues

Is bulllet rbd solver deterministic with constraint network relationship?

Recommended Posts

Hi all,

Last night after fiddling around for days on a rbd sim using constraints and bullet solver, I ended with some happy results! Saved my scene twice, then cached bgeos of everything excepted the Hires mesh that depends on the low res sim...
I then start flip and white water sims for the night that uses my previous cached geos as inputs. Everything computed as expected for the next morning.
I took for granted that after restarting my computer the next day, doing a resim of my initial low res rbd sim would undoubtedly yield the exact same results...I was wrong, it's not even close :(

So there are a few questions I would like to clear out of my mind:
1- How deterministic bullet sims are (+ with a few constraint net relationship) across Houdini sessions ?
2- Was the only safe way to go about it was to cache the dopnet .sim???
3- Am I missing something?? Could stuff like a memory leaks or something (Windows 10) start doing Art Direction on my sims????:blink:
4- As a last resort question, is there any other way I can use my lo res cached mesh (bgeo) to drive my hirez mesh??  (I usually plug hirez mesh in a Dop Import with transform mode selected)

Thanks in advance

Share this post


Link to post
Share on other sites

Hi,

I have asked this question before on bullet forum... if I remember correctly, the "standard" bullet solver is not deterministic, i.e. each time you run the simulation you might get different results, I remember also that has nothing to do with memory leaks, it's related to the order of which equations are solved, so if between runs you have the same constraints but the engine tries to solve the equations in different order then this will yield to deviation in the answer (actually, I wrote a small bullet/maya integration earlier, and this was one of biggest problems, each run might produce different result!). However, I remember also, there is/was a new solver or a setting that "fixes" this "problem" (or it might be simply something like: add your constraints in the same order you do each time you run the simulation... sorry my memory is really hazy here...). So, I think you could check Houdini docs, maybe it clarifies this behavior...Otherwise, I think your best bet is to store the simulation result and use it later on...

 

Share this post


Link to post
Share on other sites

As per "4- As a last resort question, is there any other way I can use my lo res cached mesh (bgeo) to drive my hirez mesh??  (I usually plug hirez mesh in a Dop Import with transform mode selected)", I don't know much about it, but I remember there is a tutorial on sidefx that shows how to do that... if you cannot find it, let me know and I will look for it...

Share this post


Link to post
Share on other sites

For driving hi res by low res, just copy name attribute from low to hi and use transform pieces for motion.

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

×