Plating Generator And Greebles

by Mark Kingsnorth in Scripts and Addons

Installation

You will be provided with the following files:

For Blender installation (do not unzip, install via Blender UI):

  • plating_generator_greebles.zip - the main add-on file.
  • animation_nodes_plating_generator.zip - an extension add-on for animation node.


Libraries and samples (do unzip!):

  • greeble_libraries.zip - a bonus set of greeble libraries.
  • animation_nodes_samples.zip - A set of sample.blend files demonstrating the animation node setup.

 

Instructions for how to install the add-on and additional features are below.

The general order of installation is:

  1. Install Main Add-on file (e.g. plating_generator_greebles.zip)
  2. .Install Animation Nodes.
  3. Install Animation Nodes add-on (e.g. animation_nodes_plating_generator.zip).

Main Add-On

The add-on can be installed through the Blender 2.8 UI with plating_generator_greebles.zip (you do not need to unzip the file):

  1. Go to Edit -> Preferences.
  2. Select the Add-ons tab on the left it is not already.
  3. Select the Install... button along the top.
  4. This will open a file dialog where you should navigate to where you have downloaded the "Plating Generator" zip file.  This file should not be unzipped.
  5. Then, click the "Install add-on from file" button.
  6. Search for the add-on by typing "Generate Plates with Greebles" in the search box if it does not already appear.
  7. Make sure the checkbox next to the Add-on (Mesh: Generate Plates with Greebles) is ticked.

Animation Nodes Version

There us a bonus feature in  that will allow you to animate and dynamically add plating patterns using the freely available Animation Nodes addon:

With animation_nodes_plating_generator.zip:

  1. Make sure you have installed the latest version of Animation Nodes available here: https://animation-nodes.com/#download 
  2. Make sure you have installed the main Plating Generator addon as above.
  3. In Blender, Go to Edit -> Preferences.
  4. Select the Install... button along the top.
  5. This will open a file dialog where you should navigate to where you have downloaded the zip file.  This file should not be unzipped.
  6. Then, click the "Install add-on from file" button.
  7. Search for the add-on by typing "Animation Nodes: Generate Plates and Greebles" in the search box if it does not already appear.
  8. Make sure the checkbox next to the Add-on (Add Mesh: Animation Nodes: Generate Plates and Greebles) is ticked.

The nodes are described below and have the same parameters as the main add-on.

Let us know if you have any problems!

Using the Plating Generator

The tool can be used in either Object or Edit Face Mode, with faces selected.

Either:

  • Navigate to the Object or Edit menu of the 3D viewport.  Choose from these options:
    • Generate Plates and Greebles: Create plating and greeble patterns at the same time.
    • Generate Plates: Create just plating patterns without greeble options.
    • Generate Plates (Create New Object): Create plates but add them as a new object for a more non destructive workflow.
    • Generate Greebles: Create just greebles.
    • Generate Greebles (Create New Object): Create the greebles but add them as a new object for a more non destructive workflow.
  • Press the F3 key and start typing "Generate " in the pop-up menu that appears.

Generate Plates Parameters

When first using the add-on, a small expanded menu will appear in the bottom left of the viewport:

By clicking the small arrow to expand, a set of expandable panels appear in the Toolbar window:

This allows you to add plates and/or greebles.  Here are the top  sections expanded:


Plates Section

This section describes how to generate the plates effect:

This has the following sections:

Plating Pattern

Configure how the plating pattern is created.


  • Mode - Choose between:
    • Generated - Automatically generate a hull plating pattern. In Generated mode, the following options apply:
      • Amount - the amount of plate cuts generated.
      • Random Seed - generate a different selection based on the whole number given here.
      • Subdivisions - this will subdivide the selected faces before applying the plates. 
    • Selected Edges - Use the edges that have been already selected.
    • Triangular -  Similar to Generated, with added triangular accents added randomly to the grooves: 
      • The following additional options apply to Generated settings:
        • Triangles Random Seed: Change where triangular parts of the grooves are added independent to the main random seed.
        • Amount of triangles: As a percentage, how many triangles are added to the standard pattern.

Plates

Configure how the plates are created.


Plate Taper

  • Amount: This will shrink the tops of the plates.  By increasing the amount, the plates should become smaller.  You can also use negative amounts to make the plate tops larger.

Plate Heights

These options will vary the heights of each plate at random, which should allow you to create more varied effects:

  • Min Height: The minimum height of plates*
  • Max Height: The maximum height of the plates*
  • Random Seed: This will vary the random pattern that the heights are set at, without changing the plating pattern.

* note that the Min Height can be higher than the Max Height!

Plate Bevel

Add a bevel effect around the plates:

  • Amount - How bevelled are the top of the plates.
  • Segments - How many segments the plate bevel has.
  • Plate Bevel Type - The type of Bevel to apply. See the bevel documentation.

Grooves

