Real GreebleZ! version 0.65

What is Real GreebleZ!

This script produces the offset, panel-like and stacked block structures that range from flat and wide to tower-like, known as greebles, and optionally or exclusively, applies nurnies, the smaller detail objects, on the surfaces of SDS objects.

How Does It Work

Faces are randomly chosen at a likelyhood rate set by the user from the currently selected faces for first subdividing to quads and subsequently for extrusion with all parameters settable; extrusion height, face scale, and rotation in all directions. These values are comprised of a random value generated within a range set by the user. Nurnie details are added implementing the same sort of selection process and have settable dimensioning and positioning parameters with the same random value from a range.

New in this version

Tabbed interface.

Multiple user defined nurnies. User defined Nurnie objects are now chosen at random from all objects in a level named "my_nurnies".

Fixed many minor bugs relating to Nurnies placement and rotation.

New in version 0.62

User Nurnies can be instances as well as copies. In the case of instances, the nurnies in a given level are linked to a master nurnie in that same level, providing individual control of each level group of nurnies.

Decimal places now match user's preference setting.

Floating point-type settings now have intutively scaled-roller input gadgets.

Selection of what group of faces to leave selected after each operation.

New face selection option for nurnie additions added by way of the GreebleiZe! button.

Additional checks and user readable error messages implemented.

Fixed several minor bugs relating to face selection.

Features

Undo and Redo fully implemented.

Real GreebleZ! now keeps track of several groups of faces including a user settable group. This makes it easy to add materials and to perform subsequent operations on specific face groups of the greeble construction.

Dynamic Min/Max sliders. Version 0.62 introduced a much better way to control the randomness that is behind all of what Real GreebleZ! does. Instead of just an input for maximum deviation from a maximum value, Real GreebleZ! utilizes pairs of sliders allowing a minimum and maximum value for each field to be defined; thdisplays the controls for e resultant value is a random number within this defined range.

Operation options. Real GreebleZ! allows you to perform individual operations corresponding to each section of the Real GreebleZ! interface; such as only subdividing or just adding nurnies, as well as the GreebleiZe! button, to perform all activated operations with one click.

Getting Started

Installation of Real GreebleZ! consists of simply placing the file in the folder named "scripting" in your Realsoft installation directory. Real GreebleZ! is started by selecting "Real_GreebleZ!-0.6.js" from the Scripts drop-down menu.

The Interface

The interface consists of four main tabs; buttons for initial face selection, greebling construction - iterations one and two and nurnie additions. The latter three of which can be toggled for visibility and consideration in the greebling operations. All length, width and height values are in meters.

Face Selection Options

Under the select tab are six buttons:





These buttons control the selection of faces for operating on. All of the buttons have different modes of operation that are invoked by holding a key while clicking on the button.

Clicking the "All" button, of course, selects all faces, the addition of the shift key unselects all faces and the addition of the accent ( ` ) key inverts the current selection.

The Original button allows you to add, or with Shift, subtract the original faces of the object from the current selection.

The "Random" button adds to, or with Shift, subtracts random faces from the current selection.

In Real GreebleZ!, top faces refer to the roof and floor sections of the extruded areas; side faces refer to the walls. Side faces can become top faces if they are selected for greebling. In such cases the faces will become part of both groups. There are no faces in either of these groups until a greebling operation has occurred.

The "Top" and "Side" buttons work the same as the "Original" button with one more option. Pressing "Esc", while clicking the "Top" or "Side" buttons clears the faces stored in the respective groups. You will see later why this might be desirable.

The "User" button has the same options as the "Top" and "Side" buttons but with one more addition. Pressing the accent ( ` ) key adds the currently selected faces to the user defined group of faces.

Post Operation Face Selection

This cycle gadget determines what faces are selected after an operation has been invoked.







Greeble Construction

These tabs are where face subdivision and extrusion is controlled. By default, iteration one is activated.





The first tab is the subdivide controls.







These consist of a slider that controls the the likelyhood that a face will be chosen from the currently selected faces to be subdivided into quads. The Subdivide button performs the subdivision operation by itself.

The second tab is the extrusion controls. Since there are several sections we will look at each of these individually. The first is the extrude likelyhood.




This, like the subdivision likelyhood, determines the likelyhood that a face will be chosen from the current selection for extrusion.

Next is the Extrude Elevation sliders.





These set the minimum and maximum extrude elevation height values. Again, the resulting values are random values in the range defined by these sliders.

The Face Scaling sliders work in the same manner as the elevation sliders.







There is a pair for both X and Y scaling. The values represent a percentage of the current dimensions of the face. Again, setting the min and max values the same produces faces scaled at only that percentage.

The last three sets of sliders in the extrude section are the face rotation controls.







