Meta Objects

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 1).

Figure 1. Two Metaballs

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:

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.