You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 8b339a3
Browse filesBrowse the repository at this point in the historyBrowse files
Marvin Ewald
committed
[WIP] Iterate on making stiffness calculation more stable
(Optional) Scale the stiffness individually per segment according to how far each segment is bent.[br]The [code]y[/code] value of the curve is multiplied with the stiffness. [code]x = 0[/code] corresponds to no bending and [code]x = 1[/code] corresponds to 180° bending in regard to the previous segment.[br]If unset, defaults to a quadratic curve.
15
+
(Optional) Scale the stiffness individually per segment according to how far each segment is bent.[br]The [code]y[/code] value of the curve is multiplied with the stiffness. [code]x = 0[/code] corresponds to no bending and [code]x = 1[/code] corresponds to 180° bending in regard to the previous segment.[br]If unset, defaults to factor [code]1.0[/code].[br]Physically, there is a material-dependent limit how far an object can bend before bending properties (stiffness) change, e.g. a material might be less inclined to snap back into place at smaller bend angles, or a material might stop bending at some point, i.e. when it breaks. While this curve intends to accomodate these physical properties, it will never work fully realistically.
Computes a forward and backward pass.[br]Produces overall better and more stable results than [enum Legacy]. Acts more sensitive to [member stiffness_bend_curve].
Computes a single forward pass from front to back.[br]Produces decent results but may look unusual without [member Rope.fixate_begin] enabled. It could also behave more unstable in certain scenarios, i.e. jittery or erratic movement.[br]This was the default behavior before [code]v1.9[/code].
(Experimental) Computes a forward and backward pass. Produces better looking results with "free" ropes ([member Rope.fixate_begin] disabled). Acts much more sensitive to [member stiffness] and tends to produce more unstable results. Reducing gravity may help against erratic, unnatural or perpetual movement.
_simulate_stiffness_segment(delta, velocities, 1, num_points, parent_seg_dir); // Start at second and stop at last point
182
-
_simulate_stiffness_segment(delta, velocities, num_points - 2, 0, end_parent); // Start at second last and stop before first point (because it's fixed)
185
+
_simulate_stiffness_segment(delta, 1, num_points, parent_seg_dir); // Start at second and stop at last point
186
+
_simulate_stiffness_segment(delta, num_points - 2, 0, end_parent); // Start at second last and stop before first point (because it's fixed)
0 commit comments