Panel Stitcher

by Witting Graphics in Addons




Contents

1. Quick Start

2. PBR Map Baking

3. Tool settings


Quick Start

Download and the .zip addon file in a location of your choice. 

Open the Edit>Preferences>Add-ons Panel

Click Install and select the .zip.

After a few seconds Panel Stitcher should be visible in the list. Click the the checkmark and save the preferences.

You can now acces the addon in the right-side panel ("N" to hide/unhide) from object mode, under the "Create" tab.

Select the object whose geometry forms the pattern in the viewport. Optionally choose your own object for the small elements, or use a template.The "Create Mesh" option will either create a new mesh with an auto-generated name, or replace the one with the same name. So when trying out different settings, you don't have to delete the old ones. When you want to keep the last object, change its name in the outliner


Baking PBR maps

What is baking?
"Baking" refers to converting information from shaders or geometry to a flat texture. It can be used to "fake" small details on surfaces using textures instead of 3D geometry, this greatly improves performance and simplifies models.

Because the geometry generated by Panel Stitcher is already on the surface of a different object it is well suited for this proces.

If you do not know what PBR textures are, I suggest this 5-minute tutorial.


Part 1: Create the texture
Create a new texture in the image editor. Most settings can be left at default, but the resolution might need to be larger depending on how small the instance elements are. 


Add a Texture -> Image Texture node to the material that you main object uses.. Make sure to set it to Non-Color! (else the values will not be read correcty). Enter the texture you just created, then select the node itself. The selection is important because it lets blender know which texture to bake to.


Part 2: Bake the result
Select all objects you want to bake into the main object, you can use multiple Panel Stitcher-generated objects for the same texture. Select the main object last, so that it is the active object. (yellow outline in viewport instead of orange for most themes)


In the render tab, set the render engine to Cycles (the baked result can be used for Eevee too). The bake panel should be visible now. The settings to use:

- select the type of texture you want to create (Normal here)
- leave Influence at default
- Enable Selected to Active
    - Set Extrusion and Max Ray Distance to the same value, it should be a short distance. You might need to tweak this depending on the size of your objects.
- Set Output -> Margin to 0 pixels

Press "Bake" and after a few seconds, the texture updates. Make sure to save the result from the texture editor.

That's the entire process. If you want to bake the texture again, make sure that the last one is not used for the material output, or the effects could "stack".


Tool settings

Instance Type
Where the instance object comes from.

  • Object: Select an object from your scene as template
  • Collection: Randomly select instances from the collection
  • Template: Loads one of the default instances
Default: Object

Object
Object to be copied onto the currently active object.

Collection
Collection of objects to be copied onto the currently active object. One object is randomly selected each time.

Template
Which template to use. Can be modified after loading in this blend file.

  • Rivet (solid): Rivet with smooth head
  • Rivet (hollow): Rivet with dimple
  • Screw (hex): Screw with hex head
  • Screw (Philips): Screw with Philips head ('+' mark)
  • Stitch (cross): Stitching consisting of crosses (best used with offset=0)
  • Stitch (lateral): Staple-like stitching, of threads perpendicular to seams (best used with corners=none, offset=0)
  • Stitch (lengthwise): Stitching consisting of lenghtwise threads (best used with corners=none)
Default: Rivet (solid)

Scale
Scale of instanced elements.
Default: 0.1
Minimum: 0

Spacing
The target spacing between elements, might be adjusted to spread evenly across edge.
Default: 0.1
Minimum: 0

Offset
When non-zero, enables two rows on both sides of edges and sets offset distance.
Default: 0.1
Minimum: 0

Axis
Up-Axis of instance object, this axis will be aligned with the normals on the active object.

  • X:
  • Y:
  • Z:
  • -X:
  • -Z:
  • -Y:
Default: Z

Corners
Change how corner element sand their orientation are handled.

  • None: Don't create any corner elements
  • Inwards: Orient corners by interpolating the elements around it (recommended for offset)
  • Extend: Orient corners like continuing edge elements, unpredictable which edge is used (recommended when not offset)
Default: Inwards

Fixed Corner Angle
Force bends with angles sharper than this to behave like fixed corners, including corner element like specified as 'inwards' etc. Lowering this might reduce artifacts on high-poly meshes.
Minimum: 0

Angle
Filter on edges with sharp angles.
Default: False

Area
Filter on faces with large areas (uses average of connected faces if offset=0).
Default: False

Sharp
Only place instances along edges that are marked as sharp.
Default: False

Seam
Only place instances along edges that are marked as seam.
Default: False

Selection
Only place instances on selected parts of the mesh.
Default: False

Selection type
Which exact pattern to use based on selection.

  • Full: Place elements along all edges that are selected
  • Boundary: Place elements on the boundary of a face selectionn
Default: Full

Selection type
Which exact pattern to use based on selection.

  • Full: Place elements along all edges that are selected
  • Full Inside: Place elements on all selected faces, but not outside the boundary
  • Boundary Inside: Place elements along the inside boundary of a face selection
  • Boundary Outside: Place elements along the outside boundary of a selection. Includes edges with no neighbouring faces.
  • Boundary Both: Place elements along both the inside and outside boundary of a selection. Includes edges with no neighbouring faces.
Default: Full

Angle
Edge angle above which to place instances.
Default: 0.0872665
Minimum: 0

Minimum Area
Face area above which to place instances (connected faces averaged when offset is zero).
Default: 0
Minimum: 0

Project
After creating instances along edges of the active object, project them onto the surface of a different object.
Default: False

Object
Object to project instances onto.

Randomize Transform
Add a randomized component to the placement of instances.
Default: False

Randomize Position Lengthwise
Factor for randomizing the position of instances, along the edge they're placed on. As a factor of spacing.
Default: 0
Minimum: 0
Maximum: 1

Randomize Position Sideways
Factor for randomizing the position of instances, sideways from the edge they're placed on. As a factor of spacing.
Default: 0
Minimum: 0

Randomize Rotation
Factor for randomizing the rotation of instances.
Default: 0
Minimum: 0
Maximum: 1

Random Seed
Seeds the random translation and rotation.
Default: 0
Minimum: 0

Interpolate Normals
Rotate the instances smoothly around the edge.

Example: Above is disabled, below is enabled.


Interpolation Amount
The strength of the interpolation. One means the farthest elements from the edge have exactly the face normal. Can be larger than one for quicker fallof.
Default: 1
Minimum: 0
Maximum: 1

Fast Collapse Amount
Simplify the mesh virtually before running the algorithm. Higher values improves performance, at the cost of slightly less smooth curves.
Default: 0.1
Minimum: 0
Maximum: 1

Ridge/Valley Corner Angle
Maximum face angle difference for which still to put a corner element exactly on the ridge or valley.
Default: 0.7854
Minimum: 0

Instance Limit
Hard limit on maximum amount of placed elements, failsafe to prevent crashing.
Default: 20000
Minimum: 100
Maximum: 500000

Auto Update
Execute 'Create Mesh' every time a parameter is changed.
Default: True

If anything in the documentation is unclear, please contact me, so I can help you and also update it for other users.

  • Commercial use - max. 2 seats

    $29
  • Commercial use - more than 2 seats

    $119
$29

Have questions before purchasing?
Login to message

Details
Sales 300+
Rating
8 ratings
Dev Fund Contributor
Published almost 4 years ago
Software Version 4.2, 4.1, 4.0, 3.6, 3.5, 3.4, 3.3, 3.2, 3.1, 3.0, 2.93, 2.92, 2.91, 2.9, 2.83, 2.82, 2.81, 2.8
Extension Type N/A
License GPL