PDA

View Full Version : Bullet Issues



Mr Rid
09-02-2014, 12:53 AM
Firstly, why does Bullet only use 13% of my i7 while calculating? It does not appear to multithread, or even use one whole core.

And has anyone gotten weights to work with a "Parts Body" in Bullet? They dont seem to work at all. I have never needed to use a weight in the layer texture grad before, so I am probably missing something. But when I apply a weight grad in either of the dampening or glue textures, only the the 2nd key parameter value affects the object, but it affects the entire object equally while ignoring any falloff in weight values, no matter how I key the grad or set values.

And when I switch between selecting the weight map, and setting it to "none" there is no change in behavior. But if I disable/enable the entire grad, there is a change. So in other words, the 2nd grad key value is affecting behavior only as a global value, but the actual weight seems to have no effect.

akademus
09-02-2014, 01:43 AM
Because it uses Cuda cores for computation...

tayotain2
09-02-2014, 02:45 AM
Hmmm... if i remember correcly its single threaded. no cuda.

pinkmouse
09-02-2014, 02:54 AM
Yup, just single threaded. I remember ages ago one of the devs posting that using any more than one core might slow evaluation down...

Not quite sure what you mean about weight maps and keys, could you post a demo scene to look at?

edit: And how do you get a weight map into the Texture channel? I've just been having a play and I can't seem to find a way of doing it.

pinkmouse
09-02-2014, 06:55 AM
Fogged:

https://fogbugz.newtek.com/default.asp?pg=pgPublicView&sTicket=72323_ombh61d5

Mr Rid
09-02-2014, 07:18 PM
...how do you get a weight map into the Texture channel?

When a texture Layer Type is set to "Gradient," then "Weight Map" is available in the Input Parameter drop down. Example scene attached.


Fogged:

https://fogbugz.newtek.com/default.asp?pg=pgPublicView&sTicket=72323_ombh61d5

That's a different issue, which I don't see happening. Texture maps are working as expected.

In the attached example scene, the two items are same, except the one on the left has a texture grad applied to Linear Damping (working as expected), while the one on the right has a weight grad applied, but I dont see how to get the grad values to associate with the weight.

I am used to using weights as a "fix" in Cloth/SoftFX, that does not involve a setting up a gradient.

123997

123999

Mr Rid
09-02-2014, 08:01 PM
I am experimenting with a dense scene, and here are some observations:

The "Abort" button does not work when a "Decomposing" process is running on convex pieces. Dense scenes may mean a long wait when you dont need that process yet.

Dynacaches can be huge and unwieldy. I wish Bullet would cache each frame the way Syflex and RealFlow do, instead of caching potentially huge, single files... or, if it would otherwise allow users to make changes in mid-calculation, without having to run the sim from the beginning, each time any value is touched. Several times now, I have waited for a sim to run for up to 20 minutes, only to have LW crash and have to start over. If a partial cache were saved, I could pick up from the crashed frame. While experimenting, I have to avoid saving scene (I am in the habit of doing often) before resetting/clearing the cache, or else I may be waiting several minutes for a huge dynacache to save that I dont want (I have to end process and reload scene).

I sometimes need a "soft" collision value that works like "probability" in LW FX Collision, to set items to partially penetrate, or push thru each other. An example is my Tree Burst scene where the rising limbs partly deform the ground but also pass thru it at a certain stress level. https://www.youtube.com/watch?v=AGZbMJcKLYs I also have a scene where parts are exploding away from a collision "bullet" too violently even with Bounce set to 0, and I would like to turn down the "probability."

It could speed up sims if there were a way to make Parts stop calculating when they pass beyond frame or a specified barrier.

I keep wanting to turn the Glue value above 100%. I have an item that shatters too extensively even though Glue is at 100%, and I dont want to change the Breaking Angle that is just right. So I am trying to workaround by using weights or animated texture maps in the dampings.

Many parts are passing thru multiple ground collision items, I have not figure out how to prevent.

Some parts are doing weird dances before they come to rest on a ground plane. I dont know which settings may minimize this. This is where Chronosculpt is necessary.

pinkmouse
09-03-2014, 03:17 AM
I am experimenting with a dense scene, and here are some observations:

