[WML-Source: Metaballs.wml][TOC][Part00]

[chapter]

[section]MetaBall

  [images/MetaBall.tga]

MetaBalls consist of spherical or tubical elements that can operate on each other's shape. You can only create round and fluid, 'mercurial' or 'clay-like' forms that exist procedurally. Use MetaBalls for special effects or as basis for modelling.

In fact, MetaBalls are nothing more than mathematical formulas that perform logical operations on one another (AND, OR), and that can be added and subtracted. This method is also called CSG, Constructive Solid Geometry. Because of its mathematical nature, CSG can be displayed well, and relatively quickly, with Ray Tracing. This is much too slow for interactive displays. Thus polygonize routines were developed. The complete CSG area is then divided into a 3D grid, and for each edge in the grid a calculation is made whether - and precisely where - the formula has a turning point; a 'vertex' for the polygonize is created there.

The available quantity of CSG primitives and tools in Blender is limited. This is a point of attention for future Blender versions. The basis is already there; and it is outstandingly implemented. Unfortunately Blender has little need for modelling systems that are good for Ray Tracing. However, it is still fun to play with...

A MetaBall is displayed with the transformations of an Object and an exterior determined by the Material. Only one Material can be used here. In addition, MetaBall saves 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 EditMode).

MetaBalls are extremely compact in memory and in the file. The requisite faces are only generated upon rendering. This can take a great deal of calculation time and memory.

[subsection]Modeling with MetaBalls

In EditMode you can move and scale the balls or rounded tubes as you wish. This is the best way to construct static - not animated - forms. MetaBalls can also influence each other outside EditMode. Now you have much more freedom in which to work; the balls can now rotate or move; they get every transformation of the Parents' Objects. This method requires more calculation time and is thus somewhat slower.

The following rules describe the relation between MetaBall Objects:

To be able to display animated MetaBalls 'stably', it is thus important to determine what Object forms the basis. If the basis moves and the rest remains still, you will see the polygonized faces move 'through' the balls.

The "Threshhold" in EditButtons is an important setting for MetaBalls. You can make the entire system more fluid - less detailed - or harder using this option. The resolution of poygonize is also specified in EditButtons. This is the big memory consumer; however, it is released immediately after polygonize. It works efficiently and faster if you work with multiple, more compact 'families' of balls. Because it is slow, the polygonize is not immediately recalculated for each change. It is always recalculated after a Grab, Rotate or Size command.


-cw- Last modified: Thu Oct 26 16:22:10 CEST 2000