This section controls the grooves between the plates.


  • Clamp Groove Width - prevent the grooves from overlapping geometry.
  • Width - the width of the grooves between the plates.
  • Depth - The depth of the grooves between the plates.
  • Groove Segments - Number of segments inside the grooves.
  • Side Segments - Number of segments on the side of the plates.

Groove Bevel

Add a bevel effect around the grooves:

  • Amount - How bevelled are the groove edges between the plates.
  • Segments - How many segments the groove bevel has.
  • Groove Bevel Type - The type of Bevel to apply. See the bevel documentation.

Corners

For each corner of the plates, you can also add a curved bevel to give a more finished effect.


Major Corners

Major corners are the surrounding corners of the original face selection:

  • Amount - bevel width of the corners.
  • Segments - the number of segments in the bevel.
  • Major Corner Bevel Type - The type of Bevel to apply. See the bevel documentation.

Minor Corners

Control the opposite to major corners:

  • Amount - bevel width of the corners.
  • Segments - the number of segments in the bevel.
  • Minor Corner Bevel Type - The type of Bevel to apply. See the bevel documentation.

Rivets

You can add spherical rivets to the corners of the plates.  The shapes are standard ico spheres.

  • Use Rivets - whether to add rivets or not.
  • Distance from Corner - this will determine the distance of the rivets from the corners.
  • Diameter - diameter of the spherical rivets.
  • Subdivisions - level of detail for the rivets.
  • Material Index - the index of the material slot to use for the rivets.  -1 will not automatically assign a material.

Selection

  • Select Groove Geometry - select the created groove faces.
  • Select Plate Geometry - select the created faces for the plates.

Materials

Add custom materials to the plating materials.  By default, the plates will be created with the same materials as the selected faces. The following parameters let you override that behavior with materials you have defined:

Groove Material

Specify a material for the grooves via a drop-down box that shows you existing materials.

Plating Materials

Plating effect with different materials applied to each plating group.This section allows you to specify different materials to randomly applied to each plate.  A plate is a group of faces between the grooves.

It has the following parameters:

  • No. of Plating Materials: The number of different materials to be randomly applied to the plates.  Increasing this number will create new material drop-down boxes for you to populate*:There is a known bug in Blender where by pressing the 'X' the menu will disappear.  You the number of plating materials parameter to control the number of materials instead.
  • Add Vertex Colors: Add a vertex color group called plating_color to the plates.  A random color value is assigned per plate. 
  • You can change these random colors by altering the Vertex Color Random Seed value. You can then use this in a material shader to control the color of a material: 
    Different seed values being applied to the vertex color layer.

Simple example of a vertex color layer controlling a material.

Other Options


  • Mark UV Seams - mark UV Seams around the plates for texture mapping purposes.
  • Edge Split - this will split the groove edges to make sure the outer plates remain smooth.
  • Remove Grooves - completely remove the grooves and just leave the plates. Useful with Solidify modifier.
  • Remove Inner Grooves (New Object creation mode only): This allows you to remove just the inner groove faces.  Useful in new object creation mode when you just want the plates and sides.
  • Edge Selection Only - only select the edges, without the mesh being edited.  Useful if you want to perform custom operations on the selection.

Greebles

The Greeble objects are aligned randomly onto quad faces. The overall shape of each greeble is deformed to follow the face it is being placed on.

The add-on has the following sections:

Greeble Pattern

Mode: This has the following options:

  • Overlapping: The greeble objects are randomly placed and can overlap.
  • Non-Overlapping: The greeble objects are placed so that they do not overlap.

Overlapping

Non-Overlapping

Each mode has different parameters because each uses a different approach to placing the objects:

Overlapping

  • Greeble Random Seed: by changing this value, you will create different random patterns.
  • Greeble Amount: The number of greeble objects to be put on the object.


Non-Overlapping


  • Greeble Random Seed: by changing this value, you will create different random patterns.
  • Overall Coverage %: The percentage covering the object.
  • Greeble Division Levels: Each face will be allocated spaces for the greebles.  Higher levels means more objects will be fit onto each face. The user interface is restricted but you can enter higher values.
  • Greeble Deviation: This is how much each greeble's size varies on a face. A value of 0 will create a uniform set of sizes, where a value of 1.0 will create irregular sizes.

General Parameters

  • Min Width: The minimum width of a greeble object relative to the face it is on.
  • Max Width: The maximum width of a greeble object relative to the face it is on.
  • Min Length: The minimum length of a greeble object relative to the face it is on.
  • Max Length: The maximum length of a greeble object relative to the face it is on.
  • Min Height: The minimum height of a greeble object relative to the face it is on.
  • Max Height: The maximum height of a greeble object relative to the face it is on.

Greeble Objects from Library

There are several basic objects supplied as a default greeble library to create Greeble effects from.  You can choose to add squares in different patterns, L shapes, T shapes, or cylinders.  

There are settings for each object and by hovering the mouse you should see a description for each one. They are:

A thumbnail of the greeble. Clicking on this thumbnail shows you which other objects you can choose from within that greeble library.


