These passes export the map's real-world features — coastlines, country borders, water, buildings — as editable line geometry or true 3D mesh instead of pixels. Every pass lands in the exact same frame as your terrain and imagery, so a coastline spline sits precisely on the satellite shoreline and a building drops onto its displacement. None of these sources need a Mapbox key — a vector-only scan is fully keyless.
The prefix on the pass name tells you what you get:
Vector — = SVG splines. Editable paths (borders, coastline,
water, banded buildings). Import into C4D as spline objects and extrude / sweep them.OBJ — = OBJ mesh. Real 3D geometry (exact-height
buildings). Drop-in — no extrude needed.Two source tiers, mirroring the elevation tiers (Mapbox 30 m → GPXZ lidar). Pick by frame size:
| Source | Scale | Use for | Limit |
|---|---|---|---|
| Natural Earth (Country Borders, regional Coastline) |
1:10M, regional | Continents, countries, big regional frames | None (cached, keyless). Coarse up close — a city coastline comes in blocky. |
| OSM / OpenStreetMap (Coastline + Water, Buildings) |
Survey / city detail | Cities, hero frames — every pier, inlet, river, footprint | Fetched live via Overpass; times out on large frames. |
The single most important setting. Add frame rectangle draws a rectangle at the exact frame edges into the export. It gives C4D a known reference the size of your whole frame, so on import the object centers on the frame with its pivot at the origin — and you can scale until the red frame rectangle matches your plane's edges, which makes the fit exact every time instead of eyeballing. It also doubles as a border element you can keep or delete.
.svg. In the import dialog turn Center XY on.Since v261 the mesh carries UVs and flat normals. The UVs are measured in real metres — u runs around the footprint, v runs up the wall — so one facade shader is scaled correctly on a cottage and on a tower with no per-building tuning. Roofs and floors are mapped by ground position, in the same metres. The normals are flat and explicit: without them an importer computes its own and smooth-shades the box, which rounds every corner off.
The exact-boxes buildings pass is a different animal — real mesh, not splines, and it behaves better on import. It's generated Y-up with footprints in the XZ plane, so it comes in flat on the terrain with no rotation and no extrude — none of the SVG Pitch −90° dance. Each building already carries its true height from OSM.
.obj. It lands flat and upright.One object, up to hundreds of thousands of buildings (all of Paris in one mesh), true-scale heights, n-gon caps. Drop-in.
The GOOGLE TILE pass is an OBJ too, imported the same way: flat, upright, no rotation, same scale as the buildings OBJ. The difference is that it's one continuous textured surface — ground, trees and buildings together — written as <name>_google3d.obj with its .mtl, a handful of 4K texture pages and a .json sidecar. Keep those files together when you move them.
elevation_datum_m is that ground's real sea-level height, so it can sit on your displacement.Any app that reads OBJ reads this one. The .mtl finds the textures through tex/, so keep that folder beside the OBJ.
scene_units_per_metre.tex/ folder with the File Path Editor.Vector — OSM — Buildings (banded SVG) |
OBJ — Buildings (exact OBJ) | |
|---|---|---|
| What | Footprints bucketed into 7 height bands, one SVG file per band | Every building at its real height, one mesh |
| Workflow | Import each band file, extrude to the height in its filename
(e.g. _buildings_04_68m.svg → extrude 68 m, ×1.5) |
Import once, scale to plane. No extrude, no per-band work. |
| Best for | Uniform / stylized cities you want to art-direct as splines | Dramatic real skylines (NYC, Paris) & fast drop-in |
Building heights are ~87% real — from OSM tags (explicit height →
building:levels×3 m → 8 m default where a building has no data).
This per-building height is the key difference from tools that give every building one flat height.
Landmarks get modelled, not blocked out. A cathedral isn't one polygon in OSM — the
outline is just the footprint (Notre-Dame's is tagged 10.5 m, the height of the side-aisle
roof) and the real shape lives in separate building:part pieces: nave, towers, spire.
Where a building has those, they're used instead of the outline, and each starts where it actually
starts — so the flèche sits on the roof at 73 m instead of running down to the pavement.
Ordinary blocks are a single polygon and come out exactly as they always did; this only shows up on
the handful of buildings someone has hand-modelled. The banded SVG can't carry a starting height
(they're flat splines you extrude from the ground), so that part is OBJ-only.
On accuracy — this is a starting point, not a survey. Heights come from OSM, and how
much OSM knows varies enormously by city. On a city-centre frame you might find three-quarters of
buildings carrying a real height in Manhattan, around two-thirds in Paris, and closer to one in
eight somewhere like Jakarta. Everything without a height tag gets the 8 m default, so a
lightly-mapped city comes out as a fairly even field of low blocks rather than a skyline. That
isn't a fault to work around, it's the honest state of the data — and it's still a scaffold worth
having: real footprints, at true scale, registered pixel-for-pixel with every other pass in the
scan. Drop it into C4D and push the buildings you actually care about to the heights you want. If
you need a literally accurate Jakarta, start here and fill it in; you were going to art-direct the
hero massing anyway. The OBJ makes that easy to act on: it arrives in two groups, buildings_measured and buildings_assumed, so you can select every guessed
block at once and leave the real ones alone.
Sets the real-world size of the export. What it affects depends on the target:
The one vector pass that isn't fetched from anywhere. It is traced from whichever elevation pass runs in the same scan, so it sits on the displacement map exactly — same array, same frame, nothing to align. If no elevation pass is configured it quietly fetches one. That also means it inherits your source: trace it off GPXZ lidar and you get lidar contours.
Regions, not lines. Each band is a closed area — everything between 1200 and 1300 m, say — so it extrudes straight into a terrace. Where higher ground sits inside a band the shape is a ring with a hole, and it exports that way (one path, even-odd fill), so it arrives as one object rather than a pile of unrelated loops.
The heights travel with the file. Each band's group is named
band_1200_1300m and carries data-low-m / data-high-m, and
the pass writes a metadata JSON listing every level. Your displacement scale is your own
business — the tool hands over the numbers so you can map them onto whatever scale you are
working at, rather than guessing your setup.
Interval is set per row and defaults to 100 m, which suits regional frames. A city frame usually wants 10 or 20 m. A large vertical range produces a lot of bands — a Full Depth frame spanning the sea floor can pass a hundred — and the pass says so rather than silently writing an enormous file.
They read the SVG's embedded size — set World size for real units. They do not apply C4D's 1.5× scale; that quirk is C4D-only, so don't compensate for it elsewhere.
Questions or comments: studio@skylab5.com