ImplicitFunction - an Implicit Surface modeller for Maya.

By Hannes Ricklefs d1132332 NCCA 2005

This readme file gives the necessary information about the installation and usage of the plug-in as well as the content of this CD.

  1. Installation
  2. Usage
    1. SoftVolumeSphere node
    2. SurfaceGenerator node
    3. Problems
  3. Content
    1. Technical Report
    2. Doxygen Source Code Documentation
    3. Water Demo: Close
    4. Melting Demo


In order to install the plug-in simply copy it into a directory that your MAYA_PLUG_IN_PATH points to. Precompiled plug-ins are available for Maya 6.0.1 on Mac OS X and Linux Red Hat.
In addition you could save it in a location convenient for you and use the dialog Window -> Settings/Preferences -> Plug-in Manager... And from the appearing Dialog select Browse and select the plug-in wherever you saved it.

In addition you need to copy this mel script into a location that your MAYA_SCRIPT_PATH points to.
On Mac OS X this should be $HOME/Documents/maya/scripts
On Linux this should be $HOME/maya/scripts

Now your system is ready to use the ImplicitFunction plug-in. See the usage section on how to operate.


I have provided a small video going through all the attribute of this plug-in. Unfortunately, I did not have a commercial version of the screen capture software so you have to excuse the watermark!

After installing the plug-in the main thing you have to do is to execute the following command in the script editor:

source implicitfunctions;

This will add two commands createMetaball and addMetaball.
The createMetaball command creates a new SoftVolumeSphere(locator node) and a SurfaceGenerator node. If you then want to add a metaball that interacts with the first simply execute addMetaball in the script editor. This will add a SoftVolumeSphere to the existing SurfaceGenerator node. Just make sure you have the metaball selected you want to add the new metaball to otherwise you will get an error saying: "Error: select an existing metaball".

The resulting Hypergraph

SoftVolumeSphere node

The SoftVolumeSphere is the visual representation of the implicit function. The artisit is able do all the standard transformations through the SoftVolumeSphere transform node. The SoftVolumeSphere node enables the artist to enter values for the Radius and Weight of this "Metaball".

SurfaceGenerator node

The SurfaceGenerator is responsible for extracting the iso surface. Therefore it represents attributes that can change the appearance of the iso surface. These attributes are Tessellation, Isolevel, and the Algorithm.


There are still some issues with the plug-in:

  1. When deleting a SoftVolumeSphere the locator gets deleted but the mesh still remains the same. The problem is that the attributes even though I disconnect them are still valid in the connection of the SurfaceGenerator. Is it not possible to delete them as they are static attributes and maya returns an error when trying to remove them.
  2. Sometimes the Marching Tetrahedra algorithm produces artefacts that from my understanding are produced through the linear interpolation.
  3. For future releases my main aim will be on increasing the performance, as currently the interact ability of the system gets dramatically reduced when using a tessellation of more than 40 or more than 15 metaballs. The main strategy around this problem is to reduce the tessellation to 15 and only check the model once in a while with a higher tessellation.
  4. Never move the mesh directly, always use the locator nodes to change the shape and position of the mesh!