Obi Official Forum

Full Version: distance constraint, stretching scale bug
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
The stretching scale variable distorts meshes in an incorrect way, some constrants actually extend instead of retracting when it is lowered. Resulting in very messy meshes.
 
Link to video demonstrating differences in two mirrored meshes as stretching scale is altered:

https://gyazo.com/2b07c7a5b333ed802d32c35a70d56b10
(27-04-2021, 04:07 AM)Hakazaba Wrote: [ -> ]The stretching scale variable distorts meshes in an incorrect way, some constrants actually extend instead of retracting when it is lowered. Resulting in very messy meshes.
 
Link to video demonstrating differences in two mirrored meshes as stretching scale is altered:

https://gyazo.com/2b07c7a5b333ed802d32c35a70d56b10

Hi,

This is not a bug, it's completely normal and to be expected when using sequential evaluation for distance constraints, as it is order-dependent. Switching to parallel evaluation will get rid of the biasing and all constraints will deform equally at the cost of slower convergence.

This behavior is documented in the "evaluation mode" section at the bottom of this page:
http://obi.virtualmethodstudio.com/tutor...olver.html

Also, this page contains an in-depth explanation of how Obi works internally, including animations of both sequential and parallel solving:
http://obi.virtualmethodstudio.com/tutor...gence.html

For deeper understanding, you can also look for online resources on Gauss-Seidel and averaged Jacobi, which are the common names of sequential and parallel evaluation respectively. Both of them are used in all iterative physics engines (though most engines only use Gauss-Seidel/sequential, Obi lets you choose).
Oh! Thank you very much for the explanation!