Three ground surfaces for Blender — a seamless concrete pour, scored sidewalk slabs, and asphalt with road markings you switch on. Nine ready materials from three generators, so every control is a slider. The panels and the lines are made in the material, not modelled: one flat plane gives you a sidewalk at any length with the joints landing correctly, or a road with a centre line. Works in EEVEE and Cycles from the same material, with no image textures.
Start here, not with the material theory. The single most common question on any Blender asset pack is "where did it go?" — the answer is the Asset Browser, and it needs one bit of setup the first time. Do section 01 and the rest is dragging.
Two ways in. The first is the proper one and takes about thirty seconds; the second is the shortcut if you just want the material in this file and don't care about a library.
Unzip SF-Ground-Pack-v1.1.zip somewhere you'll keep it — not your Downloads folder, since Blender is going to point at this folder from now on. Something like Documents/Blender/Assets/SF-Ground/.
Edit → Preferences → File Paths → Asset Libraries → + (the plus button), then pick the unzipped folder — the folder, not the .blend inside it. Give it a name if you like. Close Preferences; Blender remembers this forever.
Change any editor to Asset Browser (the editor-type dropdown in the corner of any area — the little grid icon), then pick your library from the dropdown at the top-left. You'll see nine surfaces under Starting Frame → Ground.
Quickest way to get one: split the timeline at the bottom of the default layout and switch it to Asset Browser. You don't need a fancy workspace.
File → Append → browse into SF_Ground_v1.blend → Material → pick the one you want. It lands in the current file and you assign it in the Material Properties tab like any other material.
Route B is per-file. Route A means every future project already has them.
From the Asset Browser, drag a surface straight onto your object in the 3D viewport. That's the whole interaction. Switch the viewport to Material Preview or Rendered (the sphere icons, top-right of the viewport) to see it.
These are built for flat geometry. A default plane scaled up is a road; a long thin plane is a sidewalk. You do not need to model panels, score lines, or paint stripes — all of that is generated inside the material and lands correctly at whatever length you make the plane.
Everything is sized in real-world units, so a 20 m road shows correctly-proportioned aggregate and a sensible line width. If your object was modelled at the wrong scale it will read off; either fix the scale (Ctrl-A → Scale) or turn the Scale control until it reads right.
This is the part worth being picky about. A lot of ground packs are one crack generator at different scales — they look like each other the moment you shrink them to thumbnail size. These are three different structures.
Seamless. Broad tonal drift across the surface, fine aggregate, sparse hairline cracking. No joints — because a pour doesn't have them. This is your loading dock, your plaza, your bare slab.
Scored panels with hairline joints, a directional broom finish, and each bay a slightly different tone the way separate pours are. In Cycles the joints are real displaced edges, not a painted line — see section 07 for the one modifier setting that makes that work.
Dense fine aggregate, oil sheen, patching — and the road markings in the next section. This is the one that carries the most controls, and the one that costs the most to render, both for the same reason: the aggregate.
The markings are generated in the material, so a plane of any length gets a centre line that lands correctly. Turn them on, pick the kind, set the geometry.
Solid yellow · double yellow · dashed yellow · dashed white. Double Line adds the second stripe and suppresses the centre one, so the spacing stays right rather than drawing three lines.
Offset is the one to reach for when the road isn't centred on the plane's origin — it slides the whole marking sideways without moving your geometry.
Two effects that do most of the work of making a road look used rather than rendered.
Road paint doesn't fade evenly — it chips and breaks up along its length, so you get solid stretches and bare stretches. Wear sets how much is gone; Wear Detail sets how fine the breakup is, from big missing patches to a rough, gritty edge.
Wetness drops the roughness the way a wet surface does. Puddles pool water in the low spots and go mirror-flat — the puddle doesn't just darken the surface, it also fills the voids, so the texture under it goes smooth the way standing water actually behaves.
Wet roads need something to reflect. A wet surface is mostly a mirror, so on a plain grey background it can look like you've done nothing. Put a light, a sky, or an HDRI in the scene and it comes alive — a night street with warm lamps is what this was built for.
Measured, not estimated. EEVEE, 1920×1080, 64 TAA samples, on a plane filling the frame, best of three runs, against a plain Principled BSDF on the same shot. Your absolute numbers will differ — the ratios are what travel.
| Surface | Frame time | vs plain |
|---|---|---|
| Plain material (the baseline) | 1.97s | — |
| Sidewalk, everything on | 1.90s | no measurable cost |
| Concrete, everything on | 2.18s | +11% |
| Pavement, dry, no markings | 2.63s | +34% |
| Pavement + a worn line | 2.67s | +36% |
| Pavement + markings + wet puddles | 3.01s | +53% |
Read it this way: Concrete and Sidewalk are effectively free. Pavement costs about a third more than a plain material because of its dense aggregate — and that's the aggregate, not the road markings, which are close to free on top. Wet puddles are the most expensive thing in the pack at roughly half again.
If you're filling frame with wet pavement on a slow machine: drop Aggregate Size or turn Wetness to 0 and you get most of that back. Nobody publishes these numbers, so there they are, along with which slider to reach for.
Sidewalk's panel joints are deliberately gated to up-facing surfaces. Without that gate they wrap down the vertical sides of an object like ribbon on a parcel, which looks wrong on anything but an infinitely thin plane.
The practical consequence, said plainly: this is a ground pack, not a building-facade pack. The concrete pour itself is seamless and will tile happily on a wall — you just won't get scoring or panel structure on a vertical face.
Walls are SF Stone's job — its masonry set (red brick, cinderblock, concrete wall, cement stucco) is triplanar, so the grid lands on vertical faces. SF Ground owns floors; SF Stone owns walls.
For genuinely displaced sidewalk edges rather than a bump, add a Subdivision Surface modifier set to SIMPLE and enable Adaptive Subdivision on the object.
It must be SIMPLE, not Catmull-Clark. Catmull-Clark rounds the slab off into a pillow before the displacement ever gets a chance. EEVEE uses the bump instead and needs no modifier at all.
Built and verified in Blender 5.2. It will not open in Blender 4.x, including 4.2 LTS — that's a Blender file-format change, not something the pack can work around. You need 5.2 or newer.
One material, EEVEE and Cycles from the same node group — measured 0.3–0.6 apart on a 0–255 brightness scale, so you can look-dev in EEVEE and final in Cycles without the surface changing under you.
Nine tiles, one per surface, under Blender's default light — so you can look at all of them at once before you use any of them. Delete the lot once you've had a look; the materials are independent of it.
100% procedural — zero image textures, no scans, no AI, nothing that phones home. Nothing to unpack, no texture folder to keep beside the file, and no missing-file surfaces when you move the .blend. It re-solves at whatever scale you use it at, so it never goes soft when you zoom in. The whole pack is 620 KB.
Released under the MIT License. Render whatever you like, commercially or not, and sell the result. Modify it, build on it, ship it inside your own work — no credit required, no royalties. The one condition MIT carries: if you pass the material files themselves on to someone else, keep the copyright notice and licence text with them. LICENSE.txt is in the zip.
Buy it once, use it in everything you make. No subscription, no account needed to render, nothing that expires.