转至内容
商品 CityGen — Runtime City Builder Framework | Roads, Zoning, Buildings | UE5 的媒体 1

描述

CityGen is a runtime C++ plugin for Unreal Engine 5 that turns infinite procedural terrain into a city-builder sandbox — players draw roads, place buildings, and paint zones at runtime, on a streaming open world that generates around them.

Drop the WorldStreamingManager into your level, set up the RTS camera, and you have the core of a city-builder, RTS, or 4X game running before lunch.

CityGen is NOT an editor-time city generator. Tools like iPCC, CityBLD, and UE5's built-in Landscape Splines generate cities at edit time, in the Unreal Editor, baked into your level. CityGen runs at game time — your players draw the roads, paint the zones, and watch buildings appear. Different category, different problem solved.

Built on the WorldGen terrain core. Every WorldGen feature is included — you do not need to purchase WorldGen separately to use CityGen. WorldGen exists as a standalone product for buyers who only need procedural terrain streaming without the city-builder layer.

CityGen adds the city-builder verbs: player-drawn road network with spline meshes, bridges, sidewalks, roadside-props scattering, building placement with footprint-aware Z anchoring and OBB collision, Cities-Skylines-style zoning with weighted auto-fill, an RTS camera pawn, HUD-driven placement modes, and full save/load.

Playable Demo
Documentation

V1.2 Sidewalks, Bridges, Props

V1.1 Fab Release
V0.6 Zoning
V0.5 Buildings
V0.4 Save/Load
V0.3 Bridges
V0.2 Roads
V0.1 Camera

──────────────────────────────

CITY-BUILDER FEATURES

──────────────────────────────

▸ Player-Drawn Road Tool
▸ Day / Night System (V1.3) — drop-in `CityGenTimeOfDay` actor drives sun + moon, post-process exposure, SkyLight recapture, and a smoothly-ramped `Illuminate` MPC scalar. Configurable lit window with 30 min smooth fade. PreviewInEditor for live scrubbing.

▸ Sidewalks (V1.2) — parallel spline-mesh strips on every ground road tile.

▸ Linear-Z Road Grade — roads stay flush on rolling terrain between control points; mesh and chunk-flattened bed match exactly

▸ Junctions

▸ Fixed-Angle Bends — single-midpoint arc anchor with bisector tangent, clean 90° corners with no facet artifacts

▸ Spline-Mesh Road Rendering — local-average tangent override eliminates Catmull-Rom overshoot on asymmetric spacing

▸ Bridges — automatic span detection over rivers / valleys, per-segment bridge mesh + pillars with hysteresis

▸ Roadside Props — Data asset per road asset, one ISM per mesh. Per-type spacing/side/scale/rotation, bridge filter, `bExtendToGround` pylon mode, collision toggle, pivot-agnostic placement.

▸ Roadside Prop Zone Filter (V1.2) — per-prop toggles for Dezoned / Residential / Commercial / Industrial. Sidewalk strip inherits nearest-cell zone; bridges bypass filter.

▸ Roadside Prop Carve-Aware Placement (V1.2) — props read Z from actual carved road grade; never spawn on a crossing road's deck; rebuild deferred until chunks settle.

▸ Building Placement Tool

▸ Footprint-Aware Building Z (V1.2) — placement Z = max of a 3×3 grid inside the rotated footprint. Deep base hides downhill gap; never buried on slopes. Applied to ghost, commit, auto-zone fill, and save/load.

▸ Zoom-Safe Cursor + Clicks (V1.2) — RTS max zoom-out resolves cursor + Road / Demolish / Zone clicks via deproject + long line-trace fallback.

▸ Cities-Skylines Grid Snap + OBB-vs-OBB SAT Collision — buildings align to nearest road's tangent, footprint OBB tests against all other buildings

▸ Slope-Aware Refusal — per-asset MaxSlopeDegrees blocks placement on terrain too steep

▸ Multi-Cell Footprints + Mesh Variants + Per-Placement Height Roll — all persisted in save

▸ Zoning System — Cities-Skylines zone painting, per-segment 2D cell grid, 4×4 brush per click, weighted building pools per zone asset

▸ Zone Auto-Fill — paint a cell, get a building; erase a cell, the building disappears. Origin-cell tracking. Manual buildings survive zoning. Junction-aware. Dezones on demolish.