A drop down menu showing which greeble library the object comes from. If you have other greeble libraries installed, you can select them here.

Maintain Aspect Ratio: This will keep the proportions of the object's width and height in case you do not want the object stretched.

Material Index: Override the material on the greeble with a material index slot.  By default, these objects will inherit the material of the object. Values of -1 will not override the material.



Height Override: This will automatically override the height of each greeble so that you can stop shapes stretching unnecessarily.



Finally, there is the Coverage property, which controls the amount this Greeble will cover the surface relative to the total number of greebles set under the ‘Greeble Pattern’ section. This allows you to adjust the relative amount of each object on the total number of greeble objects.  For instance, if you have 50% L shapes and 100% T shapes, the effect will roughly have half as many L shapes as T shapes.

These parameters also apply to Greeble Objects from Scene.

Greeble Objects from Scene

The add-on allows you to add your own greebles from scene objects. 


By clicking "Add" you will be able to select the scene object.  Once selected, the objects will be added as Greebles.  You can adjust the coverage and other parameters of these objects like the default objects. 

The objects will be added to a face relative to the same direction as the z-axis of the original object.

Greeble Orientation

This section allows you to point the greebles in a customized direction and to control the random rotation of the greebles.

  • Use Custom Direction: By default, the greebles point out from the Mesh along the normal of the faces they are on. This option allows you to point the greebles in a custom direction along the vector defined under Outwards Direction. A value of (0,0,1), for instance, will point all Greebles in the Z direction:
    Default: Greebles follow the face normals.
    Custom Direction: All greebles point in the same customisable direction.
  • Rotation: The greebles are randomly rotated in 90 degree turns when they are placed on the mesh.  You can control or disable this function:
    • Greeble Random Rotation Seed: this will change the random pattern of greeble rotations without affecting their overall positions.
    • Do not randomly rotate: This disables random rotation, and allows you to specify the number of 90 degree turns by changing Number of 90 degree rotations.

Apply Updates Section

This section has an option to disable the updates to the mesh whilst you change parameters.  This is particularly useful when changing large parameters which may slow down Blender:

Installing a Greeble Library

  1. Go to Edit -> Preferences and select the Add-Ons tab if it is not selected already:

  2. Then, find the Plating Generator add-on by starting to type ‘Plates…’ in the search box. Expanding the ‘Mesh: Generate Plates with Greebles’ entry should give you a small preferences screen:

  3. There is a ‘Preferences’ section:

  4. The Defaults are listed in their own directory.  If you delete all entries, clicking ‘Refresh Libraries’ will reset the directory list.

  5. To add a new library, unzip the zip file to a separate folder somewhere on your computer. You should see a set of files with <greeble name> .blend and .png file pairs:

  6. Now go to the preference screen and click the ‘Add Folder Containing Greebles’ button.  A new folder entry will appear:

  7. Click the folder icon. You will be presented with a file window where you can select the directory containing the greebles. Select the folder by navigating to it and clicking ‘Accept’.  Note that there is a Clipboard icon that allows you to quickly copy the path entry to add libraries in a similar directory.

  8. Finally, click ‘Refresh Greeble Libraries’ to load the greebles in:

You should now be able to use the new greebles library when using the add-on by selecting the library from the drop down list:

Credit: Sam Morse-Brown

Making a Greeble Library

You can create your own greeble library by doing the following:

  1. Create a folder for your greeble library. The name of the folder will be the name of the library.

  2. Create a .blend file with the Greeble object in it. 

  3. Greeble objects need to be a single blender object mesh, that is:

    • It does not have child objects and is all joined into one object.

    • All modifiers are applied.

    • It is a normal blender ‘Mesh’, not a curve, a light, or other object types.

    • It can optionally have Materials and UV Mapping.

  4. Make sure the object is called ‘Greeble’. This is so the add-on can find the object when it looks in the file.

  5. Create a thumbnail for the file by rendering a square picture of it in Blender and saving it as a .png in the same directory as the .blend file. It should also have the same name as the .blend file. For instance, if my greeble object is called my_greeble I would have a my_greeble.blend file and a square my_greeble.png file of, for instance, 500x500px in the one directory.

  6. You can create as many .blend-.png pairs of files in the folder, and this will make up your greeble library.

A good way of seeing what a greeble folder should look like is by looking at the contents of the custom_greebles.zip example file.  There are example scenes that that you could copy:


Credit: Sam Morse-Brown

Animation Nodes Version

There is also the option to use the add-on as a node in the powerful Animation Nodes Blender extension. This is useful if you want to either create animated effects or control the effect dynamically. 

There are two available nodes: One for generating plates and one for generating greebles separately.

The parameters are similar.  The 'Generate Plates' node looks like this:

And the 'Add Greebles' Node looks like this:

Any Questions?

If you have any questions, clarifications, or issues, do get in touch with me via the 'Contact the Creator' option on Blender Market.