LW Greeble & Nurnies
Current version : 0.51
Compatibility : from Lightwave 7.5c to 2015

Download Script for LW 10 and below here

Download Script for LW 11 and 2015 here

Download Demo object here

Download Zip with Scripts + Object + This manual, here

Want to help me working more on this ?

Greeble ? Nurnies ? What does it means ? Wikipedia is you friend :)

How to install

How to use :
Select a layer as Foreground Layer and all other layers as background layers

Note :
The number of BG layers is not limited.
You also can select multiple FG layers.
The final mesh is pasted into a NEW object for LW 10 and below version.
And because of a bug in Lscript since LW 11, the result will be pasted in a new layer in the current object.

Script GUI:

Random Seed : change this value to have differents random patterns, if you keep the number, you'll always have the same result.

Triangles & Quads :You can choose the process type for each polygon type :
- Skip : the polygon will not be modified
- Bevel only : only a random bevel will be performed
- Details Only : only details will be copied on the polygon
- Random : a random processing will be used from this list : skip , bevel only, details only, bevel and details.

Low Area Polygons & Area threshold : if the polygon area is lower or equal to the defined threshold, it will be identified as 'Low area poly'

A concave polygon is something like this :

Thin Polygons & Thin threshold : if the polygon ratio (shorter edge / longer edge) is below the defined ratio, it will be identified as a thin polygon.

Keep original polygons : This option allow to copy or not the original geometry in the final result.

Details coloring : details will be colored with the base polygon surface.

Simulation : this option will not do the processing, only count the number of generated polygons and display it
Run the script again and uncheck this option to do the real job ;)
Skipped / Bevel / Details amounts :
Define the quantity of each element in the final processing. It's a proportionnal control : if you set 100 for bevel and details, and keep Skipped and Bevel + Details to 0, you'll have 50% of bevel and 50% of details, since they have the same score.

# of Details (nurnies) per polygons ( from / to ) : define the number of nurnies copied on each polygon.

Density Map : this will use the selected WEIGHTMAP to define the density for each polygon : the average weight value of the polygon is used to define the max random value from the number of Details per polygon range defined.

Ordered details : Prevent the details to be cloned randomly, with this option active, the bg layers order will be used.
Min / Max size : boundaries of the random rescaling (100% = the details fits perfectly the polygon)
boundaries of the size map if one is selected

Size Map : a weightmap is used to define the size using the defined Min/Max range.

Preserve aspect ratio : if activated, this options will override the previous size option, and only use the height value as a proportionnal resizing factor.
Note : this function is still in work in progress mode, and only works correctly with square polygons, if the polygon is a rectangle or is deformed, the nurnies will be too.

Limit height : if activated, this option will limit the details height to the specified value.
Note : this value is used for a 100% height value in the sliders below, if you set the Max height to 200%, then you'll have twice the the limit height, so 20cm if your value is set to 10cm.

Min / Max height : boundaries of the random height (100% = original height ratio)
boundaries of the height map if one is selected.

Height Map : a weightmap is used to define the height using the defined Min/Max range

Random rotation step : each details will be randomly rotated using this angle step.

Look at Polygon tip : The details will always be oriented (Z+) to the polygon 'tip' before the random rotation
Examples of polygon tips :

If the polygon is a perfect square or rectangle, then the result is almost unpredictable : the 'last smallest edge' in the polygon will be used as tip.
According to the point order in the polygon, the smallest edge is defined like this :

Candidates edges are B and D, D is the last smallest edge in this polygon.
Select Preset : select the preset to load

Load : load the selected preset

Name : set a name for a new preset or to rename the current one

Add : add a new preset using the current parameters, and the name typed in the 'Name' field

Update with current parameters :
update the selected preset with current parameters, and rename it with the inputed name.

General Notes :
- Details shapes sizes and positions have no influence on the final result
- The final mesh is pasted into a NEW object for LW 10 and below version.
And because of a bug in Lscript since LW 11, the final mesh will be pasted in a new layer in the current object.

