How to make dforce simulation light weight?
James
Posts: 1,025
I have a scene.
I have "display simulation off", for things that are unnecessary.
I hide them. I use low res.
Still very slow when simulated.
Comments
There're a few factors that can influence simulation speed:
- simulation with Start Bones from Memorized Pose... and/or Animated Range
- more denser mesh on the dForce items
- more collisions have to be calculated and iterated, especially with Hairs, Furs...
- more Smoothing Modifier / high value iterations from the Wearables on the figure have to be settled, especially while simulating with Timeline (better turn Smoothing off on other Wearables even the one you simulate )
- some settings on dynamice surfaces, e.g. Self Collsion, more Stiffness, more Dampers, more Velocity Smoothing, etc.
- "high quality" settings in Simulation Settings pane, e.g. Best CCD, high value Subframes, more Collision Iterations, etc.
So, better check and optimize these relevance in your case. But still, there might be exeptional case, then case by case...
Do you know a product called "Ultimate Simulation Visibility"?
It supposes to help turning on off objects' simulation display in faster manner.
But everytime if I turn off all simulation visibility of all objects, then I turn on only the ones I needed, when I hit simulation, it throws error saying that no object to simulate.
Meanwhile I have turned on the visibilty of dforce clothing and the character in that scene.
Just ran a quick test with that script, and this seems to be intended behavior, based on the PDF, as it says to run the script again to enable the item(s) you want to simulate, as opposed to saying to turn it on under the display settings.
Ok, figured out what's going on.
What this script is doing is turning every individual node (base, chest, left pinky 3, etc.) to 'off' when the Hide all option is used.
If, like most normal people, you only select the base/parent node, that's the only one that gets reenabled whether you run the script or you manually switch it to on. The error is due to all the sub/child nodes still being set to off.
What you need to do is select ALL the nodes of the item, then run the Show selected, or manually set to on.
I think this is why i don't use this script, its' a bit more work than it's worth in my particular workflow.
have you made it work?
'Cos I didn't, even using the script to turn them on again
Updated my previous post.
For the subs, I can just click an object and use 'select all'. and run the script then.
No, that would select everything in the viewport or scene tab.
AFAIK there are only two ways to select all the necessary nodes,which can only be accomplished in the scene tab. In the viewport tab, you're stuck with selecting each node individually while holding the ctrl key.
The first, select the base/parent node, then right click>Select>Select children.
The other, expand the particular item hierarchy(right click>expand>Expand from selected) then hold the shift key and select the bottom most node, all of the nodes should be highlighted.
Then you can run the script or do it manually.
Be aware, you'll need to do this process to what ever base figure you're using as well as the dforce item, otherwise the item will just fall to the floor when you go to simulate.
The way i've described it so far, it's definitely going to seem that way, but that's just because i'm only considering a default Ds setup and not getting into customization.
If you use a couple short cut keys, this becomes way more efficient and useful.
Set a shortcut key to Select children(Scene View section of the customize menu(f3)) and one for the USV script.
With those set, it doesn't matter which tabs are active for you to enable/disable visible in simulation, you can just select the base node in the viewport tab and in a couple clicks, done.
See, I figured there would be a better way. Thanks for the tips.
I don't have it but only use dForce Companion plugin which is extremely easy and never let me down. I just checked the product you mentioned, as well as the comments from others, it seems a bit inconvenient product to me.
- 1st, as the collision targets, if the joints of the figure are set as Visible in Simulation > Off, you may get very wrong simulation result (depending on the dForce items...) So you have to reset the corresponding joints Visible in Simulation > On as per the dForce item.
- 2nd, the reason of "no object to simulate" must be that the joints of the dForce item are set as Visible in Simulation > Off. For instance, if you simulate a dForce Hair, at least its Root node and Head node must be set as Visible in Simulation > On... otherwise you'll get that error message.
- As per the above points, then, like barbult said, it'll be a bit cumbersome to manipulate the settings before / after simulation...
Edit: Furthermore, as per the examples in the product's promo images, I took the 1st case for a test.. the very same scene / items / setting but only with everything set Visible in Simution > On.
- with my 4090, the simulation time is 56.98 secs; 30 series A6000 > 1 min 27.12 secs...20 series Quadro 6000 > 1 min 45.17 secs. ... the vendor's time is 2 mins 22 secs. How did that come ? Without stating the hardware specs, those figures are meaningless and milslead customers as well ~~
But yes, there was improvement if tweaking Visibility in Sim... I manually turned off the irrelevant joints on all items, the result: 4090 > 32.71 secs, A6000 > 58.28 secs., Quadro 6000 > 1 min 12.92 secs. That script can be improved I think ~