From 4cc61a4a5a391d875630bf6e2afcc466ff1f5b0a Mon Sep 17 00:00:00 2001 From: Matthew Hinson Date: Fri, 29 Mar 2024 15:36:46 +0100 Subject: [PATCH] Fix #104497 (Soft body: "Stiff quads" changed to "Stiffness") --- manual/physics/soft_body/forces/interior.rst | 105 ++++++++----------- 1 file changed, 43 insertions(+), 62 deletions(-) diff --git a/manual/physics/soft_body/forces/interior.rst b/manual/physics/soft_body/forces/interior.rst index 1c24c9f84..555c1d5a7 100644 --- a/manual/physics/soft_body/forces/interior.rst +++ b/manual/physics/soft_body/forces/interior.rst @@ -3,25 +3,22 @@ Interior ******** -In between each neighboring vertex of a mesh, you typically create edges to connect them. -Imagine each edge as a spring. Any mechanical spring is able to stretch under tension, -and to squeeze under pressure. All springs have an ideal length, -and a stiffness that limits how far you can stretch or squeeze the spring. +By default, the edges of a soft-body mesh act like springs. This means that, +like a mechanical spring, they can stretch under tension and squeeze under pressure. +Their initial length is also their "ideal" or "rest" length, which they try to return to. -In Blender's case, the ideal length is the original edge length which you designed as a part of your mesh, -even before you enable the Soft Body system. Until you add the Soft Body physics, -all springs are assumed to be perfectly stiff: no stretch and no squeeze. +Having edges act like springs is what holds the mesh together. If you were to disable this +behavior (as well as the :doc:`/physics/soft_body/settings/goal`), each vertex would be free +to go anywhere independently of the others, which would stretch the mesh until it's +no longer recognizable. -You can adjust the stiffness of all those edge springs, allowing your mesh to sag, to bend, -to flutter in the breeze, or to puddle up on the ground. +Having springs along edges alone typically isn't enough, however: +vertices in quads are still free to move towards their diagonal opposite, +potentially collapsing the quad into a line. ----- - -To create a connection between the vertices of a soft body object there have to be forces -that hold the vertices together. These forces are effective along the edges in a mesh, -the connections between the vertices. The forces act like a spring. -Fig. :ref:`fig-softbody-force-interior-connection` illustrates how a 3×3 grid of vertices -(a mesh plane in Blender) are connected in a soft body simulation. +You could solve this by creating diagonal edges everywhere, but fortunately, +you don't have to: simply enable the *Stiffness* option to have Blender create +diagonal springs internally. This way, you don't have to change your mesh. .. list-table:: @@ -31,7 +28,7 @@ Fig. :ref:`fig-softbody-force-interior-connection` illustrates how a 3×3 grid o :width: 180px :figwidth: 180px - Vertices and forces along their connection edges. + Base springs along edges. - .. _fig-softbody-force-interior-stiff: @@ -39,40 +36,28 @@ Fig. :ref:`fig-softbody-force-interior-connection` illustrates how a 3×3 grid o :width: 180px :figwidth: 180px - Additional forces with Stiff Quads enabled. + Additional springs when Stiffness is enabled. -But two vertices could freely rotate if you do not create additional edges between them. -The logical method to keep a body from collapsing would be to create additional edges between the vertices. -This works pretty well, but would change your mesh topology drastically. +Another method of preventing mesh collapse is applying *Bending Stiffness*, +which adds rotational resistance: making edges try to keep their relative angles. -Luckily, Blender allows to define additional *virtual* connections. -On one hand you can define virtual connections between the diagonal edges of a quad face -(*Stiff Quads* Fig. :ref:`fig-softbody-force-interior-stiff`), -on the other hand you can define virtual connections between a vertex and any vertices connected -to its neighbors' *Bending Stiffness*. In other words, the amount of bend that is allowed between -a vertex and any other vertex that is separated by two edge connections. +Both of these methods are described in more detail below. You can configure them, +as well as other settings, in the :doc:`Soft Body Edges panel `. -Settings -======== +Stiffness +========= -The characteristics of edges are set with the *Springs* and *Stiff Quads* properties in the *Soft Body Edges* panel. -See the :doc:`Soft Body Edges settings ` for details. +To show the effect of the Stiffness setting, we will drop two cubes onto a plane +(see :doc:`Collisions `). The blue cube uses quads, +while the red one uses tris. Both cubes have their Goal setting disabled. - -Tips: Preventing Collapse -========================= - -Stiff Quads ------------ - -To show the effect of the different edge settings we will use two cubes -(blue: only quads, red: only tris) and let them fall without any goal onto a plane -(how to set up collision is shown on the page :doc:`Collisions `). +If *Stiffness* is disabled, the quad-only cube will collapse completely, +while the tri cube only temporarily deforms from the impact: .. _fig-softbody-force-interior-without: -.. list-table:: Without Stiff Quads. +.. list-table:: Without Stiffness. * - .. figure:: /images/physics_soft-body_forces_interior_quadvstri-sb-001.png :width: 200px @@ -89,13 +74,12 @@ To show the effect of the different edge settings we will use two cubes Frame 401. -In Fig. :ref:`fig-softbody-force-interior-without`, the default settings are used (without *Stiff Quads*). -The "quad only" cube will collapse completely, the cube composed of tris keeps its shape, -though it will deform temporarily because of the forces created during collision. +If *Stiffness* is enabled, the quad cube maintains its shape as well thanks to the +extra springs: .. _fig-softbody-force-interior-with: -.. list-table:: With Stiff Quads. +.. list-table:: With Stiffness. * - .. figure:: /images/physics_soft-body_forces_interior_quadvstri-sb-001.png :width: 200px @@ -112,16 +96,15 @@ though it will deform temporarily because of the forces created during collision Frame 401. -In Fig. :ref:`fig-softbody-force-interior-with`, *Stiff Quads* is activated (for both cubes). -Both cubes keep their shape, there is no difference for the red cube, -because it has no quads anyway. - Bending Stiffness ------------------ +================= -The second method to stop an object from collapsing is to change its *Bending* stiffness. -This includes the diagonal edges (damping also applies to these connections). +The second method to stop an object from collapsing is to give it *Bending Stiffness.* +Just like the other settings, this can be combined with *Stiffness* to add bending +resistance to the diagonal springs as well. + +We first do the same cube experiment as before, using only *Bending Stiffness*: .. _fig-softbody-force-interior-bending: @@ -142,15 +125,15 @@ This includes the diagonal edges (damping also applies to these connections). Frame 401. -In Fig. :ref:`fig-softbody-force-interior-bending`, *Bending* is activated with a strength setting of 1. -Now both cubes are more rigid. +Both cubes keep their shape. Now, we try the same thing with subdivided planes, +again a quad-based one and a triangulated one: .. list-table:: * - .. figure:: /images/physics_soft-body_forces_interior_quadvstri-bending-001.png :width: 200px - Two planes going to collide. + Two planes falling. - .. _fig-softbody-force-interior-no-bending: @@ -164,10 +147,8 @@ Now both cubes are more rigid. High bending stiffness (10). -Bending stiffness can also be used if you want to make a subdivided plane more plank like. -Without *Bending* the faces can freely rotate against each other like hinges -Fig. :ref:`fig-softbody-force-interior-no-bending`. -There would be no change in the simulation if you activated *Stiff Quads*, -because the faces are not deformed at all in this example. +Without any *Bending Stiffness*, the faces can rotate freely as though their edges were hinges. +Enabling *Stiffness* to add diagional springs would not change this (just as triangulating doesn't). -Bending stiffness is the strength needed for the plane to be deformed. +With a high *Bending Stiffness*, however, the edges resist this rotation, and the planes +act more like planks than towels. -- 2.30.2