The "Abort" button does not work when a "Decomposing" process is running on convex pieces. Dense scenes may mean a long wait when you dont need that process yet.

The Abort button in my experience is, frankly, useless on any complex scene. It needs attention.


Dynacaches can be huge and unwieldy. I wish Bullet would cache each frame the way Syflex and RealFlow do, instead of caching potentially huge, single files... or, if it would otherwise allow users to make changes in mid-calculation, without having to run the sim from the beginning, each time any value is touched. Several times now, I have waited for a sim to run for up to 20 minutes, only to have LW crash and have to start over. If a partial cache were saved, I could pick up from the crashed frame. While experimenting, I have to avoid saving scene (I am in the habit of doing often) before resetting/clearing the cache, or else I may be waiting several minutes for a huge dynacache to save that I dont want (I have to end process and reload scene).

Yup, annoying, isn't it.


I sometimes need a "soft" collision value that works like "probability" in LW FX Collision, to set items to partially penetrate, or push thru each other. An example is my Tree Burst scene where the rising limbs partly deform the ground but also pass thru it at a certain stress level. https://www.youtube.com/watch?v=AGZbMJcKLYs

Nice scene. No chance at all with doing that with the current LW bullet implementation, I suspect that would need some sort of dynamic fracturing in Layout. Closest I've got is this:https://www.youtube.com/watch?v=31-TWydF6Dc


I also have a scene where parts are exploding away from a collision "bullet" too violently even with Bounce set to 0, and I would like to turn down the "probability."

Annoying isn't it. You can try playing with the Collision Margin, and allowing slight spacing between parts; the more the collision margins intersect, the more violent the "bounce"

[quote]It could speed up sims if there were a way to make Parts stop calculating when they pass beyond frame or a specified barrier.

Yup, like that idea, though not sure on implementation.


I keep wanting to turn the Glue value above 100%. I have an item that shatters too extensively even though Glue is at 100%, and I dont want to change the Breaking Angle that is just right. So I am trying to workaround by using weights or animated texture maps in the dampings.

Couldn't agree more.


Many parts are passing thru multiple ground collision items, I have not figure out how to prevent.

Lots and lots of subdivisions on the static objects help, as does using simple collision shapes like box or sphere if possible. Playing with the Dynamics framerate can help, but not always in a logical manner. Sometimes it helps to speed it up, sometimes slow it down...


Some parts are doing weird dances before they come to rest on a ground plane. I dont know which settings may minimize this. This is where Chronosculpt is necessary.

Try enveloping the Time Scale in the World properties, knock it down to zero after you get to a nice rest position.

prometheus
09-03-2014, 10:43 AM
donīt work here either with weightmaps when first checked, but I will need to test it more and check, it may simply be that it isnīt implemented properly for use with hard bodies, where on the other hand gradient are.

Regarding dancing of the pieces...
not sure, but if you are using a ground plane without thickness, that may cause jittering..it may work better with a groundplane with thickness so maybe extrude it or thicken it, I think that is mentioned that things should have thickness..not
sure if that will solve it though.

Mr Rid
09-03-2014, 10:10 PM
Thanks for looking into it!

To me, 100% Glue should mean an object that is unshatterable, and completely static, regardless of breaking angle/distance. I have a Parts object set to Start Sleeping, and 100% glue, but on the first frame of impact, the whole thing starts slightly wriggling and crumbling although the impact is in one small area. So the whole thing switches from 'Sleeping' to "Active" the moment any tiny part collides. But I want parts to become progressively active, only when they become stressed. I am trying to fix by animating texture maps in the Damping, but its difficult to constrain to specific areas.

The Abort button is a little slow to respond during dense sims, but works ok (I usually keep pressing Esc while also clicking either Abort or Pause), but doesnt work at all during Decomposing. One of my greatest computer peeves is not being able to interrupt processes that are locking up the app or computer, particularly when there is no progress bar or indicator of what is going on. I wish SO much there was a button for instantaneous, absolute 'Kill all calculation/processing', no matter what. I feel like I am trying to stop HAL.

