Draw a curve. Add the modifier. You have a fence.
Procedural Prison Fence is a single Geometry Nodes asset that builds a complete historical perimeter fence along any curve - tapered concrete posts with the characteristic curved-over tops, ceramic insulators, and sagging, barbed, hand-distorted wire. Nothing is baked. Every post, every strand, every barb stays editable, and the whole fence regenerates the moment you move a control point.
Built for WWII and historical productions: period film and TV set extension, documentary and memorial visualisation, education, and games that need a convincing wartime perimeter.
Why not just model it?
Building this by hand means lofting wire along curves, distributing hundreds of barbs, placing insulators one by one - and redoing all of it the moment the layout changes. Here the layout is the input. Move a curve point and the posts respace, the wire re-sags, the barbs redistribute and the randomisation reseeds. Instantly, without touching a single vertex.

Real geometry, all quads
Every strand is swept geometry and every barb is an instanced mesh - roughly 23,700 vertices / 23,600 quads on the 5 m example curve - about 4,800 vertices per metre at default settings. All-quad topology, no triangles. The cost scales with your settings, so you can drop Profile Resolution, Wire Amount and Spikes Spacing for background fences and raise them for hero shots.

Features
Curve-driven layout
- Works on any curve - poly, Bézier or NURBS. Straight runs, corners, long sweeping perimeters.
- Posts distribute automatically along the curve at your chosen spacing.
- Change the layout at any point in production and the fence follows.
Concrete posts
- Post Distance - spacing along the curve
- Post Height
- Arc Radius - the signature curved-over top, from dead straight to a deep hook
- Size X / Size Y - post cross-section
- Taper Top / Taper Bottom - independent taper at each end
- Post Bevel Width and Bevel Resolution - from a hard cast edge to rounded one
- Post Material input
Two fully independent wire rows
Inside and outside rows switch on separately and are configured independently - run a dense inner row against a sparse outer one, or disable one entirely for a single-sided fence. Each row has its own:
- Wire Amount - number of strands
- Wire Thickness and Profile Resolution
- Wire Bend - how far each strand sags between posts
- Top / Bottom Wire Offset - where the band of strands starts and ends on the post
- Spikes Spacing - barb density along the strand
- Spikes Random Rotation - rolls each barb so they do not all sit at the same angle
- Secondary Wire and Twist - the second strand of a twisted-pair barbed wire, with adjustable twist rate
- Wire Holder Scale and Wire Position on Holder
- Resolution

Imperfection and randomisation
- Distort Wire and Distortion Amount - breaks up the mathematically perfect sag so strands read as real, weathered, hand-strung wire
- Seed and Scale
- Per-post random rotation and translation on X, Y and Z - no two posts identical, no visible repetition down a long run

Swappable parts
- Wire Holder and Wire Spikes are object inputs - drop in your own insulator or barb mesh and the generator distributes it for you.
- Three material inputs: Post, Wire and Wire Holder.

Production-ready
- Works in Cycles and EEVEE.
- Ships as an Asset Browser asset with catalogs and previews - drag and drop straight into your scene.
- Non-destructive throughout. But is is also possible to export if needed.
What's included
- Procedural_Prison_Fence.blend, the asset itself. Self-contained: every texture packed, nothing linked, nothing to install. Contains the Procedural WWII Era Concrete Fence node group marked as an Asset Browser asset with preview, an example fence curve ready to duplicate, and the Wire Holder and Wire Spikes source meshes.
- Procedural_Prison_Fence_Example_Scene.blend, the demo scene with the lighting, backdrop and cameras used in the promo renders. Nothing in it is marked as an asset, so it will not add anything to your asset library.
- Asset catalog file for the Blender Asset Browser.
Compatibility
- Blender 5.0 and newer
- Cycles and EEVEE
- Windows, macOS and Linux - it is a .blend file, there is nothing to install
A note on the subject
This asset reproduces the perimeter fencing used at WWII internment and concentration camps. It exists for historical film, documentary, memorial visualisation, education and period games - the productions that need to depict this accurately and treat it with care. Please use it in that spirit.
Support
Questions, requests, or something not behaving? Message me through the store and I will get back to you.