Scaffolding Generator

by Samuels Procedural Tools in Modifier Setups


How to use

For a visual guide, see the included PDF.

Add the blend file to your asset library. A default scaffold object is already marked as asset, so you can simply drag and drop this object into your scene to import the generator node group as well as the linked material presets. You can then either manipulate the existing default object or delete it and apply the geometry nodes modifier to your own objects.

The generator uses edges as input. That means changing the base shape is as easy as moving the existing vertices around in edit mode or extruding out additional vertices to create corners.

Parameters explained


  • Scale: The scale of pole radii, details and textures.
  • Floor count: Number of floors to stack. The topmost floor never spawns ladders.
  • Floor height: Height of each floor. The amount of ladder rungs increases according to the height.
  • Section length: Length of subdivisions of the base mesh. Lower values increase the frequency of vertical poles.
  • Depth: Width of the floors.
  • Feet Height: Height of the lower support structs. 0 to disable.
  • Diagonal Probability: Chance to spawn diagonal poles, Range 0-1.
  • Side Panel Size: Height of the side panels relative to the floor height. Range 0-1, 0 to disable.
  • Side Panel Height: Vertical offset of the side panels relative to the floor height. Range 0-1.
  • Extend Poles: How far to extrude the poles outwards.
  • Grid Subdivisions: Additional subdivisions of the scaffold grid.
  • Disable Pole Overlap: Offset individual poles to not overlap each other. Useful for bamboo.
  • Disable Connector Pieces: Disables the small cylinders at pole intersections.
  • Disable Floors: Turn off all floor geometry. Useful for bamboo.
  • Disable Ladders: Turn off all ladders. Useful for bamboo.
  • Disable Barriers: Disables the barriers at the endpoints of the scaffold. Useful for bamboo.
  • Randomize Pole Offsets: Adds a random offset to each pole segment. Useful for bamboo.
  • Enable Net: Adds a mesh for the net. Careful, can impact performance.
  • Seed: Change randomized parameters like diagonal probability, ladder placement or randomized pole offsets.
  • Pole Material: the material applied to poles, ladders, feet and endpoint barriers.
  • Floor Material: the material applied to the floors.
  • Panel Material: the material applied to the side panels.

Materials

The generator exposes various attributes that can be accessed from the shader materials editor via the "Attributes" node. These include:

  • "scale": the same parameter as in the modifiers panel. Divide your texture coordinate by the scale to scale the textures together with the geometric details.
  • "floor index": The index of floors ranging from 0 to floor count - 1. Useful to randomly offset UV-generated textures per floor.
  • UV maps: All parts of the geometry are UV unwrapped. These can be used do create directional textures for e.g. bamboo poles or wooden floor planks. Apart from those use cases, the "Object" texture coordinate will give better results for randomized procedural materials.
  • "connector": a boolean attribute to separate connector pieces from the rest of the pole material.

Limitations

  • The extrusion of the base mesh for angles smaller than 90° does not scale correctly, but since scaffolds usually have corners with angles of 90° or larger, this should not pose a problem.
  • Floor counts cannot vary within a single scaffold object, i. e. there's currently no way to create parts of a scaffold with a bigger/smaller floor count. To achieve the desired effect, you would have to create a separate scaffold object and set a different floor count for it.
  • the UV maps for floors can create diagonal artefacts around the corners of the scaffold, which is due to the way Blender interpolates between texture directions for adjacent faces.

Changelog V1.1

Bug fixes

  • Fixed an issue where pole geometry would overlap when pole extension was enabled
  • Fixed an issue that caused scaffolds to not spawn correctly when only a single segment was generated

New features

  • New material: corrugated iron sheets for the side panels, including several parameters that can be changed directly from the material tab
  • The rusty pole material now has optional moss spread
  • Rewrote most of the other materials to also include adjustable parameters for the material tab
  • UV data are now available for every part of the geometry
  • Added several advanced parameters that are exposed in the geometry nodes subgroups (highlighted in orange) to not clutter the main parameters in the modifiers panel. These are:
    • Adjustable spawn chances for side panels to create more randomness
    • Sliders to define minimum and maximum spawn heights for side panels and safety nets
    • Introduced a new global random displacement slider. This is useful to create more realistic bamboo scaffolds (floors/barriers/side panels/ladders are not affected by this slider and should consequently be turned off)

Other changes

  • Improved the material naming scheme, making it easier to find materials in big projects with many materials (added a "scaffold_" prefix everywhere)
  • Restructured the whole node tree and compartmentalized many functions into subgroups for improved readability
  • Rewrote some of the mesh processing logic, especially how attributes are handled during subdivisions and triangulations
  • Lowered the default amount of subdivisons of the safety nets to improve performance
  • Added subtle irregularity to the top and bottom edges of the safety net

  • $6
  • $12
$6

Have questions before purchasing?
Login to message

Details
Sales 100+
Rating
4 ratings
Dev Fund Contributor
Published over 1 year ago
Software Version 4.2, 4.1, 4.0, 3.6
License GPL