I cant use Timescale on jittery pieces since ground collisions are occurring over several seconds. The worst culprits are rectangular boxes- 1 unit square by 10 units tall. They tend to remain twirling or skating on end for some seconds before deciding to lay down.

Out of about 25,000 Parts colliding with the ground, at least a third insist on passing right thru THREE, redundant ground collision boxes, at a Bullet frame rate of 180. But yes, without thickness, collisions don't work at all.

124032

Ztreem
09-04-2014, 01:51 AM
Out of about 25,000 Parts colliding with the ground, at least a third insist on passing right thru THREE, redundant ground collision boxes, at a Bullet frame rate of 180.

124032

Try to increase the dynamic frame rate to something between 300 - 5000 and see if that helps with the parts passing thru.
(This will affect the calculations time)

Mr Rid
09-05-2014, 07:52 PM
Try to increase the dynamic frame rate to something between 300 - 5000 and see if that helps with the parts passing thru.
(This will affect the calculations time)

The problem with that is my sim already takes over an hour at 180 (takes another 10 mins just to 'Decompose' parts). So I am running at 90 to save time, since it doesn't make an effective difference with the problem, or anything else in my scene. But there are fewer ground collision errors as the ground is more subdivided. 800,000 polys, is still not enough for my "Mesh" shape. When the ground shape is set to "Box," there seem to be no collision errors, which is fine for a situation that requires only a perfectly flat ground.


Bullet texture channels also do not respect UV maps.

This is the first time I am trying Bullet with breaking Parts. The first time I try any new feature or plug, I usually go for something complex, and I immediately run into all the limitations and bugs, which is most important to know before taking on a deadline.

But I am experimenting with breaking up a large building where steel beams should realistically have a higher breaking angle than the walls and floors, and for the windows to have a much lower, 'brittle' breaking angle. I don't see a way to do that. If I breakout geometry into separate layers with different properties, they dont adhere as a whole. Weights and UVs wont work, and non-vertex maps wont allow me to isolate pieces specifically enough. So, these are limitations to consider when bidding a project.

Ryan Roye
09-06-2014, 07:52 AM
So, these are limitations to consider when bidding a project.

Bullet also needs a way to skip calculations for inactive dynamic items. If your "impact" for example starts at frame 500, Bullet still has to calculate 500 frames worth of useless data before it starts processing the interactions originally desired. Depending on the FPS setting, this empty data can take a very long time to process and makes semi-interactive editing impossible past frame 0.

Again, this is one of the reasons I bought into Syflex... way better for deforming bodies at least.

Something to be aware of: Bullet is very sensitive to scale, moreso than cloth/hardfx/syflex. This is something a global scale modifier would be handy for, assuming the scale issue is more related to LW impementation than a flaw in bullet itself.

Mr Rid
09-07-2014, 12:04 AM
Yes, it would save time to be able to select a start frame other than 0.

In a large scale scene of mine (about a 200 cubic meter area), collisions are ignored on child objects with IK (non-IK, child object collisions work). I tried MDD baking them but collisions ignore those too (with the correct Deforming Body settings). But it all works if I scale the scene way down. I don't want to scale down, so I have to animate secondary, proxy collision objects that follow the motion of the 'problem child' objects.

JamesCurtis
09-07-2014, 10:34 AM
Not sure if anyone noticed or not, but Bullet's .dynacache files do not save properly above 2GB in file size - at least for me!! I'm using a 64bit machine with 16 gigs of ram and it's frustrating!! I have rather huge simulations that are being made for industrial machine visualizations [lots of small shattered material pieces] and it causes problems because of this.

BTW, I have attached a frame from the full sim for you to see what I've been working on. Sorry about not being able to post a whole scene as NDA is applicable. There are a total of 16 panels!

Is it a bug or a limitation?

jeric_synergy
09-07-2014, 11:08 AM
"Bug or limitation", that'd be a very good thing to know.

If it's a LIMITATION (OS or whatever) there should definitely be a warning to the user, rather than making every user a detective.

As it may be a bug, please submit ASAP to fogbugz. It could be whatever gymnastics are required to enable >2G files didn't get executed, i.e. a simple fix (fingers crossed).

