Back to plugins

Greeble for AC3D


Latest release
Download Windows version 1.1b
Download Macintosh version 1.1b *
Download Linux (RedHat/Fedora build) version 1.1b **
Download source code 1.1b

* The Macintosh version was compiled by Andy Colebourne of Inivis.
** The RedHat version was prepared/compiled by Eldon Brown, and contains all source and plugins in one package.

LightWave render of AC3D model

AC3D screenshots



Greeble is an AC3D plugin that adds "greebles" to existing geometry (or, more concisely phrased on Wikipedia, "A greeble is a small piece of detailing added to break up the surface of an object to add visual interest to a surface or object, particularly in movie special effects.").

Greebles are placed in a separate object from the base object. Your base geometry is not modified.

AC3D versions prior to version 5 have not been tested with this script.


Copy the greeble.tcl and greeble.p files to your AC3D plugins folder (for example, if using Windows, C:\Program Files\AC3D\plugin) and (re)start AC3D.

You will find the "Greeble..." menu item under the "Tools" menu.


2006/06/16 : version 1.1b

  • Fixed various issues when "Greebles in separate objects" was checked (objects were not added correctly to AC3D).
  • Updated "About Plugins" version.

2006/06/06 : version 1.1

  • Added support for non-distorted custom greebles.
  • Added option to separate greebles/bevels into individual, grouped objects.
  • Added texturing for greebles when separated into individual objects.
  • Added divided bevels - bevels may be divided into 2, 3, or 4 sections on quads.
  • Improved small-polygon detection algorithm (greebles/bevels are not placed on polys below a certain threshold).
  • Fixed crash when greeble was performed when no geometry was selected.

2006/06/02 : version 1.0.2

  • Added object name of "greeble" field to the newly created Greeble.
  • When a max value exceeds a min value, a popup dialog no longer appears. Instead, a warning appears on the console, and the min value is set to the max value during greebling.

2006/06/01 : version 1.0.1

  • Tweaked source code for firendlier Linux/Mac porting.
  • Tweaked GUI to allow for more bevel/greeble height range without manual key entry.
  • Greeble extrusion heights are now 100% of the surface area by default, as opposed to 50% of the surface area in the previous version.
  • Added a "Create greebles and close" button to GUI.


Select some surfaces and select the Greeble plugin. Greebles will be applied to the selected surfaces based on user input.


The interface options are as follows:

NOTE: Some parameters can be set above or below what the dials indicate - simply manually key in numbers to exceed default limitations.

Parameter Usage
Beveling If checked, bevels will be placed on selected surfaces prior to adding greebles. This is often used to get a discontinuous "raised floor" effect.
Bevel frequency % The frequency with which bevels are applied to surfaces. For instance, a value of 75% means roughly 3/4 of the selected surfaces will be beveled.

Bevel minimum height %
Bevel maximum height %

The minimum/maximum height that a bevel will be raised on a given surface (the actual value per surface is random). Beveling uses a formula that takes the area of the underlying surface into account. This number may exceed 100%.
Bevel minimum indent %
Bevel maximum indent %
The distance from the edge of a surface that a bevel will start. Specify zero to have bevels at the very edge of a surface.
Bevel division frequency % The frequency with which bevels will be split into 2, 3, or 4 separate bevels. If a bevel is split, the split between 2, 3, or 4 bevels is random. This feature only works on quads, not triangles.
Greebling If checked, greebles will be placed either on the tops of bevels, or directly on the tops of surfaces where no bevels exist.
Greeble frequency % The frequency with which greebles are applied to surfaces. For instance, a value of 75% means roughly 3/4 of the selected surfaces will be greebled.

Minimum greebles per surface
Maximum greebles per surface