What's next :
- Advanced Bevel Options
- Control for the details positions (weightmap density, no details crossing, etc...)
- Advanced coloring options
- N-gons support
- more ideas to come...

History :

12 / 07 / 2015 : 0.51 > Workaround
Bug fix :
- Selecting a newly created object is broken since LW11, so until a fix, the resulting mesh will be stored in a new layer.

10 / 03 / 2011 : 0.5 > Bug fix
Bug fix :
- don't remember what I've fixed, sorry :p

08 / 08 / 2007 : 0.47b > Bug fix
Bug fix :
- Fix on a Mac intel execution bug

08 / 08 / 2007 : 0.47 > Bug fix
Bug fix :
- LW9 automatic point merge is broken, it's now fixed
- It's now possible to not have bg layers, in this case only bevel will be done
- Initial Polygon selection was lost with LW9

12 / 08 / 2006 : 0.46a > Bug fix & New Functions
Bug fix :
- The 'Set max Height' function was broken, it's now working as it should, and has been renamed to "Limit height".
- The 'Look at tip' function was broken too (in some special cases), it's fixed now.

New functions :
- Preserve details aspect ratio when resizing (work in progress).
- Two new weight maps are automatically generated : GreebleHeight -> from 0 to 100% at the top of each nurnies, and GreebleUnitHeight from 0 to the current height in meters of each nurnies
- New behavior : the final mesh is no more pasted into a new layer, but into a fresh new object, this improve the overall script speed.

03 / 08 / 2006 : 0.46 > Optimisations & New Functions
- Somes optimisations in the main loop for some speed up in some cases

New functions :
- Presets can now be saved and loaded (presets.txt saved next to the script file)
- A simulation option has been added to estimate the final polycount
- New behavior on orientation : the details will always be oriented (Z+) to the polygon 'tip' before the random rotation
- Its now possible to keep ordered the cloning of details.

30 / 07 / 2006 : 0.45c > Little Bug fix & PowerUp
- Fix for the Fix for LW9 compatibility ;)
- I tweaked some functions to almost double the global execution speed

29 / 07 / 2006 : 0.45b > Little Bug fix
- Fix for LW9 compatibility

17 / 06 / 2005 : 0.45a > Little Bug fix
- A problem occured with 2D polygons within the script and the demo object, both fixed now

15 / 06 / 2005 : 0.45 > Bug fix & New Functions
Bug fix :
- The big memory leak with high poly objects is gone :)
- Overall speed multiplied by 2 or 3
- Empty BG layers are now detected

New functions :
- Details can now be colored with the polygon surface they are putted on.
- It's now possible to have bevel and details only on the final mesh, without the original geometry.

01 / 06 / 2005 : 0.42 > Bug fix
- The height map wasn't correctly processed
- Selected weight maps are now saved between two scripts calls

29 / 05 / 2005 : 0.4 > Bug fix & New functions
- Error when the FG layer contained only 1 polygon
- A little speed up in processing

New functions :
- Random seed
- Weight map control for Density, Size and Height
- Height restriction

16 / 05 / 2005 ( a bit later ): 0.31 > Bug fix
- Error when using a 0 value for rotation step
- Removed the time limit

16 / 05 / 2005 : 0.3 > Bug fix & New functions
Bug fix :
- Details might have some twisted face

New functions :
- Amount control for each processing type
- Random size and height control
- Random rotation step

15 / 05 / 2005 : 0.21 > Bug fix
- Bevels were still done in 'details only' mode

14 / 05 / 2005 : v0.2 > First GUI

10 / 05 / 2005 : v0.1 > First version

How to install :

1) Start Modeler and hit ALT+F11 to open the Edit plugin panel

Then click on the Add Plugin Button

2) Go to the greeble_nurnies.lsc file, select it and click on Open

3) Search for the plugin into the list

Type "greeble" in the search field

4) The plugin is found

5) You can now unfold the menus list to find the right place to put the plugin

6) Drag & Drop it

7) You can now double click on it to change it display Name

8) Click on the 'Done' button. You'll have now a new "Greeble !!" button in your Lightwave user interface.