Relevant to Blender v2.31
Meta Objects consist of spherical, tubular and cuboidal elements that can affect each other's shape. You can only create rounded and fluid 'mercurial', or 'clay-like', forms that exist procedurally, that is are computed dynamically. Use Meta Objects for special effects or as a basis for modelling.
Meta Objects are also called implicit surfaces, again to point out that they are not explicitly defined by vertices (as meshes are) or control points (as surfaces are).
Meta Objects are defined by a directing structure which can be seen as the source of a static field. The field can be either positive or negative and hence the field generated by neighbouring directing structures can attract or repel.
The implicit surface is defined as the surface where the 3D field generated by all the directing structures assumes a given value. For example a Meta Ball, whose directing structure is a point, generates an isotropic field around it and the surfaces at constant field value are spheres centered at the directing point. Two neighbouring Meta balls interact and, if they are close enough, the two implicit surfaces merge into a single surface (Figure 8-1).
In fact, Meta Objects are nothing more than mathematical formulas that perform logical operations on one another (AND, OR), and that can be added and subtracted from each other. This method is also called CSG, Constructive Solid Geometry. Because of its mathematical nature, CSG uses little memory, but requires lots of CPU to compute. To optimize this the implicit surfaces are polygonized. The complete CSG area is divided into a 3D grid, and for each edge in the grid a calculation is made, and if (and more importantly where) the formula has a turning point, a 'vertex' for the polygonize is created.
To create a Meta Object press SPACE and select Add>>MBall. You can select the base shapes: Ball, Tube, Plane, Ellipsoid and Cube.
MetaBalls have a point directing structure, MetaTubes have a segment as a directing structure, MetaPlanes a plane, and MetaCubes a cube. The underlying structure becomes more evident as you lower the Wiresize and raise the Threshold values in the Meta Ball Panel.
When in EditMode, you can move and scale the Meta Objects as you wish. This is the best way to construct static - as opposed to animated - forms. Meta Objects can also influence each other outside EditMode. When outside EditMode you have much more freedom; the balls can rotate or move and they get every transformation of the Parent Objects. This method requires more calculation time and is thus somewhat slow.
The following rules describe the relation between Meta Objects:
All Meta Objects with the same 'family' name (the name without the number) influence each other. For example "MBall", "MBall.001", "MBall.002", "MBall.135". Note here that we are not talking about the name of the MetaBall ObData block.
The Object with the family name without a number determines the basis, the resolution, and the transformation of the polygonize. It also has the Material and texture area and will be referred to as base Meta Object.
Only one Material can be used for a Meta Object set. In addition, Meta Objects save a separate texture area; this normalises the coordinates of the vertices. Normally the texture area is identical to the boundbox of all vertices. The user can force a texture area with the TKEY command (outside of EditMode).
The fact that the base Object dictates the polygonalization implies that, if we have two Meta Objects and we move one of them we will see the polygonalization of the non-base Object change during motion, regardless of which of the two object is actually moving.
The Meta Ball Panel in Editing context offers few settings. If in Object Mode, only this Panel is present. You can define the polygonalization average dimension both in the 3D Viewport via the Wiresize Num Button, and at rendering time via the Rendersize Num Button. The lower these are, the smoother the Meta Object is, and the slower its computation.
The Threshold Num Button is an important setting for MetaObjects. It controls the 'field level' at which the surface is computed. To have finer control, when in EditMode, the Stiffness Num Button of the Meta Ball Tools Panel allows you to enlarge or reduce the MetaObject's field of influence.
In this latter Panel you can also change the Meta Object type and set it negative (that is subtractive, rather than additive) with other Meta Objects of the same set.