Skinned Metaball Builder Manual -Reference- (English)

Skinned Metaball Builder Manual -Reference-


0. Menu Commands




Save Prefab :

 Enabled only when a GameObject under MetaballSeed is selected.

 Saves selected metaball structure as a prefab.

 (If you drag & drop it to the project view (normal process of creating prefab), mesh data will not be set on the prefab because the mesh data is not asset but belongs to scene).

Save Mesh :

 Enabled only when a GameObject under MetaballSeed is selected.

 Saves mesh data only as an asset.

 The mesh data can be used for mesh filter, mesh collider and so on.

RebuildMesh :

 Enabled only when a GameObject under MetaballSeed is selected.

 Builds mesh by the metaball nodes.

CreateChild :

 Enabled only when a GameObject under MetaballNode is selected.

 Adds a GameObject with MetaballNode component under the selected GameObject.


1. SkinnedMetaballSeed / StaticMetaballSeed component

 Component to build a metaball mesh.

There are Skinned and Static MetaballSeed component.

Skinned doubles as Static except that building mesh costs a little bit higher (in memory usage and calculation time).



 If you use prefab (two prefabs are contained in folder "Metaball/Prefabs"), all the properties required for just making your mesh are set.

But this document will help you adjust properties for your application.


Bone Root :

 Node under which "skeleton" objects are automatically constructed by this tool.

 Also used for SkinnedMeshRenderer's "RootBone".

Source Root :

 Node under which metaball data is defined by user (or application script).

Every GameObject under this is supposed to have "MetaballNode" component.

 Shortcut command "Ctrl(Command) + Shift + C" (create child metaball node) is enabled when a GameObject under this is selected.

Cell Obj Prefab :

 Prefab for nodes under constructed "skeleton".

 Component "MetaballCellObject" is required to be attached.

 This can be null if you don't need special behavior of your metaball at all.

Grid Size :

 Size of cells in grid (refer for details).

 Small size means, high-def mesh and high-processing cost,

and large size vice versa.

Auto Grid Size (Ver1.02~)

 Ignoring "Grid Size", use automatically decided grid size by "Auto Grid Quality".

Auto Grid Quality (Ver1.02~)

 Parameter to define grid size (if Auto Grid Size is checked).

Higher value means higher resolution of mesh (small grid size).

UV Project Node :

 Guide node for texture coordinates.

 Wired cube is displayed as a gizmo to show how the texture is applied.

 Using non-repeat ("wrap mode"=clamp) texture is easy way to confirm how this works.

Power Threshold :

 Value to determine "inside" points from scalar field calculated via metaball.

 Smaller threshold means larger area becomes inside ( larger mesh created ).

Base Radius :

 This is just for editor.

 Radius of created metaball node is set to this value by default.

B Reverse :

 If true, create mesh become reverse-surfaced.

 Useful to create dungeons (see "Dungeon" sample).

B Use Fixed Bounds :

 If true, following property "Fixed Bounds" is enabled,

so that marching cubes grid area is fixed.

 If false, bounds are automatically calcurated by metaballs info.

 This is useful if you want your mesh to be stable (otherwise, change of bounding box have a slight effect on each vertex position).

 But be careful, mesh will be cut off at the bounds.

Fixed Bounds :

 See "B Use Fixed Bounds".

SkinnedMesh (SkinnedMetaballSeed) :

 Renderer to receive the created mesh.

MeshFilter (StaticMetaballSeed) :

 Mesh filter to receive the created mesh.




void CreateMesh();

 Recreate mesh by metaballs information.

Same effect as menu command "Rebuild Mesh".


Mesh Mesh { get; set; } 

 Get or set current mesh data.


2. Metaball Node component





Base Radius 

 Radius of metaball.

Be careful that metaball radius is not affected by scale of transform.


B Subtract

 If true, metaball become subtractive.