Maniphest T76873

Rigid Body chain doesn't works if model is correctly scaled
Closed, Archived

Assigned To
Richard Antalik (ISS)
Authored By
Andrea Coppola (blenderhighschool)
May 19 2020, 7:07 AM
Tags
  • BF Blender
Subscribers
Andrea Coppola (blenderhighschool)
Richard Antalik (ISS)

Description

System Information
Operating system: Windows-10-10.0.18362-SP0 64 Bits
Graphics card: GeForce RTX 2080/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 445.87

Blender Version
Broken: version: 2.82 (sub 7), branch: master, commit date: 2020-03-12 05:06, hash: rB375c7dc4caf4
Worked: (optional)

Short description of error
Good morning,
I'm trying to find a solution for a known bug on the Rigid Body.
I speak of "known bug" because on the net I have searched for a long time this topic in the various communities and it is a universally unresolved concept (not even by Andrew Price in an old analogous tutorial in 2.7x).
I refer to the typical example of an iron ball chain that demolishes bricks.
It would seem that Blender's Rigid Body physics "demands" that in cases of interpenetrated hollow meshes (such as chain links), the mesh is exaggeratedly large. The Rigid Body seems to handle small meshes poorly.
In the case of the chain (modeled with rings of about 4 meters each) it works quite well, but climbing the object (or even building it at the start with reduced measures, it is the same thing) the chain literally explodes: the rings come off and there is no any parameter that can regulate this side effect.
I made sure to apply Scale and Rotation of all objects and to position the pivot at the center of gravity of each ring. I also adjusted Friction, Damping Translation and Rotation and Sensitivity Margin. The effect does not change.
Have you found a solution in this regard?

Exact steps for others to reproduce the error
[Please describe the exact steps needed to reproduce the issue]
[Based on the default startup or an attached .blend file (as simple as possible)]

Event Timeline

Andrea Coppola (blenderhighschool) created this task.May 19 2020, 7:07 AM
Andrea Coppola (blenderhighschool) added a comment.May 19 2020, 7:23 AM

Richard Antalik (ISS) closed this task as Archived.May 19 2020, 2:01 PM
Richard Antalik (ISS) claimed this task.
Richard Antalik (ISS) added a subscriber: Richard Antalik (ISS).

For help using Blender, please try one of the community websites: https://www.blender.org/community/

I assume that when you say "known bug" that this is a technical limitation and you just want a workaround.

Closing as this bug tracker is only for bugs and errors.

Andrea Coppola (blenderhighschool) added a comment.May 19 2020, 3:55 PM

Dear Richard. I am not looking for assistance. I report an obvious limitation (and therefore a bug) of Blender as the Rigid Body for small objects does not work. And this is known.
I know how it resolves: Bake on Keyframe and then relating all the objects to an Empty that can then be climbed.
You can also close the task and not consider it a bug, but it is my duty as a user and BFCT to report this malfunction so that it can be resolved as soon as possible. I think it is absurd that a software like Blender 2.83 still has these problems with the Rigid Body that must be solved and fixed, without finding a trick, in my opinion unprofessional.
Evaluate if it is appropriate to definitely get this bug.

Richard Antalik (ISS) added a comment.May 20 2020, 10:19 AM

@Andrea Coppola (blenderhighschool) Sorry, I have mis-interpreted your report as request for support.

To report a bug please use simplest possible file that will demonstrate the bug. I have simplified file by removing plane and cubes - I suppose, that breaking of chain is the actual bug.

Regarding the problem itself:
Since we are simulating very small elements, it is necessary to maintain precision relative to smallest distance, that will be involved in simulation. https://docs.blender.org/manual/en/dev/physics/rigid_body/properties.html#sensitivity
Your chain link is olny 6mm thick, so I set sensitivity to sub-mm scale - 0.1mm

Even though we have good resolution to calculate collisions set, if objects are moving too fast, solver may not be able to catch collision. In one step objects are foo far for solver and in another they are already intersecting or even worse gone completely through each other without solver noticing. To fix that you need to set speed settings in https://docs.blender.org/manual/en/dev/physics/rigid_body/world.html#settings
I have set Speed to 0.5 since 1 seemed too fast.
Then I set Steps Per Second to 600 and increased Solver Iterations to 50. I have no idea how to calculate these numbers in theory. I have increased this value about 4 times, until simulation started to work.

Here is modified file:

Andrea Coppola (blenderhighschool) added a comment.May 20 2020, 4:05 PM

Dear Richard,
I'm happy that this can be solve.
600 FPS is very high.
Maybe we the developers can try so work on this simulation to solve the problem easier.

I'd like to send you my method (a tutorial in italian).
Thanx
Andrea

Richard Antalik (ISS) added a comment.May 20 2020, 4:11 PM
In T76873#935544, @Andrea Coppola (blenderhighschool) wrote:

Dear Richard,
I'm happy that this can be solve.
600 FPS is very high.

Just a quick response - project isn't actually running at 600FPS. This is internal solver interpolation.
As I said I set this number based on very quick experimentation and haven't tried to optimize it.

Andrea Coppola (blenderhighschool) added a comment.May 20 2020, 4:27 PM

OK! Thanx!