Plating Generator And Greebles

by Mark Kingsnorth in Scripts and Addons

Installation

You will be provided with the following files:

  • plating_generator_greebles.zip - the main add-on file (do not unzip).
  • animation_nodes_plating_generator.zip - an extension add-on for animation nodes (do not unzip). 
  • 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.
  • 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 Section

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-Overlaping


  • 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.

Default Greeble Objects

There are several basic objects supplied as default 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:

  • Coverage: 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.
  • 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 unnecesarily.
  • Maintain Aspect Ratio: This will keep the proportions of the object's width and height in case you do not want the object stretched.

These parameters also apply to custom greebles.

Custom Greeble Objects

The add-on allows you to add your own custom greebles from objects (up to 20). 

By clicking on the empty box on the left you should be able to select from other objects you have created in your scene.  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 customised 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:

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.