▸ Demolish Mode — X key, removes buildings and road segments

▸ RTS Camera Pawn — Enhanced Input, zoom-aware pan speed, auto-pitch on zoom, middle-mouse pan, right-mouse orbit with damping

▸ HUD API

▸ Save / Load (F5/F9) — UCityGenSaveGame holds roads, buildings, zone paint state, building variants, consumed spawner positions, terrain deformation deltas. V1.2 adds deferred building/prop restore (waits for chunks to settle) so loaded cities never float or bury on the road carve.

──────────────────────────────

INHERITED FROM WORLDGEN CORE

──────────────────────────────

▸ Infinite Chunk Streaming — actor pool, no spawn/destroy at runtime

▸ Async Mesh + Collision — thread-pool geometry; bUseAsyncCooking default

▸ Seamless Chunk Normals — 1-vertex border overlap eliminates seams

▸ Layered Noise — Layer 0 is the continental mask for all later layers

▸ CLMNoise — Perlin / Simplex / Cellular / Ridged Multifractal / Domain Warp. No third-party deps.

▸ Biome Blending — vertex color weights: Grass / Rock / Snow / Beach / Underwater

▸ Spatial Biomes — temperature + humidity fields → Tundra / Boreal / Desert / Tropical

▸ Beach Layer — height band above sea level, baked into UV1.x

▸ ISM Foliage + Dense Grass — data-asset driven, no BVH spike, slope-sink clustering

▸ Hydraulic Erosion — particle droplet sim, fully async

▸ LOD + Far Terrain — per-ring resolutions plus outer low-res horizon ring

▸ Terrain Deformation — runtime spherical brushes, persistent across rebuilds

▸ Exclusion Volumes — flatten + foliage suppression in a box region

▸ Actor Spawner System — biome/slope/height-filtered, consumed-position tracking

▸ Terrain Query API — SampleTerrainAt / GetHeightAtWorldPos, sync, BP-callable

▸ Multiplayer Support — streams around all connected players

▸ Water Plane — follows player, covers full view distance

▸ Editor Preview — Preview / Clear Terrain buttons

──────────────────────────────

TECHNICAL HIGHLIGHTS

──────────────────────────────

▸ Pure C++ runtime — Blueprint-friendly exposed parameters

▸ ProceduralMeshComponent-based geometry

▸ Virtual Shadow Maps + Distance Field Shadows by default

▸ Enhanced Input throughout — Input Mapping Context drives camera and modes

▸ Spline-mesh road + sidewalk rendering with linear-Z grade

▸ One ISM per prop mesh — shared collision body, no per-instance cook hitch

▸ CLMNoise — original noise library, no external dependencies

▸ Seeded RNG per chunk — deterministic foliage, grass, variants, zone fills

▸ MPSC upload queue — worker-thread mesh uploads, frame-time bounded

▸ Cursor-raycast placement Z — matches rendered mesh, not analytic noise

▸ Listen / client / dedicated server — no extra setup

▸ Nanite compatible — ISM foliage, grass, and props

──────────────────────────────

INCLUDED

──────────────────────────────

▸ Full C++ source

▸ RTS camera pawn + player controller blueprints

▸ In game UI

▸ Pre-built landscape material with biome blending

▸ Sample road, building, and zone data assets

▸ 15 pre-composed building scene meshes — 5 residential plot scenes (house + yard + props), 5 commercial scenes (tower / shop / plaza), 5 industrial scenes (warehouse + lot + props)

▸ Bridge prop mesh set — pylon, weight distributor, lamp post, with paired materials (M_Concrete, M_Pole, M_Light)

▸ Sidewalk pavement mesh + concrete material (V1.2)

▸ DA_Road preconfigured with RoadProps entries: pylons (extend-to-ground, bridge-only), weight distribution slabs, and lamp posts (both-sides + mirrored); sidewalk fields populated

▸ Sample foliage and grass data assets

▸ Sample tree, pine, and grass meshes with materials

▸ Sample spawner data asset and demo actor

▸ Demo map

──────────────────────────────

PERFECT FOR

──────────────────────────────

City builders, real-time strategy games, 4X prototypes, tycoon and management games, survival colonies, base-building games, and any project that needs a player-shaped open world — roads, buildings, and zones — on top of streaming procedural terrain without writing road geometry, building placement, zoning, or chunk management code from scratch.

包含格式