This is for cases where the shape changes, either continuously under the influence of fields say, or at specific times only during events such as collisions.
Some possible ways to create the deformations are:
- Use a Transform group above the shape to distort it, this is only suitable for very simple distortions, the shape does not really change, it just gets stretched, rotated, etc.
- Move the vertex coordinates but retain the same vertices and the same triangulation.
This allows any deformation, but is quite efficient and therefore might be
used for real-time animation, where the shape changes at every frame. Possible
methods are:
- Morphing - This moves the position of each vertex between 2 or more geometry's depending on their corresponding weighting values.
- Bones - This allows a hierarchy of shapes to be jointed together (see kinematics). Points near the joints move somewhere between where they would be if they were on one shape only. This gives the appearance of the joint bending. However there are limitations to its modeling of human movement, for example, it does not model the wrinkling of lines on the skin, or model the internal structure, such as muscles and tendons.
- Relaxation Methods - this models the internal forces in an object - see here for details.
- Mesh Generation - create a totally new shape every time it changes. This has a lot of advantages - the number of vertexes in a shape can vary as needed, or two shapes can even combine. This could be used with FEM. However this requires a lot of number crunching and may not be suitable for real-time calculations. This method can also be used for Meta balls and similar methods for creating organic shapes.