The number of greebles that will be applied to each surface.
Greeble minimum height %
Greeble maximum height %
The raised height of each greeble. Greeble heights default to the surface area of the underlying surface. This number may exceed 100%.
Greeble minimum size %
Greeble maximum size %
The size of each greeble as it is spread on the surface. 100% means the greeble will completely cover the surface.
Greeble rotation degrees Greebles are randomly rotated when placed; this value dictates the increment (in degrees) which a greeble may be rotated, from 0 to 90.
Random seed A seed for the randomizer used to determine greeble placement. Use a number here for consistent results between greeble runs on the same objects, or specify one (1) for a number based on the current date/time.
Use custom greebles If checked, custom greebles will be located and used (if present). See the "Custom greebles" section below.
Use standard greebles with custom If custom greebles are found and this box is checked, the custom greebles will be combined with standard greebles. If this box is not checked, standard greebles will not be used unless there were no custom greebles found.
Maintain custom greeble aspect

If checked, custom greebles will not be distorted to conform to the underlying surface. Use this for greebles where you wish to maintain their current width/depth/height aspect ratios.
Note that this works best when placing greebles on relatively square/rectangular objects. When placing un-distorted greebles on triangles or skewed polygons, they may tend to gravitate toward the weighted center of the polygon rather than.

Greebles in separate objects

If checked, each greeble/bevel will be created in its own separate object. All greebles are then grouped into a single AC3D group.
Note that this can cause significant slowdowns if you end up with thousands of greebles/bevels in separate objects.

Realtime updates This feature provides you with an interactive preview, directly on your selected surfaces, of what your generated greeble will look like. The greebles will be updated as you tweak/change variables.
While realtime preview is active, you will not be able to interact with your model. You may go in and out of realtime preview to rotate/scroll your model view to get a different perspective on the greeble-in-progress.
Note that if you manually type values in fields, the realtime preview does not update - only when you use the numeric scrolls or the checkboxes does the preview update.
Once you click the "Create greebles" button, the actual greebles are generated, and realtime preview is disabled.
Save settings to greeble Data Enable this feature to write a summary of greeble settings to the newly created greeble object. Handy for seeing how you initially generated a greeble object. Use the AC3D object property window to see the contents of the Data field.
Each textual setting is prefixed by "//", which should make this POV-Ray-safe.

Known issues

  • Due to the natue of the greeble sizing algorithms, only triangles and quads (4-sided rectangles) will be greebled. You will be notified if any surfaces with less than 3 or greater than 4 surfaces were skipped.
  • Greebles do not use subdivided surfaces. The greebles are placed on the control cages (original surfaces) rather than the subdivided surfaces. Commit subdivisions for better results on subdivided geometry.
  • Concave polygons (think of a 4-sided polygon shaped like an arrowhead) may be greebled, but the greebles may overlap the "empty space" caused by the concavity.
  • Greebles will often end up on top of one another during placement, due to the random nature of placement.
  • Custom greeble tags in the Data field of an object are case sensitive (see "Custom greebles" below).

Standard greebles

By default, there are 4 types of greebles, shown here.

These greebles are stretched, rotated and scaled in accordance with the underlying surface.

Custom greebles

Use custom greebles where the standard set does not meet your needs.

Custom greebles are merely AC3D objects. To make an object a custom greeble, edit the object's Data property (F9 in Object mode) and type "//CUSTOM_GREEBLE" (without the quotes) at the beginning of any line in the text box. Make sure you type in all-caps as shown, and do not enter any spaces.

(NOTE: A future release may make this a friendlier process).

You may define as many custom greebles as you like. If you have a set that you like to use, you could save them to their own file and load that file into whichever document you'd like to use them.

Also, greebles should point "up" along the Y axis. Basically, the view of your greeble in the "top" view is the way the greeble will be applied to the target surfaces.

Once you have your custom greebles created, make sure the "Use custom greebles" checkbox is checked.

Below is an example using custom greebles. The cylinder and half-sphere have been defined as custom greebles. I have created a greebled cube with a mixture of custom and standard greebles.


Notice that the size of the custom greebles does not matter. It is copied and resized to a square area and then proportionally placed on the target object, so it doesn't keep any proportions you initially apply.

Texture coordinates are preserved on custom greebles, but the material used will be the same as the underlying surface onto which it is applied. textures themselves are not applied to greebles by default (you must do that yourself).


Back to plugins

All content Copyright © 2006 Dennis Hawthorne, except where explicitly noted
supercoldmilk © 2006 Dennis Hawthorne