Fix #104497 (Soft body: "Stiff quads" changed to "Stiffness") #104757
@ -3,25 +3,22 @@
|
|||||||
Interior
|
Interior
|
||||||
********
|
********
|
||||||
|
|
||||||
In between each neighboring vertex of a mesh, you typically create edges to connect them.
|
By default, the edges of a soft-body mesh act like springs. This means that,
|
||||||
Imagine each edge as a spring. Any mechanical spring is able to stretch under tension,
|
like a mechanical spring, they can stretch under tension and squeeze under pressure.
|
||||||
and to squeeze under pressure. All springs have an ideal length,
|
Their initial length is also their "ideal" or "rest" length, which they try to return to.
|
||||||
and a stiffness that limits how far you can stretch or squeeze the spring.
|
|
||||||
|
|
||||||
In Blender's case, the ideal length is the original edge length which you designed as a part of your mesh,
|
Having edges act like springs is what holds the mesh together. If you were to disable this
|
||||||
even before you enable the Soft Body system. Until you add the Soft Body physics,
|
behavior (as well as the :doc:`/physics/soft_body/settings/goal`), each vertex would be free
|
||||||
all springs are assumed to be perfectly stiff: no stretch and no squeeze.
|
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,
|
Having springs along edges alone typically isn't enough, however:
|
||||||
to flutter in the breeze, or to puddle up on the ground.
|
vertices in quads are still free to move towards their diagonal opposite,
|
||||||
|
potentially collapsing the quad into a line.
|
||||||
|
|
||||||
----
|
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
|
||||||
To create a connection between the vertices of a soft body object there have to be forces
|
diagonal springs internally. This way, you don't have to change your mesh.
|
||||||
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.
|
|
||||||
|
|
||||||
.. list-table::
|
.. list-table::
|
||||||
|
|
||||||
@ -31,7 +28,7 @@ Fig. :ref:`fig-softbody-force-interior-connection` illustrates how a 3×3 grid o
|
|||||||
:width: 180px
|
:width: 180px
|
||||||
:figwidth: 180px
|
:figwidth: 180px
|
||||||
|
|
||||||
Vertices and forces along their connection edges.
|
Base springs along edges.
|
||||||
|
|
||||||
- .. _fig-softbody-force-interior-stiff:
|
- .. _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
|
:width: 180px
|
||||||
:figwidth: 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.
|
Another method of preventing mesh collapse is applying *Bending Stiffness*,
|
||||||
The logical method to keep a body from collapsing would be to create additional edges between the vertices.
|
which adds rotational resistance: making edges try to keep their relative angles.
|
||||||
This works pretty well, but would change your mesh topology drastically.
|
|
||||||
|
|
||||||
Luckily, Blender allows to define additional *virtual* connections.
|
Both of these methods are described in more detail below. You can configure them,
|
||||||
On one hand you can define virtual connections between the diagonal edges of a quad face
|
as well as other settings, in the :doc:`Soft Body Edges panel </physics/soft_body/settings/edges>`.
|
||||||
(*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.
|
|
||||||
|
|
||||||
|
|
||||||
Settings
|
Stiffness
|
||||||
========
|
=========
|
||||||
|
|
||||||
The characteristics of edges are set with the *Springs* and *Stiff Quads* properties in the *Soft Body Edges* panel.
|
To show the effect of the Stiffness setting, we will drop two cubes onto a plane
|
||||||
See the :doc:`Soft Body Edges settings </physics/soft_body/settings/edges>` for details.
|
(see :doc:`Collisions </physics/soft_body/collision>`). The blue cube uses quads,
|
||||||
|
while the red one uses tris. Both cubes have their Goal setting disabled.
|
||||||
|
|
||||||
|
If *Stiffness* is disabled, the quad-only cube will collapse completely,
|
||||||
Tips: Preventing Collapse
|
while the tri cube only temporarily deforms from the impact:
|
||||||
=========================
|
|
||||||
|
|
||||||
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 </physics/soft_body/collision>`).
|
|
||||||
|
|
||||||
.. _fig-softbody-force-interior-without:
|
.. _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
|
* - .. figure:: /images/physics_soft-body_forces_interior_quadvstri-sb-001.png
|
||||||
:width: 200px
|
:width: 200px
|
||||||
@ -89,13 +74,12 @@ To show the effect of the different edge settings we will use two cubes
|
|||||||
|
|
||||||
Frame 401.
|
Frame 401.
|
||||||
|
|
||||||
In Fig. :ref:`fig-softbody-force-interior-without`, the default settings are used (without *Stiff Quads*).
|
If *Stiffness* is enabled, the quad cube maintains its shape as well thanks to the
|
||||||
The "quad only" cube will collapse completely, the cube composed of tris keeps its shape,
|
extra springs:
|
||||||
though it will deform temporarily because of the forces created during collision.
|
|
||||||
|
|
||||||
.. _fig-softbody-force-interior-with:
|
.. _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
|
* - .. figure:: /images/physics_soft-body_forces_interior_quadvstri-sb-001.png
|
||||||
:width: 200px
|
:width: 200px
|
||||||
@ -112,16 +96,15 @@ though it will deform temporarily because of the forces created during collision
|
|||||||
|
|
||||||
Frame 401.
|
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
|
Bending Stiffness
|
||||||
-----------------
|
=================
|
||||||
|
|
||||||
The second method to stop an object from collapsing is to change its *Bending* stiffness.
|
The second method to stop an object from collapsing is to give it *Bending Stiffness.*
|
||||||
This includes the diagonal edges (damping also applies to these connections).
|
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:
|
.. _fig-softbody-force-interior-bending:
|
||||||
|
|
||||||
@ -142,15 +125,15 @@ This includes the diagonal edges (damping also applies to these connections).
|
|||||||
|
|
||||||
Frame 401.
|
Frame 401.
|
||||||
|
|
||||||
In Fig. :ref:`fig-softbody-force-interior-bending`, *Bending* is activated with a strength setting of 1.
|
Both cubes keep their shape. Now, we try the same thing with subdivided planes,
|
||||||
Now both cubes are more rigid.
|
again a quad-based one and a triangulated one:
|
||||||
|
|
||||||
.. list-table::
|
.. list-table::
|
||||||
|
|
||||||
* - .. figure:: /images/physics_soft-body_forces_interior_quadvstri-bending-001.png
|
* - .. figure:: /images/physics_soft-body_forces_interior_quadvstri-bending-001.png
|
||||||
:width: 200px
|
:width: 200px
|
||||||
|
|
||||||
Two planes going to collide.
|
Two planes falling.
|
||||||
|
|
||||||
- .. _fig-softbody-force-interior-no-bending:
|
- .. _fig-softbody-force-interior-no-bending:
|
||||||
|
|
||||||
@ -164,10 +147,8 @@ Now both cubes are more rigid.
|
|||||||
|
|
||||||
High bending stiffness (10).
|
High bending stiffness (10).
|
||||||
|
|
||||||
Bending stiffness can also be used if you want to make a subdivided plane more plank like.
|
Without any *Bending Stiffness*, the faces can rotate freely as though their edges were hinges.
|
||||||
Without *Bending* the faces can freely rotate against each other like hinges
|
Enabling *Stiffness* to add diagional springs would not change this (just as triangulating doesn't).
|
||||||
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.
|
|
||||||
|
|
||||||
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.
|
||||||
|
Loading…
Reference in New Issue
Block a user