JamesCurtis
09-07-2014, 11:35 AM
Thanks for your reply. Here is a screen capture of the directory folder where my .dynacache files are stored. As can be seen none are above 2GB or 2,006,349 KB [the size in my case].

My machine is a 64bit PC Running Vista Business Pro.

124083

I'll look into posting a bug report.

JamesCurtis
09-07-2014, 12:51 PM
Just posted bug report.

Here is the number

72430_nms2eshn

jeric_synergy
09-07-2014, 02:07 PM
Good on you mate! Collective effort will drive LW to greater market viability!

ED1: Q: are there any files on your machine >2gigs, from other apps?

(My money is someone forgot to click the "64bit storage" checkbox when Bullet got recompiled.)

JamesCurtis
09-07-2014, 10:21 PM
Good on you mate! Collective effort will drive LW to greater market viability!

ED1: Q: are there any files on your machine >2gigs, from other apps?

(My money is someone forgot to click the "64bit storage" checkbox when Bullet got recompiled.)


The answer to this is - yes!!

I have several video files that are over 2.5 gigs and ISO format files for burn to Blu-ray's which are 24 - 25 gigs. Also, I've routinely saved out very large 300 dpi images for trade show size 3D images from Photoshop - some of them over 2 gigs..

LW's .dynacache are the only files I know of that have given me this trouble.

jwiede
09-08-2014, 02:05 AM
But I am experimenting with breaking up a large building where steel beams should realistically have a higher breaking angle than the walls and floors, and for the windows to have a much lower, 'brittle' breaking angle. I don't see a way to do that. If I breakout geometry into separate layers with different properties, they dont adhere as a whole. Weights and UVs wont work, and non-vertex maps wont allow me to isolate pieces specifically enough. So, these are limitations to consider when bidding a project.

I've all but given up on LW's existing Bullet RBD implementation. The workflows are horribly inefficient, not at all well thought-out for doing sims where you want objects' properties to replicate physical materials. If you want to do the cliche "lots of planks collapsing" toy sims, sure, it can do that. If, instead, you want to try and replicate an actual structure composed of different materials with different properties coming apart with anything resembling realism, it just makes every step incredibly manual, and much more than half the time the settings just don't behave like they "should" (based on either user expectations, or how Bullet properties behave in other environments), nor in a stable, reliable manner.

The problem is _not_ Bullet RBD, as there are other integrations (C4D & Exocortex, to name two) which just do not have anywhere near the breadth or magnitude of such workflow issues with complex sims. I use C4D's Bullet RBD implementation all the time, and it offers vastly more efficient and reliable workflows and UX compared to LW's Bullet implementation.

I really think that LW3DG need to go back to the drawing board and completely redesign how Bullet RBD integrates into Layout, taking a long, hard look at why C4D's and Exocortex's implementations work well (and why LW's does not, despite using the same Bullet infrastructure). I do not believe LW's Bullet problems aren't something that can be fixed with just some tweaking of existing workflows, the problems are more workflow-fundamental, IMO.

JamesCurtis
09-08-2014, 04:36 PM
Just got an email from Customer Service [Tech?]. Wanted info to make sure I was running 64bit LW. Sent them screencap of my About LW screen. Guess they're looking into the problem.

pinkmouse
09-08-2014, 04:45 PM
Apparently mine's fixed in the current internal build. Couldn't get them to commit to a timeframe for release though...:)

jeric_synergy
09-08-2014, 05:01 PM
Policy: I understand why LW3dG would be VERY reluctant to release "internal builds", but it's a bit galling to know that a feature you've been stymied by has been fixed, but since it's waiting on several dozen other things to get addressed, it will be a while before you see the fix.

UNDERSTANDABLE! But, perhaps there's a better way.

"Perfect may be the enemy of 'absolutely adequate'" here. If LW3dG committed to "a semi-monthly bug-ridden P.O.C. release, no b!tching allowed", some people could get ahead in their work, while avoiding the (possibly non-important) broken subsystems.

Here's how it would work:

internal builds that successfully launch (low expectations, iow) would be released every two weeks.
Everyone would know that they will be chock-full of bugs
NO COMPLAINING!!!
Comments can only be of a 'regretful', or sad nature.