Working the same as the other min/max pairs, these control the rotation of the faces being extruded in the face's local X,Y and Z directions. The values are in degrees.

The last item in the extrude section is the Extrude Button



Like the Subdivide button, this performs only the extrude operation with the current extrude settings.

Activating the Iteration Two checkbox activates the second iteration of greebling operations and displays a cycle gadget for selection of the target faces for this second iteration. The controls operate in the same manner as the iteration one controls.





This cycle gadget determines which groups the faces are considered for selection; actual selection is determined by this and the setting of likelyhood sliders. This setting is only considered when the GreebleiZe! button is used to invoke all activated operations.

Nurnies

Setting the Nurnies checkbox activates the nurnie additions. All settings for this are located under the Nurnies tab.


The first cycle gadget in the nurnies section determines what faces are considered for nurnie additions.




Like the "Target Faces" gadget associated with the second iteration of greebling, this setting is only considered when the GreebleiZe! button is used to invoke all activated operations.



This slider determines the likelyhood that a face will have a nurnie object added to it.



This cycle gadget sets what object is used as the nurnie object. There are five built-in nurnie objects: sphere, cube, cone, cylinder, and vents, a group of three rectangular cubes arranged parallel to each other. There is also facility for user nurnie objects as either copuies or instances; with these settings nurnie objects are chosen at random from all objects in a user-created level, named "my_nurnies". If it is desired for some of the nurnie objects to be produced more often than others in the level; they may simply be duplicated within the level. These addional occurences of the object will make it more likely to be chosen during the random selection.









User nurnies may be added as either copies or as instances. If instances are used a master nurnie object will be placed at the top of each nurnie level object. Nurnie objects in each level are linked to the master object in each level. Unlike instances created directly by RS, which are linked to the objects inside a level object, the nurnie instances are linked to the master nurnie level object.

Next are three pairs of sliders that determine the dimensions of the nurnie additions.









These sliders work in the same way as the previous min/max pairs.

The next to sets of min/max sliders determine the amount of offset from the center of the face in the face's local X and Y directions.







The pair of altitude sliders determines the distance that the face is moved above the surface of the face.





The final pair of sliders for controlling nurnie additions controls the Z axis rotation of the nurnies; this value is in degrees.





At this time the the nurnie rotation controls only have an effect for user nurnie objects.



The Add Nurnies button performs only the nurnie addition operation with the currently selected faces being considered for nurnie additions.

The final pair of buttons in Real GreebleZ! are the GreebleiZe! and Undo buttons.



The GreebleiZe! button invokes all currently visible operations, in the following sequence: iteration one subdivide and extrude, iteration two subdivide and extrude, nurnie additions. This assumes that all operations are activated.

The Undo button in Real GreebleZ! undoes previous operations and redoes them with the addition of the shift key, much as expected but, there are additional things to consider. For Real GreebleZ! to be able to keep the various groups of faces in sync in the case of the user undoing or redoing an operation, the changes in the groups are stored and recalled as needed. This will only work if the the built-in Undo button is used. Additionally if an operation is performed other than a Real GreebleZ! operation then the standard Realsoft undo should be invoked.

Tips and Cautions

The greebling process can take some time; depending on the speed of your computer this could be several to many minutes.

It is very important to remember that with Real GreebleZ!, as with any randomly controlled, reiterative generation type of process, it is quite easy to make more faces/objects than you intended; more importantly, more faces than Realsoft can realistically cope with. Start with the default settings, and turn up the likelyhood sliders gradually and consider the resulting face selection after an operation before performing another operation.

Interface Tips

All min/max slider pairs are interactive/dynamic. For example if the max value is slid so as to be lower than min slider value, the min slider automatically matches the value of the max slider. Therefore the max slider could be used to lower the minimum value then set to the desired maximum value.

As in the standard Realsoft interface gadgets, all numeric values may be entered manually.

All controls have tooltips accessible by hovering the mouse over the control in question until the tooltip appears.

Set the extrude controls in each of the iteration tabs, to two desired configurations. These may now be invoked alternatively, etc., by clicking the respective extrude buttons.

Requirements amd Known Issues with Real GreebleZ!

A minimum of Realsoft3D version five is required for user nurnie support.

The dimensions displayed for nurnie objects are not always accurate for user nurnie objects; this depends on alterations made to the object after it's intial construction.

What is in store for future versions of Real GreebleZ!

The ability to save and load presets; this is waiting until the list of settings stops growing.

Subdivision and nurnie placement likelyhood based on the relative size of the face, most of this code is working but is very computationally heavy and may have to wait for implementation until Real GreebleZ! becomes a plug-in.

Additional controls for nurnies rotation.

Random face combining after subdivision; the result will be rectangular and "L" shaped faces in addition to square.