Ive decided to start a thread on this because the help docs for Bullet seem to be a little thin and it would be good to have a place to go to find help and experience from FX experts.
Just a couple of things stand out so far, on the bright side its super fast which is probably old news anyhow to anyone who has had a play with dynamica.
But one thing that seems to contradict the help docs has to do with freezing transforms.
" An active rigid body does not simulate if its original mesh has had Freeze Transformations performed on it."
Perhaps it means if you try to freeze transforms when the object is not at world zero it doesnt work. Point being I have an old script called rockGen that creates a bunch of rocks but the script does all sorts to the transforms to give random size and position and does an extrude as well. Eventually I had to write some extra code in there so that I centered the control point and froze transforms meanwhile making sure the object was at world zero. If I didnt put the added code in the solve went crazy. So ignore bullets advice on this, just dont freeze transforms when the object is else where apart from world 0,0,0 - kinda makes sense really.
One other thing and this is the biggest problem with Bullet so far that I have encountered…
“The Never Sleeps attribute for rigid bodies does not work properly.” Or do this mean it doesnt work at all?
The is very unfortunately and pretty much makes Bullet useless. Reason being is that you can never quite stop your rigids from jittering when they should really be still after the sim. Sure you can play with linear or angular damp but too much of those and everything seems like you are solving in treacle. Really in the end you need ‘Never Sleep’ to work so that they will sleep, this is off by default which means they should sleep. There are some hidden threshold values that determine when your rigid goes to sleep but for some reason are not available for the user to adjust, why? Maybe because ‘Never Sleeps’ is broken anyway? How hard is it for the solver to ignore objects that fall under the linear/angular threshold? It seems odd to me that the devs didnt get this one to work I hope AD gets this sorted in Maya 2014 otherwise whats the point of Bullet?
Per object expressions. I want some procedural control here! We all live in the 21st century dont we? Or at least bounding object to control things like mass, dampening, sleep etc. For example if we had object falling into water we could add a dampening object or expression based on pos.y to make the object’s linear and angular rotation slower once it hit the body of water. Id actually like to see bullet lose its soft body stuff and focus primarily on rigid because we have nCloth for softbody which pretty much covers anything soft. Im assuming once bullet solve has been baked we can convert to nCloth passive so it will interact with nCloth.
Well there are some ideas for you to chew on, please have a go and share experiences. I think AD could do with some feedback on bullet.