So, you might get your fix for your particular issue, while some subsystem you're not using would be buggy as hell. BUT, LW3dG would continue to get bug reports.

Maybe we could enforce the NO COMPLAINING YOU WANKERS policy by making it subscription: users only CONTINUE to get semi-monthly releases if they keep their traps shut, or adhere to the commenting policy AND make useful bug reports.

Mr Rid
09-08-2014, 06:35 PM
...Bullet's .dynacache files do not save properly above 2GB in file size...

Of course, that ought to work. But I have not needed to save a dynacache, since you cant ever make changes in mid-sim without having to start caching from frame 0 again. I bake finished sims as MDD which are much smaller. The only reason I can think of to save dynacache is if you are likely to want to lengthen a dense sim at a later time without any changes.

At Bullet's default 180 frame rate, a dynacache that is say 52mb will only be a 4mb MDD, at a Layout frame rate of 24fps. I can often get away with baking every other frame of the MDD (set MD Baker "Frame Rate 1/" to "2"). Then I have a cache that is 1/26 the size of the dynacache to wait on saving and loading.

Mr Rid
09-08-2014, 06:43 PM
...If, instead, you want to try and replicate an actual structure composed of different materials with different properties coming apart with anything resembling realism, it just makes every step incredibly manual,.

I cant even find a way to do it manually since weights and UV maps are ignored in Bullet textures. All you can do is knock over "Jenga" stacks.



... I use C4D's Bullet RBD implementation all the time, and it offers vastly more efficient and reliable workflows and UX compared to LW's Bullet implementation.


Glad/sad to hear the difference. I wish so much I could be hired as a UI consultant. I constantly see how much more intuitively that interfaces could be made. For one, there should always be useful presets.



Because it uses Cuda cores for computation...
I don't really know what that means, other than sims could be eight times faster if they were using my entire CPU. A cursory search on CUDA just says it uses GPU, but is LW Bullet using the GPU? If not, why not, like TFD?

jeric_synergy
09-08-2014, 06:45 PM
I wish so much I could be hired as a UI consultant.
If that job opened up, we'd be eyeing each other across the lobby. ;)

Mr Rid
09-08-2014, 06:53 PM
Policy: ...Here's how it would work:

internal builds that successfully launch (low expectations, iow) would be released every two weeks.
Everyone would know that they will be chock-full of bugs
NO COMPLAINING!!!
Comments can only be of a 'regretful', or sad nature.




Maybe. That is basically how my subscription to Fusion 7 has functioned. The pre-release builds expire and I have to keep upgrading every few weeks. If something is too buggy, I can always use the last, stable, official, pre-v7 release.

Mr Rid
09-08-2014, 07:05 PM
If that job opened up, we'd be eyeing each other across the lobby. ;)

So now I know who to gripe to. ;)

jwiede
09-08-2014, 09:15 PM
If that job opened up, we'd be eyeing each other across the lobby. ;)

Wasn't that the primary function Matt was hired to do?

I've seen Matt repeatedly produce substantial improvements in existing features' UX. Unfortunately, I've also seen new features/tools coming out with UX issues at least as poorly thought-out as the prior UX problems Matt fixed.

jeric_synergy
09-08-2014, 10:32 PM
Wasn't that the primary function Matt was hired to do?
I don't know.

I do know that his taste in color is far superior to mine.

JamesCurtis
09-09-2014, 02:27 PM
For those that are wondering, I heard back today from LW Customer Support on the problem I've had with bullet and Sim's over 2GB in size. Here's what they said:

"Upon research, this is a current limitation.

We are actively looking for a solution that hopefully will be in the next release version of LightWave.

Thank you for your report.
--
LightWave 3D Group Support"


What I wonder is if they mean the next full release [LW12?] or the next bug-fix release?

BTW, I wonder if my full sim [all 16+ panels and more frames added] can be MDD saved as a whole?

jeric_synergy
09-09-2014, 05:11 PM
LW limitation or Bullet limitation? Obviously not an OS limitation.

JamesCurtis
09-10-2014, 09:20 AM
Yeah, they're not clear on that. But they did say they were looking FOR a solution.